チェンジセット 3741: as3/gunyarapaint

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

added CompatibilityCommand?

ファイル:

凡例:

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

    r3685 r3741  
    55    import org.libspark.gunyarapaint.framework.commands.BeginFillCommand; 
    66    import org.libspark.gunyarapaint.framework.commands.BezierCurveCommand; 
     7    import org.libspark.gunyarapaint.framework.commands.CompatibilityCommand; 
    78    import org.libspark.gunyarapaint.framework.commands.CompositeCommand; 
    89    import org.libspark.gunyarapaint.framework.commands.DrawCircleCommand; 
     
    7071         * 27 = MoveLayerCommand 
    7172         * 28 = BezierCurveCommand 
     73         * 29 = CompatibilityCommand 
    7274         */ 
    7375        public function CommandContext() 
    7476        { 
    7577            m_commands = new Vector.<ICommand>(MAX_COMMANDS, true); 
    76             registerCommand(new BezierCurveCommand()); 
    7778            registerCommand(new CopyLayerCommand()); 
    7879            registerCommand(new CreateLayerCommand()); 
     
    8788            registerCommand(new SwapLayerCommand()); 
    8889            registerCommand(new BeginFillCommand()); 
     90            registerCommand(new BezierCurveCommand()); 
     91            registerCommand(new CompatibilityCommand); 
    8992            registerCommand(new CompositeCommand()); 
    9093            registerCommand(new DrawCircleCommand()); 
  • as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/Painter.as

    r3719 r3741  
    3939         
    4040        /** 
     41         * レイヤー作成をアンドゥに含めるかどうかのオプション 
     42         * 
     43         */ 
     44        public static const COMPATIBILITY_UNDO_LAYER:uint = 1; 
     45         
     46        /** 
     47         * 1 ピクセル以上の大きさを持つ PixelCommand を有効にするかどうかのオプション 
     48         * 
     49         */ 
     50        public static const COMPATIBILITY_BIG_PIXEL:uint = 2; 
     51         
     52        /** 
    4153         * 反転関連で全てのレイヤーに対して適用するための定数 
    4254         *  
     
    4658        public function Painter(width:uint, height:uint, version:uint, paintEngine:PaintEngine) 
    4759        { 
     60            enableBigPixel = true; 
     61            enableUndoLayer = false; 
    4862            m_layers = new LayerBitmapCollection(width, height); 
    4963            m_drawingSprite = new Sprite(); 
     
    114128        public function pushUndoIfNeed():void 
    115129        { 
    116             if (m_version <= 21
     130            if (m_version <= 21 || enableUndoLayer
    117131                pushUndo(); 
    118132        } 
     
    549563         * 現在のお絵描きログのバージョンを返す 
    550564         *  
    551          * @return ログのバージョン 
    552565         */ 
    553566        public function get version():uint 
     
    559572         * 描写するキャンバスの幅を返す 
    560573         *  
    561          * @return 画像の幅 
    562574         */ 
    563575        public function get width():uint 
     
    569581         * 描写するキャンバスの高さを返す 
    570582         *  
    571          * @return 画像の高さ 
    572583         */ 
    573584        public function get height():uint 
     
    576587        } 
    577588         
     589        /** 
     590         * UndoStack オブジェクトを返す 
     591         *  
     592         */ 
    578593        public function get undoStack():UndoStack 
    579594        { 
     
    581596        } 
    582597         
     598        /** 
     599         * レイヤーを保存するために必要な BitmapData を生成する 
     600         *  
     601         */ 
    583602        public function get newLayerBitmapData():BitmapData 
    584603        { 
     
    616635         
    617636        /** 
     637         * ログのバージョンを設定する 
     638         *  
     639         */ 
     640        internal function setVersion(value:uint):void 
     641        { 
     642            m_version = value; 
     643        } 
     644         
     645        /** 
    618646         * UndoStack オブジェクトを設定する 
    619647         *  
    620          * @return ログのバージョン 
    621648         */ 
    622649        internal function setUndoStack(value:UndoStack):void 
     
    624651            m_undo = value; 
    625652        } 
     653         
     654        public var enableUndoLayer:Boolean; 
     655         
     656        public var enableBigPixel:Boolean; 
    626657         
    627658        // テストでLayerBitmapCollectionの差し替えを行うため敢えてprotected にしてある 
  • as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/modules/CanvasModule.as

    r3605 r3741  
    55    import org.libspark.gunyarapaint.framework.LayerBitmap; 
    66    import org.libspark.gunyarapaint.framework.Recorder; 
     7    import org.libspark.gunyarapaint.framework.commands.CompatibilityCommand; 
    78    import org.libspark.gunyarapaint.framework.commands.HorizontalMirrorCommand; 
    89    import org.libspark.gunyarapaint.framework.commands.PenCommand; 
     
    101102        } 
    102103         
     104        public function setCompatibility(type:uint, value:Boolean):void 
     105        { 
     106            m_recorder.commitCommand( 
     107                CompatibilityCommand.ID, 
     108                { 
     109                    "type": type, 
     110                    "value": value 
     111                } 
     112            ); 
     113        } 
     114         
    103115        /** 
    104116         * 始点と終点を取得する(現在は単体テスト用に使われているのみ) 
  • as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/modules/ICanvasModule.as

    r3569 r3741  
    9898         
    9999        /** 
     100         * 挙動の互換性オプションを設定する 
     101         *  
     102         * @param type 互換性名 
     103         * @param value 有効あるいは無効 
     104         */ 
     105        function setCompatibility(type:uint, value:Boolean):void; 
     106         
     107        /** 
    100108         * モジュール名を返す 
    101109         *