Show
Ignore:
Timestamp:
02/29/08 21:15:14 (6 years ago)
Author:
frsyuki
Message:

lang/actionscript/FxTerm: fixed new line behavior

Location:
lang/actionscript/FxTerm/trunk
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • lang/actionscript/FxTerm/trunk/FxTerm.as

    r7259 r7300  
    2323        private var _screen:Array;  // Array of Array of TextCell 
    2424 
    25         private var curattr:uint;  // current attribute 
     25        private var curattr:uint = 0x70;  // current attribute 
    2626 
    2727        private var cols:int = 0;       // cols by single character wide 
     
    8686                // default color setting 
    8787                ansiForegroundColors = [ 
    88                                 0xF0F0F0,  // normal 
     88                                0x000000,  // black 
    8989                                0xFF3214,  // red 
    9090                                0x00FF00,  // green 
     
    9393                                0xFF00FF,  // magenta 
    9494                                0x00FFFF,  // cyan 
    95                                 0xFFFFFF,  // white 
     95                                0xF0F0F0,  // normal 
    9696                        ]; 
    9797                ansiBackgroundColors = [ 
     
    433433                        cursorCanvas.graphics.clear(); 
    434434                        // FIXME  cursor color 
    435                         cursorCanvas.graphics.beginFill(ansiForegroundColors[0], 1.0); 
     435                        cursorCanvas.graphics.beginFill(ansiForegroundColors[7], 1.0); 
    436436                        cursorCanvas.graphics.drawRect( 
    437437                                        (this.width / cols - 0.05) * ccol + 2, 
     
    599599                var screen:Array = _screen; 
    600600                var wide:Boolean = isWideCharacter(c); 
    601                 if( wide && ccol+1 >= cols ) { 
    602                         screen[crow][ccol].wide = false; 
    603                         screen[crow][ccol].text = " "; 
    604                         cursorLineDown(); 
    605                         ccol = 0; 
     601                if( wide ) { 
     602                        if( ccol+1 >= cols ) { 
     603                                screen[crow][ccol].wide = false; 
     604                                screen[crow][ccol].text = " "; 
     605                                cursorLineDown(); 
     606                                ccol = 0; 
     607                        } 
     608                } else { 
     609                        if( ccol >= cols ) { 
     610                                cursorLineDown(); 
     611                                ccol = 0; 
     612                        } 
    606613                } 
    607614                screen[crow][ccol].text = c; 
     
    623630                        } 
    624631                        ccol++; 
    625                 } 
    626                 if( ccol >= cols ) { 
    627                         cursorLineDown(); 
    628                         ccol = 0; 
    629632                } 
    630633                cursorDirty = true; 
     
    11811184        private function isWideCharacter(c:String):Boolean 
    11821185        { 
     1186                return false; 
     1187                /* 
    11831188                characterWidthMeasure.width = 0; 
    11841189                characterWidthMeasure.text = c + "m"; 
     
    11891194                        return true; 
    11901195                } 
     1196                */ 
    11911197        } 
    11921198 
  • lang/actionscript/FxTerm/trunk/Telnet.as

    r7237 r7300  
    8181                        _socket.writeByte(value); 
    8282                } 
     83                _socket.flush(); 
    8384        } 
    8485 
     
    8687                if( !_active ) { return; } 
    8788                _socket.writeBytes(bytes, offset, length); 
     89                _socket.flush(); 
    8890                // FIXME convert IAC to IAC IAC 
    8991        } 
     
    9698        private function closeHandler(event:Event):void 
    9799        { 
    98                 _socket.close(); 
    99                 _active = false; 
     100                close(); 
    100101                dispatchEvent(event); 
    101102        } 
     
    103104        private function ioErrorHandler(event:IOErrorEvent):void 
    104105        { 
    105                 _socket.close(); 
    106                 _active = false; 
     106                close(); 
    107107                dispatchEvent(event); 
    108108        } 
     
    110110        private function securityErrorHandler(event:SecurityErrorEvent):void 
    111111        { 
    112                 _socket.close(); 
    113                 _active = false; 
     112                close(); 
    114113                dispatchEvent(event); 
    115114        } 
  • lang/actionscript/FxTerm/trunk/TelnetPanel.mxml

    r7259 r7300  
    3131                { 
    3232                        telnet.connect(host, port); 
     33                } 
     34 
     35                public function close():void 
     36                { 
     37                        telnet.close(); 
    3338                } 
    3439 
     
    106111 
    107112                        <mx:HBox label="Color" horizontalAlign="center"> 
    108                                 <mx:ColorPicker id="fgcolorNormal" showTextField="true" 
    109                                         close="{terminal.ansiForegroundNormal=fgcolorNormal.selectedColor}" 
    110                                         selectedColor="{terminal.ansiForegroundNormal}"/> 
     113                                <mx:ColorPicker id="fgcolorBlack" showTextField="true" 
     114                                        close="{terminal.ansiForegroundBlack=fgcolorBlack.selectedColor}" 
     115                                        selectedColor="{terminal.ansiForegroundBlack}"/> 
    111116                                <mx:ColorPicker id="fgcolorRed" showTextField="true" 
    112117                                        close="{terminal.ansiForegroundRed=fgcolorRed.selectedColor}" 
     
    124129                                        close="{terminal.ansiForegroundMagenta=fgcolorMagenta.selectedColor}" 
    125130                                        selectedColor="{terminal.ansiForegroundMagenta}"/> 
    126                                 <mx:ColorPicker id="fgcolorWhite" showTextField="true" 
    127                                         close="{terminal.ansiForegroundWhite=fgcolorWhite.selectedColor}" 
    128                                         selectedColor="{terminal.ansiForegroundWhite}"/> 
     131                                <mx:ColorPicker id="fgcolorCyan" showTextField="true" 
     132                                        close="{terminal.ansiForegroundCyan=fgcolorCyan.selectedColor}" 
     133                                        selectedColor="{terminal.ansiForegroundCyan}"/> 
     134                                <mx:ColorPicker id="fgcolorNormal" showTextField="true" 
     135                                        close="{terminal.ansiForegroundNormal=fgcolorNormal.selectedColor}" 
     136                                        selectedColor="{terminal.ansiForegroundNormal}"/> 
    129137                                <mx:VRule/> 
    130138                                <mx:ColorPicker id="bgcolorNormal" showTextField="true" 
     
    146154                                        close="{terminal.ansiBackgroundMagenta=bgcolorMagenta.selectedColor}" 
    147155                                        selectedColor="{terminal.ansiBackgroundMagenta}"/> 
     156                                <mx:ColorPicker id="bgcolorCyan" showTextField="true" 
     157                                        close="{terminal.ansiBackgroundCyan=bgcolorCyan.selectedColor}" 
     158                                        selectedColor="{terminal.ansiBackgroundCyan}"/> 
    148159                                <mx:ColorPicker id="bgcolorWhite" showTextField="true" 
    149160                                        close="{terminal.ansiBackgroundWhite=bgcolorWhite.selectedColor}" 
     
    151162                        </mx:HBox> 
    152163 
    153                         <mx:HBox label="Display" horizontalAlign="center"> 
     164                        <mx:HBox label="System" horizontalAlign="center"> 
    154165                                <mx:Script> 
    155166                                <![CDATA[ 
     
    171182                                        styleName="terminalControl" 
    172183                                        /> 
     184                                <mx:Spacer width="10"/> 
     185                                <mx:Button label="disconnect" click="close(); telnet.dispatchEvent(new Event(Event.CLOSE));"/> 
    173186                        </mx:HBox> 
    174187 
  • lang/actionscript/FxTerm/trunk/Terminal.as

    r7245 r7300  
    8989 
    9090        [Bindable] 
    91         public function get ansiForegroundNormal():uint 
     91        public function get ansiForegroundBlack():uint 
    9292                { return _term.getForegroundColor(0); } 
    9393        [Bindable] 
     
    107107                { return _term.getForegroundColor(5); } 
    108108        [Bindable] 
    109         public function get ansiForegroundWhite():uint 
     109        public function get ansiForegroundCyan():uint 
    110110                { return _term.getForegroundColor(6); } 
    111  
    112         public function set ansiForegroundNormal(color:uint):void 
     111        [Bindable] 
     112        public function get ansiForegroundNormal():uint 
     113                { return _term.getForegroundColor(7); } 
     114 
     115        public function set ansiForegroundBlack(color:uint):void 
    113116                { _term.setForegroundColor(0, color); changed(); } 
    114117        public function set ansiForegroundRed(color:uint):void 
     
    122125        public function set ansiForegroundMagenta(color:uint):void 
    123126                { _term.setForegroundColor(5, color); changed(); } 
    124         public function set ansiForegroundWhite(color:uint):void 
     127        public function set ansiForegroundCyan(color:uint):void 
    125128                { _term.setForegroundColor(6, color); changed(); } 
     129        public function set ansiForegroundNormal(color:uint):void 
     130                { _term.setForegroundColor(7, color); changed(); } 
    126131 
    127132        [Bindable] 
     
    144149                { return _term.getBackgroundColor(5); } 
    145150        [Bindable] 
     151        public function get ansiBackgroundCyan():uint 
     152                { return _term.getBackgroundColor(6); } 
     153        [Bindable] 
    146154        public function get ansiBackgroundWhite():uint 
    147                 { return _term.getBackgroundColor(6); } 
     155                { return _term.getBackgroundColor(7); } 
    148156 
    149157        public function set ansiBackgroundNormal(color:uint):void 
     
    159167        public function set ansiBackgroundMagenta(color:uint):void 
    160168                { _term.setBackgroundColor(5, color); changed(); } 
     169        public function set ansiBackgroundCyan(color:uint):void 
     170                { _term.setBackgroundColor(6, color); changed(); } 
    161171        public function set ansiBackgroundWhite(color:uint):void 
    162                 { _term.setBackgroundColor(6, color); changed(); } 
     172                { _term.setBackgroundColor(7, color); changed(); } 
    163173 
    164174        public function resize(cols:uint, rows:uint):void