チェンジセット 3951

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

fixed a bug that draws without mouse down from outside

ファイル:

凡例:

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

    r3949 r3951  
    178178            var layers:LayerBitmapCollection = app.layers; 
    179179            try { 
    180                 var canvasModule:ICanvasModule = app.canvasModule; 
    181180                                // 例えば非表示あるいはロック状態のあるレイヤーに対して描写を行うと例外が送出されるので、 
    182181                                // 必ず try/catch で囲む必要がある 
    183                                 canvasModule.start(x, y); 
     182                                app.canvasModule.start(x, y); 
    184183                                layers.addEventListener(MouseEvent.MOUSE_MOVE, onMouseMove); 
    185184                                layers.addEventListener(MouseEvent.MOUSE_UP, onMouseUp); 
     
    193192        private function onMouseMove(event:MouseEvent):void 
    194193        { 
     194                        var app:IApplication = IApplication(Application.application); 
     195                        // 外側から描画するときにマウスのボタンを押さずとも勝手に描画されてしまう不具合を防ぐ 
     196                        if (!event.buttonDown) { 
     197                                removeMouseEvents(app.layers); 
     198                                return; 
     199                        } 
    195200            var x:Number = event.localX; 
    196201            var y:Number = event.localY; 
    197             if (m_rect.contains(x, y)) { 
    198                 var app:IApplication = IApplication(Application.application); 
     202            if (m_rect.contains(x, y)) 
    199203                app.canvasModule.move(x, y); 
    200             } 
    201204        } 
    202205         
     
    222225        { 
    223226            var app:IApplication = IApplication(Application.application); 
    224             removeMouseEvents(app.layers); 
    225             app.canvasModule.stop(event.localX, event.localY); 
     227                        app.canvasModule.stop(event.localX, event.localY); 
    226228        } 
    227229