チェンジセット 1515

差分発生行の前後
無視リスト:
コミット日時:
2008/10/05 02:47:20 (5 年前)
コミッタ:
tasuku
ログメッセージ:

added layer visible undo log(from 0.0.6) and fixed bug that floodFill don't delete drawLayer

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/gunyarapaint/trunk/gunyarapaint/src/gplogplayer.mxml

    r1505 r1515  
    3434  /*** debug ***/ 
    3535  private var debugOekakiId:uint = 0; // 0でデバッグしない 
     36  private var debugOekakiRefId:uint = 0; 
    3637  private var debugCheckPngUrl:String; 
    3738  private var debugCheckPng:ByteArray; 
     
    117118 
    118119    if (baseImg && !baseImgInfo) { 
    119       baseImgInfo = {'width': baseImg.width, 'height': baseImg.height}; 
     120      baseImgInfo = {'width': baseImg.width, 'height': baseImg.height, 'undoBufferSize': 16}; 
    120121    } 
    121     // ●● changeImageCallbackを指定するように 
    122     _logger = GPLogger.createFromByteArray(oelog, false, null, null); 
     122    _logger = GPLogger.createFromByteArray(oelog, false, baseImg, baseImgInfo); 
    123123 
    124124    canvas.removeAllChildren(); 
     
    163163  ]]> 
    164164  </mx:Script> 
    165   <mx:Label x="313" y="11" text="ver.2008100402"/> 
     165  <mx:Label x="313" y="11" text="ver.2008100502"/> 
    166166</mx:Application> 
  • as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.mxml

    r1505 r1515  
    1212  </mx:Script> 
    1313  <mx:Canvas id="toolCanvas" x="0" y="0" width="685" height="102"> 
    14     <mx:Label id="versionLabel" x="238" y="9" text="ver.2008100402"/> 
     14    <mx:Label id="versionLabel" x="238" y="9" text="ver.2008100502"/> 
    1515    <mx:Label x="28" y="7" text="名前"/> 
    1616    <mx:TextInput id="fromTextInput" x="55" y="3" maxChars="32" fontSize="14" focusThickness="0"/> 
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLayerArray.as

    r1503 r1515  
    7373      } 
    7474    } 
    75  
    76     public function get dataForUndoBuffer():Object { 
    77       var a:Array = new Array(); 
    78       for (var i:uint = 0; i < _a.length; i++) { 
    79         a[i] = _a[i].clone(); 
    80       } 
    81       // loggerは11インスタンスしかない 
    82       return new GPLayerArray(_logger, a, _targetIndex, _width, _height); 
    83     } 
    8475     
    8576    public function set dataFromUndoBuffer(data:Object):void { 
     
    263254      for (i = 0; i < _a.length; i++) { 
    264255        _view.removeChild(_a[i].bitmap); 
    265       } 
     256      }       
    266257      _a = new Array(); 
    267258      for (i = 0; i < obj.layers.length; i++) { 
     
    332323      return _view; 
    333324    } 
     325     
     326     
    334327    // 描画用レイヤを一時的に挿入・削除する。 
    335328    public function insertDrawLayer(s:Shape, p:GPPen):void { 
     
    346339      _a[_targetIndex].blendMode = flash.display.BlendMode.NORMAL; 
    347340      _a[_targetIndex].alpha = 1; 
    348 /* 
     341  /* 
    349342      s.blendMode = p.blendMode; 
    350343      s.alpha = p.alpha; 
    351 */ 
     344  */ 
    352345      _targetSprite.addChild(_a[_targetIndex].bitmap);       
    353346      _targetSprite.addChild(s); 
    354       _view.addChildAt(_targetSprite, _targetIndex); 
     347      _view.addChildAt(_targetSprite, _targetIndex);         
    355348    } 
    356349    public function removeDrawLayer(s:Shape):void { 
     
    375368            return 0xffffff; 
    376369          } 
    377         }  
     370        } 
     371        public function get length():uint { 
     372          return _a.length; 
     373        } 
    378374  } 
    379375} 
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLogger.as

    r1503 r1515  
    126126      case '0.0.4:': 
    127127      case '0.0.5:': 
     128      case '0.0.6:': 
    128129        break; 
    129130      default: 
     
    143144      var log:ByteArray = new ByteArray(); 
    144145      log.endian = flash.utils.Endian.BIG_ENDIAN; 
    145       log.writeUTFBytes('GUNYARA_PAINT:0.0.5:'); 
     146      log.writeUTFBytes('GUNYARA_PAINT:0.0.6:'); 
    146147      log.writeShort(width); 
    147148      log.writeShort(height); 
     
    291292          _playCompleteCallback(); 
    292293          break; 
     294        } 
     295        if (_layerArray.view.numChildren != _layerArray.length) { 
     296          // check logic 
    293297        } 
    294298      } 
     
    793797      } 
    794798      _pen.floodFill(); 
     799      invokeRemoveDrawLayer(); 
    795800      trace('FLOOD_FILL'); 
    796801    } 
     
    904909      trace('LAYER_CHANGE_VISIBLE target:' + target + ' value:' + visible); 
    905910 
    906       // UndoRedoには反映しない 
     911      pushUndoBuffer(); 
    907912      invokeLayerChange(); 
    908913    }