差分発生行の前後
無視リスト:
コミット日時:
2010/03/04 02:04:49 (3 年前)
コミッタ:
hkrn
ログメッセージ:

reconstruct in progress

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/gunyarapaint/branches/gunyarapaint/compat/src/gunyarapaint.as

    r3473 r3481  
    152152        m_recorder.prepare(width, height, undoBufferSize); 
    153153        m_module = DrawModuleFactory.create(DrawModuleFactory.FREE_HAND, m_recorder); 
    154         //_logger = GPLogger.createForDraw(width, height, undoBufferSize, null, null)
     154        gpCanvasWindow.delegate = penDetailWindow.delegate = this
    155155        relocateComponents(); 
    156156    } 
     
    297297private function additionalNumberStepperHandler(evt:NumericStepperEvent):void 
    298298{ 
    299     //_logger.eventSetAdditionalNumber(evt.value)
     299    gpCanvasWindow.auxBitmap.length = evt.value
    300300} 
    301301 
    302302private function additionalBoxCheckBoxHandler(evt:Event):void 
    303303{ 
    304     //_logger.eventSetAdditionalBox(evt.target.selected)
     304    gpCanvasWindow.auxBitmap.boxVisible = evt.target.selected
    305305} 
    306306 
    307307private function additionalSkewCheckBoxHandler(evt:Event):void 
    308308{ 
    309     //_logger.eventSetAdditionalSkew(evt.target.selected)
     309    gpCanvasWindow.auxBitmap.skewVisible = evt.target.selected
    310310} 
    311311 
     
    336336        undoButton.label = 'アンドゥ (' + undoCount + ')'; 
    337337        undoButton.enabled = true; 
    338     } else { 
     338    } 
     339    else { 
    339340        undoButton.label = 'アンドゥ'; 
    340341        undoButton.enabled = false; 
     
    343344        redoButton.label = 'リドゥ (' + redoCount + ')'; 
    344345        redoButton.enabled = true; 
    345     } else { 
     346    } 
     347    else { 
    346348        redoButton.label = 'リドゥ'; 
    347349        redoButton.enabled = false; 
  • as3/gunyarapaint/branches/gunyarapaint/compat/src/gunyarapaint.mxml

    r3473 r3481  
    66    creationComplete="init()" 
    77    applicationComplete="appComplete()" 
    8     resize="relocateComponents()" 
    98    borderStyle="solid" cornerRadius="0" borderColor="#333333" 
    109    backgroundGradientAlphas="[1.0, 1.0]" backgroundGradientColors="[#cccccc, #cccccc]" 
     
    6160        <mx:ComboBox y="4" id="additionalTypeComboBox" right="66" width="70" fontSize="8" height="18" selectedIndex="0"></mx:ComboBox> 
    6261    </mx:Canvas> 
    63     <gpcontrol:PenDetailWindowControl id="penDetailWindow" x="9" y="163" layout="absolute" title="ペン" height="450" delegate="{this}" /> 
    64     <gpcontrol:GPCanvasWindowControl id="gpCanvasWindow" x="145" y="163" width="379" height="410" layout="absolute" title="キャンバス" delegate="{this}" /> 
     62    <gpcontrol:PenDetailWindowControl id="penDetailWindow" x="9" y="163" layout="absolute" title="ペン" height="450" /> 
     63    <gpcontrol:GPCanvasWindowControl id="gpCanvasWindow" x="145" y="163" width="379" height="410" layout="absolute" title="キャンバス" /> 
    6564    <gpcontrol:GPLayerWindowControl x="532" y="163" layout="absolute" title="レイヤー" id="gpLayerWindow" height="312" /> 
    6665    <mx:Label id="versionLabel" text="ver.2009090902" right="10" bottom="10" alpha="0.5"/> 
  • as3/gunyarapaint/branches/gunyarapaint/compat/src/org/libspark/gunyarapaint/controls/GPCanvas.as

    r3470 r3481  
    11package org.libspark.gunyarapaint.controls 
    22{ 
    3     import flash.display.Bitmap; 
    4     import flash.display.BitmapData; 
    5     import flash.display.Shape; 
    63    import flash.display.Sprite; 
    74    import flash.events.MouseEvent; 
     
    96     
    107    import mx.core.UIComponent; 
    11     import mx.managers.CursorManager; 
    128     
    13     import org.libspark.gunyarapaint.entities.GPLogger; 
     9    import org.libspark.gunyarapaint.controls.IDelegate; 
     10    import org.libspark.gunyarapaint.framework.AuxBitmap; 
     11    import org.libspark.gunyarapaint.framework.TransparentBitmap; 
    1412     
    15     public class GPCanvas extends UIComponent 
     13    internal class GPCanvas extends UIComponent 
    1614    { 
    17         private var baseBitmap:Bitmap; // ベース画像(しましま) (0) 
    18         // _logger.layerArray.view レイヤ統合画像 (1) 
    19         private var additionalBox:Shape; // 縦横補助線 (2) 
    20         private var additionalSkew:Shape; // 斜め補助線 (3) 
    21         private var additionalNumber:uint = 4; // 補助線の分割数 
     15        private var m_aux:AuxBitmap; 
     16        private var m_delegate:IDelegate; 
    2217         
    23         private var _logger:GPLogger; // 描画コマンド履歴 
    24          
    25         public function GPCanvas(logger:GPLogger) 
     18        public function GPCanvas(delegate:IDelegate) 
    2619        { 
    27             _logger = logger; 
    28             var width:uint = logger.canvasWidth; 
    29             var height:uint = logger.canvasHeight; 
     20            var rect:Rectangle = new Rectangle(0, 0, delegate.recorder.width, delegate.recorder.height); 
     21            var transparent:TransparentBitmap = new TransparentBitmap(rect); 
     22            m_aux = new AuxBitmap(rect); 
     23            m_delegate = delegate; 
    3024             
    31             // 透明時に表示されるbitmap 
    32             baseBitmap = new Bitmap(); 
    33             baseBitmap.bitmapData = new BitmapData(width, height, false); 
    34             for (var i:uint = 0; i < width; i++) { 
    35                 for (var j:uint = 0; j < height; j++) { 
    36                     baseBitmap.bitmapData.setPixel(i, j, ((i ^ j) & 1) ? 0x999999 : 0xffffff); 
    37                 } 
    38             } 
    39             addChildAt(baseBitmap, 0); 
     25            addChild(transparent); 
     26            addChild(delegate.recorder.painter.view); 
     27            addChild(m_aux); 
    4028             
    41             // レイヤ画像群 
    42             addChildAt(_logger.layerArray.view, 1); 
    43              
    44             // 補助線用shape 
    45             additionalBox = new Shape(); 
    46             additionalSkew = new Shape(); 
    47             changeAdditional(); 
    48             additionalBox.visible = false; 
    49             additionalSkew.visible = false; 
    50             addChildAt(additionalBox, 2); 
    51             addChildAt(additionalSkew, 3); 
    52              
    53             this.mouseEnabled = true; 
    54             this.mouseChildren = false; 
    55              
    56             this.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown); 
    57             this.addEventListener(MouseEvent.MOUSE_MOVE, mouseMove); 
    58             this.addEventListener(MouseEvent.MOUSE_UP, mouseUp); 
    59             this.addEventListener(MouseEvent.MOUSE_OUT, mouseOut); 
     29            addEventListener(MouseEvent.MOUSE_DOWN, mouseDownHandler); 
     30            addEventListener(MouseEvent.MOUSE_UP, mouseUpHandler); 
     31            addEventListener(MouseEvent.MOUSE_OUT, mouseOutHandler); 
    6032             
    6133            super(); 
    6234        } 
    6335         
    64         // 20090906-haku2 upd start px単位指定対応、オブジェクト数削減 
    65         private function changeAdditional():void { 
    66             var maxWidth:Number = _logger.canvasWidth; 
    67             var maxHeight:Number = _logger.canvasHeight; 
    68             var addWidth:Number = maxWidth / additionalNumber; 
    69             var addHeight:Number = maxHeight / additionalNumber; 
    70             additionalBox.graphics.clear(); 
    71             additionalSkew.graphics.clear(); 
    72             additionalBox.graphics.lineStyle(0, _logger.additionalColor, _logger.additionalAlpha); 
    73             additionalSkew.graphics.lineStyle(0, _logger.additionalColor, _logger.additionalAlpha); 
    74             additionalBox.graphics.drawRect(0, 0, maxWidth, maxHeight); 
    75             // 補助線種類判定 
    76             if(_logger.additionalType == 0) { 
    77                 // 分割 
    78                 for (var i:uint = 0; i < additionalNumber; i++) { 
    79                     if(i > 0){ 
    80                         additionalBox.graphics.moveTo(i * addWidth, 0); 
    81                         additionalBox.graphics.lineTo(i * addWidth, maxHeight); 
    82                         additionalBox.graphics.moveTo(0, i * addHeight); 
    83                         additionalBox.graphics.lineTo(maxWidth, i * addHeight); 
    84                         additionalSkew.graphics.moveTo(i * addWidth, 0); 
    85                         additionalSkew.graphics.lineTo(0, i * addHeight); 
    86                         additionalSkew.graphics.moveTo(maxWidth - (i * addWidth), 0); 
    87                         additionalSkew.graphics.lineTo(maxWidth, i * addHeight); 
    88                     } 
    89                     additionalSkew.graphics.moveTo(maxWidth - ((i + 1) * addWidth), maxHeight); 
    90                     additionalSkew.graphics.lineTo(maxWidth, maxHeight - ((i + 1) * addHeight)); 
    91                     additionalSkew.graphics.moveTo((i + 1) * addWidth, maxHeight); 
    92                     additionalSkew.graphics.lineTo(0, maxHeight - ((i + 1) * addHeight)); 
    93                 } 
    94             } else { 
    95                 // px単位 
    96                 for (var i2:uint = additionalNumber; i2 < maxWidth; i2 += additionalNumber) { 
    97                     additionalBox.graphics.moveTo(i2, 0); 
    98                     additionalBox.graphics.lineTo(i2, maxHeight); 
    99                 } 
    100                 for (var j2:uint = additionalNumber; j2 < maxHeight; j2 += additionalNumber) { 
    101                     additionalBox.graphics.moveTo(0, j2); 
    102                     additionalBox.graphics.lineTo(maxWidth, j2); 
    103                 } 
    104                 var max:uint = (maxWidth > maxHeight) ? maxWidth : maxHeight; 
    105                 max += additionalNumber - (max % additionalNumber); 
    106                 for (var k2:uint = additionalNumber; k2 <= max; k2 += additionalNumber) { 
    107                     additionalSkew.graphics.moveTo(k2 - additionalNumber, 0); 
    108                     additionalSkew.graphics.lineTo(0, k2 - additionalNumber); 
    109                     additionalSkew.graphics.moveTo(max - (k2 - additionalNumber), 0); 
    110                     additionalSkew.graphics.lineTo(max, k2 - additionalNumber); 
    111                     additionalSkew.graphics.moveTo(max, max - k2); 
    112                     additionalSkew.graphics.lineTo(max - k2, max); 
    113                     additionalSkew.graphics.moveTo(0, max - k2); 
    114                     additionalSkew.graphics.lineTo(k2, max); 
    115                 } 
    116                 var clip:Rectangle = new Rectangle(0, 0, maxWidth, maxHeight); 
    117                 additionalSkew.scrollRect = clip; 
    118             } 
    119         } 
    120         // 20090906-haku2 upd end 
    121          
    122         // 描画関係のフラグ 
    123         public var isMoveTo:Boolean = false; 
    124         public var isDrawnLine:Boolean = false; 
    125          
    126         private function isInCanvas(evt:MouseEvent):Boolean { 
    127             return (evt.localX >= 0 && evt.localY >= 0 && 
    128                 evt.localX < _logger.canvasWidth && evt.localY < _logger.canvasHeight); 
     36        public function get auxBitmap():AuxBitmap 
     37        { 
     38            return m_aux; 
    12939        } 
    13040         
    131         private var isCursorChanged:Boolean = false; // マウスカーソルが変更されているかどうか。多重変更防止     
    132         public function setCursor(icon:Class):void { 
    133             if (icon && !isCursorChanged) { 
    134                 CursorManager.setCursor(icon); 
    135                 isCursorChanged = true; 
    136             } else { 
    137                 CursorManager.removeCursor(CursorManager.currentCursorID); 
    138                 isCursorChanged = false; 
    139             } 
     41        private function mouseDownHandler(evt:MouseEvent):void 
     42        { 
     43            m_delegate.module.start(evt.localX, evt.localY); 
     44            m_delegate.recorder.painter.view.addEventListener(MouseEvent.MOUSE_MOVE, mouseMoveHandler); 
    14045        } 
    14146         
    142         public function setAdditionalNumber(num:uint):void { 
    143             additionalNumber = num; 
    144             changeAdditional(); 
     47        private function mouseMoveHandler(evt:MouseEvent):void 
     48        { 
     49            m_delegate.module.move(evt.localX, evt.localY); 
    14550        } 
    146         public function setAdditionalBox(visible:Boolean):void { 
    147             additionalBox.visible = visible; 
     51         
     52        private function mouseUpHandler(evt:MouseEvent):void 
     53        { 
     54            m_delegate.recorder.painter.view.removeEventListener(MouseEvent.MOUSE_MOVE,mouseMoveHandler); 
     55            m_delegate.module.stop(evt.localX, evt.localY); 
    14856        } 
    149         public function setAdditionalSkew(visible:Boolean):void { 
    150             additionalSkew.visible = visible; 
    151         } 
    152         // 20090906-haku2 ins start 
    153         public function refreshAdditional():void { 
    154             changeAdditional(); 
    155         } 
    156         // 20090906-haku2 ins end 
    15757         
    158         /** new functions **/ 
    159         public function mouseDown(evt:MouseEvent):void { 
    160             if (isInCanvas(evt)) { 
    161                 _logger.mouseDown(evt); 
    162             } 
    163         } 
    164         public function mouseMove(evt:MouseEvent):void { 
    165             if (isInCanvas(evt)) { 
    166                 _logger.mouseMove(evt); 
    167             } 
    168         } 
    169         public function mouseUp(evt:MouseEvent):void { 
    170             if (isInCanvas(evt)) { 
    171                 _logger.mouseUp(evt); 
    172             } 
    173         } 
    174         public function mouseOut(evt:MouseEvent):void { 
    175             _logger.mouseOut(evt); 
     58        private function mouseOutHandler(evt:MouseEvent):void 
     59        { 
     60            m_delegate.module.interrupt(evt.localX, evt.localY); 
    17661        } 
    17762    } 
  • as3/gunyarapaint/branches/gunyarapaint/compat/src/org/libspark/gunyarapaint/controls/GPCanvasWindowControl.as

    r3473 r3481  
    11package org.libspark.gunyarapaint.controls 
    22{ 
     3    import flash.display.Sprite; 
    34    import flash.events.MouseEvent; 
    45    import flash.geom.Matrix; 
     
    1112    import mx.controls.scrollClasses.ScrollBar; 
    1213    import mx.core.Container; 
     14    import mx.core.UIComponent; 
    1315    import mx.events.MoveEvent; 
    1416    import mx.events.ResizeEvent; 
    1517    import mx.events.ScrollEvent; 
    1618     
     19    import org.libspark.gunyarapaint.controls.GPCanvas; 
     20    import org.libspark.gunyarapaint.framework.AuxBitmap; 
    1721    import org.libspark.gunyarapaint.framework.Pen; 
    18     import org.libspark.gunyarapaint.controls.IDelegate
     22    import org.libspark.gunyarapaint.framework.TransparentBitmap
    1923    import org.libspark.gunyarapaint.utils.ComponentResizer; 
    2024     
     
    3135        private var scrollDragStartPoint:Point; 
    3236         
     37        private var m_canvas:GPCanvas; 
    3338        private var m_delegate:IDelegate; 
    3439         
     
    3843             
    3944            backgroundColor = 0x000000; 
    40              
    41             // setStyle('backgroundAlpha', 0); 
    42             horizontalScrollPolicy = 'off'; 
    43             verticalScrollPolicy = 'off'; 
    44              
     45            horizontalScrollPolicy = "off"; 
     46            verticalScrollPolicy = "off"; 
    4547            addEventListener(ResizeEvent.RESIZE, resizeHandler); 
    46             addEventListener(MoveEvent.MOVE, moveHandler); 
    47              
    4848            ComponentResizer.addResize(this, new Point(100, 100)); 
    4949            _preDegree = 0; 
    5050        } 
    51          
    5251         
    5352        public function zoomCanvas(m:Number):void 
     
    9291        } 
    9392         
     93        public function get auxBitmap():AuxBitmap 
     94        { 
     95            return m_canvas.auxBitmap; 
     96        } 
     97         
    9498        public function set statusText(value:String):void 
    9599        { 
     
    98102         
    99103        public function set delegate(value:IDelegate):void 
    100         {     
     104        { 
    101105            _contentContainer = new Container(); 
    102             _contentContainer.setStyle('borderStyle', 'none'); 
    103             _contentContainer.horizontalScrollPolicy = 'off'
    104             _contentContainer.verticalScrollPolicy = 'off'
     106            _contentContainer.setStyle("borderStyle", "none"); 
     107            _contentContainer.horizontalScrollPolicy = "off"
     108            _contentContainer.verticalScrollPolicy = "off"
    105109            _contentContainer.percentWidth = 100; 
    106110            _contentContainer.percentHeight = 100; 
    107111            addChild(_contentContainer); 
    108              
    109112            validateNow(); // percentWidth/Height -> width/heightに更新 
    110113             
     
    119122             
    120123            _canvasContainer = new Container(); 
     124            _canvasContainer.mouseEnabled = false; 
    121125            _canvasContainer.width = _contentContainer.width - vScrollBar.width; 
    122126            _canvasContainer.height = _contentContainer.height - hScrollBar.height; 
    123             _canvasContainer.setStyle('borderStyle', 'none'); 
    124             _canvasContainer.horizontalScrollPolicy = 'off'; 
    125             _canvasContainer.verticalScrollPolicy = 'off'; 
    126              
    127             _canvasContainer.addChild(value.recorder.painter.view); 
     127            _canvasContainer.setStyle("borderStyle", "none"); 
     128            _canvasContainer.horizontalScrollPolicy = "off"; 
     129            _canvasContainer.verticalScrollPolicy = "off"; 
     130             
     131            canvasX = canvasY = 0; 
     132            _canvasScale = 1; 
     133             
     134            m_canvas = new GPCanvas(value); 
     135            _canvasContainer.addChild(m_canvas); 
     136             
    128137            _contentContainer.addChild(_canvasContainer); 
    129138            _contentContainer.addChild(hScrollBar); 
    130139            _contentContainer.addChild(vScrollBar); 
    131              
    132             _canvasContainer.mouseEnabled = false; 
    133140            _contentContainer.addEventListener(MouseEvent.CLICK, contentContainerClickHandler); 
    134141             
    135             /* 
    136             mouseChildren = false; 
    137             addEventListener(MouseEvent.MOUSE_DOWN, mouseDown); 
    138             addEventListener(MouseEvent.MOUSE_MOVE, mouseMove); 
    139             addEventListener(MouseEvent.MOUSE_UP, mouseUp); 
    140             addEventListener(MouseEvent.MOUSE_OUT, mouseOut); 
    141             */ 
    142142            m_delegate = value; 
    143              
    144             canvasX = canvasY = 0; 
    145             _canvasScale = 1; 
    146143            resizeContainer(); 
    147144            moveCanvas(); 
     
    150147        private function moveCanvas():void 
    151148        { 
    152             var maxX:Number = 0 * _canvasScale - _canvasContainer.width; 
    153             var maxY:Number = 0 * _canvasScale - _canvasContainer.height; 
    154             canvasX = Math.floor(canvasX); 
    155             canvasY = Math.floor(canvasY); 
    156             if (maxX <= 0) 
    157                 maxX = 0; 
    158             if (maxY <= 0) 
    159                 maxY = 0; 
    160             if (canvasX < 0) 
    161                 canvasX = 0; 
    162             if (canvasY < 0) 
    163                 canvasY = 0; 
    164             if (canvasX > maxX) 
    165                 canvasX = maxX; 
    166             if (canvasY > maxY) 
    167                 canvasY = maxY; 
    168             hScrollBar.scrollPosition = canvasX; 
    169             vScrollBar.scrollPosition = canvasY; 
    170             hScrollBar.lineScrollSize = _canvasScale; 
    171             vScrollBar.lineScrollSize = _canvasScale; 
    172             hScrollBar.setScrollProperties(_canvasContainer.width, 0, maxX, 0); 
    173             vScrollBar.setScrollProperties(_canvasContainer.height, 0, maxY, 0); 
    174             //_logger.eventCanvasMove(-canvasX, -canvasY); 
     149            if (m_delegate != null) { 
     150                var maxX:Number = m_delegate.recorder.width * _canvasScale - _canvasContainer.width; 
     151                var maxY:Number = m_delegate.recorder.height * _canvasScale - _canvasContainer.height; 
     152                canvasX = Math.floor(canvasX); 
     153                canvasY = Math.floor(canvasY); 
     154                if (maxX <= 0) 
     155                    maxX = 0; 
     156                if (maxY <= 0) 
     157                    maxY = 0; 
     158                if (canvasX < 0) 
     159                    canvasX = 0; 
     160                if (canvasY < 0) 
     161                    canvasY = 0; 
     162                if (canvasX > maxX) 
     163                    canvasX = maxX; 
     164                if (canvasY > maxY) 
     165                    canvasY = maxY; 
     166                hScrollBar.scrollPosition = canvasX; 
     167                vScrollBar.scrollPosition = canvasY; 
     168                hScrollBar.lineScrollSize = _canvasScale; 
     169                vScrollBar.lineScrollSize = _canvasScale; 
     170                hScrollBar.setScrollProperties(_canvasContainer.width, 0, maxX, 0); 
     171                vScrollBar.setScrollProperties(_canvasContainer.height, 0, maxY, 0); 
     172                m_canvas.move(-canvasX, -canvasY); 
     173            } 
    175174        } 
    176175         
     
    189188        private function set backgroundColor(c:uint):void 
    190189        { 
    191             setStyle('backgroundColor', c);       
     190            setStyle("backgroundColor", c);       
    192191        } 
    193192         
     
    196195            if (e.eventPhase == flash.events.EventPhase.AT_TARGET) { 
    197196                var pen:Pen = m_delegate.recorder.painter.pen; 
    198                 backgroundColor = pen.color; 
    199                 //_logger.additionalColor = backgroundColor; 
    200                 //_logger.additionalAlpha = m_delegate.module.alpha; 
    201                 //_logger.eventRefreshAdditional(); 
     197                backgroundColor = auxBitmap.lineColor = pen.color; 
     198                auxBitmap.lineAlpha = pen.alpha; 
     199                auxBitmap.validate(); 
    202200            } 
    203201        } 
     
    205203        private function resizeContainer():void 
    206204        { 
    207             // 仮にサイズを狭める 
    208             _canvasContainer.width = _canvasContainer.height =  
    209                 hScrollBar.width = vScrollBar.height = 0; 
    210              
    211             validateNow(); // _contentContainerのサイズを更新 
    212              
    213             // それを使って再設定 
    214             var clientWidth:Number = _contentContainer.width - vScrollBar.width; 
    215             var clientHeight:Number = _contentContainer.height - hScrollBar.height; 
    216              
    217             hScrollBar.width = clientWidth; 
    218             vScrollBar.height = clientHeight; 
    219              
    220             var canvasWidth:uint = m_delegate.recorder.width; 
    221             var canvasHeight:uint = m_delegate.recorder.height; 
    222             // TODO: minでいいやん 
    223             if (canvasWidth * _canvasScale < clientWidth) 
    224                 _canvasContainer.width = canvasWidth * _canvasScale; 
    225             else 
    226                 _canvasContainer.width = clientWidth; 
    227              
    228             if (canvasHeight * _canvasScale < clientHeight) 
    229                 _canvasContainer.height = canvasHeight * _canvasScale; 
    230             else 
    231                 _canvasContainer.height = clientHeight;           
    232              
    233             hScrollBar.move(0, clientHeight); 
    234             vScrollBar.move(clientWidth, 0); 
    235              
    236             _canvasContainer.move((clientWidth - _canvasContainer.width) / 2, 
    237                 (clientHeight - _canvasContainer.height) / 2); 
     205            if (m_delegate != null) { 
     206                // 仮にサイズを狭める 
     207                _canvasContainer.width = _canvasContainer.height =  
     208                    hScrollBar.width = vScrollBar.height = 0; 
     209                 
     210                validateNow(); // _contentContainerのサイズを更新 
     211                 
     212                // それを使って再設定 
     213                var clientWidth:Number = _contentContainer.width - vScrollBar.width; 
     214                var clientHeight:Number = _contentContainer.height - hScrollBar.height; 
     215                 
     216                hScrollBar.width = clientWidth; 
     217                vScrollBar.height = clientHeight; 
     218                 
     219                var canvasWidth:uint = m_delegate.recorder.width; 
     220                var canvasHeight:uint = m_delegate.recorder.height; 
     221                // TODO: minでいいやん 
     222                if (canvasWidth * _canvasScale < clientWidth) 
     223                    _canvasContainer.width = canvasWidth * _canvasScale; 
     224                else 
     225                    _canvasContainer.width = clientWidth; 
     226                 
     227                if (canvasHeight * _canvasScale < clientHeight) 
     228                    _canvasContainer.height = canvasHeight * _canvasScale; 
     229                else 
     230                    _canvasContainer.height = clientHeight;           
     231                 
     232                hScrollBar.move(0, clientHeight); 
     233                vScrollBar.move(clientWidth, 0); 
     234                 
     235                _canvasContainer.move((clientWidth - _canvasContainer.width) / 2, 
     236                    (clientHeight - _canvasContainer.height) / 2); 
     237            } 
    238238        } 
    239239         
     
    242242            resizeContainer(); 
    243243            moveCanvas(); 
    244         } 
    245          
    246         private function moveHandler(evt:MoveEvent):void 
    247         { 
    248             // 整数化して、shape->bitmapのズレをなくす 
    249             x = int(x); 
    250             y = int(y); 
    251244        } 
    252245    } 
  • as3/gunyarapaint/branches/gunyarapaint/compat/src/org/libspark/gunyarapaint/controls/GPLayerWindowControlScript.as

    r3473 r3481  
    3737    blendModeComboBox.dataProvider = value.supportedBlendModes; 
    3838    enabled = true; 
    39     changeLayer(); 
     39    change(); 
    4040    var painter:Painter = value.recorder.painter; 
    4141    var layers:LayerBitmapCollection = painter.layers;