差分発生行の前後
無視リスト:
コミット日時:
2008/09/09 00:03:48 (5 年前)
コミッタ:
tasuku
ログメッセージ:

log layer visiblity

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/GPCanvas.as

    r1179 r1296  
    1212  import flash.utils.ByteArray; 
    1313   
     14  import mx.core.UIComponent; 
     15  import mx.managers.CursorManager; 
     16   
    1417  import org.libspark.gunyarapaint.entities.GPLayerArray; 
    1518  import org.libspark.gunyarapaint.entities.GPLogger; 
    1619  import org.libspark.gunyarapaint.entities.GPPen; 
    1720  import org.libspark.gunyarapaint.entities.GPUndoBuffer; 
    18    
    19   import mx.core.UIComponent; 
    20   import mx.managers.CursorManager; 
    2121   
    2222  public class GPCanvas extends UIComponent 
     
    444444      _layers.targetIndex = i; 
    445445    } 
    446     public function layerChangeVisible(v:Boolean):void { 
    447       // FIXME: 
     446    public function layerChangeVisible(target:uint, v:Boolean):void { 
     447      _layers.changeVisible(target, v); 
    448448    } 
    449449         
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLayer.as

    r1179 r1296  
    77  import flash.geom.Matrix; 
    88  import flash.geom.Rectangle; 
     9   
     10  import org.libspark.gunyarapaint.controls.GPCanvas; 
    911 
    1012  // BitmapDataの継承はしない 
     
    2527 
    2628    private var _colorTransform:ColorTransform; // for layer alpha 
     29     
     30    private var _canvas:GPCanvas; 
    2731 
    28     public function GPLayer(source:BitmapData, width:uint, height:uint, index:uint, 
    29                             show:Boolean = true, lock:Boolean = false, mask:Boolean = false, 
    30                             blendMode:String = 'normal' /* flash.display.BlendMode.NORMAL*/, 
    31                             alpha:Number = 1.0, 
    32                             name:String = null) { 
     32    public function GPLayer(canvas:GPCanvas, 
     33                              source:BitmapData, width:uint, height:uint, index:uint, 
     34                              show:Boolean = true, lock:Boolean = false, mask:Boolean = false, 
     35                              blendMode:String = 'normal' /* flash.display.BlendMode.NORMAL*/, 
     36                              alpha:Number = 1.0, 
     37                              name:String = null) { 
    3338      if (source) { 
    3439        _bitmapData = source.clone(); 
     
    3641        _bitmapData = new BitmapData(width, height, true, 0x00000000); 
    3742      } 
     43      _canvas = canvas; 
    3844      _width = width; 
    3945      _height = height; 
     
    5460 
    5561    public function clone():GPLayer { 
    56       return new GPLayer(_bitmapData, _width, _height, _index, _show, _lock, _mask, _blendMode, _alpha, _name); 
     62      return new GPLayer(_canvas, _bitmapData, _width, _height, _index, _show, _lock, _mask, _blendMode, _alpha, _name); 
    5763    } 
    5864 
     
    8187    public function get show():Boolean { 
    8288      return _show; 
     89    } 
     90    public function set show(b:Boolean):void { 
     91      _show = b; 
     92      _bitmap.visible = _show; 
     93      _canvas.logWrite(['layerChangeVisible', _index, _show]); 
    8394    } 
    8495    public function set name(s:String):void { 
     
    120131    } 
    121132    public function set showCheck(s:String):void { 
    122       _show = (s == 'on'); 
    123       _bitmap.visible = _show; 
     133      show = (s == 'on'); 
    124134    } 
    125135    public function get bitmapData():BitmapData { 
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLayerArray.as

    r1179 r1296  
    1010  import flash.geom.Rectangle; 
    1111   
     12  import mx.controls.Alert; 
     13   
    1214  import org.libspark.gunyarapaint.controls.GPCanvas; 
    13    
    14   import mx.controls.Alert; 
    1515   
    1616  // Arrayの継承はしない, IListを実装すればdataProviderに直指定できるけど、めんどい。 
     
    6565        return; 
    6666      } 
    67       var l:GPLayer = new GPLayer(b, _width, _height, _a.length); 
     67      var l:GPLayer = new GPLayer(_canvas, b, _width, _height, _a.length); 
    6868      this.targetIndex = _a.push(l) - 1; 
    6969      _view.addChild(l.bitmap); 
     
    7575      }       
    7676      _canvas.logWrite(['layerNew']); 
    77       var l:GPLayer = new GPLayer(null, _width, _height, _a.length); 
     77      var l:GPLayer = new GPLayer(_canvas, null, _width, _height, _a.length); 
    7878      _a.splice(_targetIndex + 1, 0, l); 
    7979      this.targetIndex = _targetIndex + 1; 
    8080      _view.addChildAt(l.bitmap, _targetIndex); 
    8181      reindex(); 
     82    } 
     83     
     84    public function changeVisible(target:uint, b:Boolean):void { 
     85      _a[target].show = b; 
    8286    } 
    8387     
     
    199203 
    200204    public function set targetIndex(i:uint):void { 
    201       _targetIndex = i; 
    202       _canvas.logWrite(['layerChangeTarget', i]); 
     205      if (_targetIndex != i) { 
     206        _targetIndex = i; 
     207        _canvas.logWrite(['layerChangeTarget', i]);         
     208      } 
    203209    } 
    204210     
  • as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLogger.as

    r1179 r1296  
    229229      case 'layerChangeVisible': 
    230230        writeByte(ACTION_LAYER_CHANGE_VISIBLE); 
    231         writeBoolean(info[1]); 
     231        writeByte(info[1]); 
     232        writeBoolean(info[2]); 
    232233        break; 
    233234      default: 
     
    428429            break; 
    429430          case ACTION_LAYER_CHANGE_VISIBLE: 
    430             trace('LAYER_CHANGE_VISIBLE value:' + a[1]); 
    431             _playCanvas.layerChangeVisible(a[1]); 
     431            trace('LAYER_CHANGE_VISIBLE target:' + a[1] + ' value:' + a[2]); 
     432            _playCanvas.layerChangeVisible(a[1], a[2]); 
    432433            break; 
    433434          default: 
     
    531532          return [ACTION_LAYER_CHANGE_TARGET, obj]; 
    532533        case ACTION_LAYER_CHANGE_VISIBLE: 
    533           obj = readBoolean(); 
    534           return [ACTION_LAYER_CHANGE_VISIBLE, obj]; 
     534          obj = readByte(); 
     535          obj2 = readBoolean(); 
     536          return [ACTION_LAYER_CHANGE_VISIBLE, obj, obj2]; 
    535537        default: 
    536538          if (byte & 0x80) {