チェンジセット 1150
- コミット日時:
- 2008/08/27 18:20:24 (5 年前)
- ファイル:
-
- as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as (更新) (1 diff)
- as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint/controls/GPCanvas.as (更新) (4 diffs)
- as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint/controls/GPLayerWindowControlScript.as (更新) (5 diffs)
- as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint/entities/GPLayerArray.as (更新) (2 diffs)
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as
r1149 r1150 150 150 gpCanvas.addEventListener('changeUndoRedo', changeUndoRedoHandler); 151 151 gpCanvas.rotation = 0; 152 gpLayerWindow. layers = gpCanvas.layers;152 gpLayerWindow.canvas = gpCanvas; 153 153 154 154 toolCanvas.x = (this.width - toolCanvas.width) / 2; as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint/controls/GPCanvas.as
r1149 r1150 24 24 25 25 private var baseSprite:Sprite; // イベント取得・ベース画像 (0) 26 private var combined Bitmap:Bitmap; //レイヤーを統合した表示用ビットマップ(1)26 private var combinedLowerBitmap:Bitmap; // 描画レイヤーより下のレイヤーを統合した表示用ビットマップ(1) 27 27 private var lineShape:Shape; // 描画用 (2) 28 private var additionalBox:Shape; // 縦横補助線 (3) 29 private var additionalSkew:Shape; // 斜め補助線 (4) 30 private var previewShape:Shape; // プレビュー用 (5) 28 private var combinedUpperBitmap:Bitmap; // 描画レイヤーより下のレイヤーを統合した表示用ビットマップ(3) 29 private var additionalBox:Shape; // 縦横補助線 (4) 30 private var additionalSkew:Shape; // 斜め補助線 (5) 31 private var previewShape:Shape; // プレビュー用 (6) 31 32 32 33 private var additionalNumber:uint = 4; // 補助線の分割数 … … 70 71 71 72 // レイヤ統合して、そのbitmapDataを保持するbitmapを作る 72 combinedBitmap = new Bitmap(); 73 combinedLowerBitmap = new Bitmap(); 74 combinedUpperBitmap = new Bitmap(); 73 75 combineLayers(); 74 addChildAt(combinedBitmap, 1); 76 77 addChildAt(combinedLowerBitmap, 1); 75 78 76 79 // 描画用shape … … 78 81 addChildAt(lineShape, 2); 79 82 83 // 上のレイヤ 84 addChildAt(combinedUpperBitmap, 3); 85 80 86 // 補助線用shape 81 87 additionalBox = new Shape(); … … 112 118 } 113 119 114 private function combineLayers():void { 115 combinedBitmap.bitmapData = _layers.combinedBitmapData; 120 public function combineLayers():void { 121 var a:Array = _layers.combinedDrawBitmapData; 122 combinedLowerBitmap.bitmapData = a[0]; 123 combinedUpperBitmap.bitmapData = a[1]; 116 124 } 117 125 as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint/controls/GPLayerWindowControlScript.as
r1149 r1150 1 import gunyarapaint.controls.GPCanvas; 1 2 import gunyarapaint.entities.GPLayerArray; 2 3 … … 10 11 public static const LAYER_ACTION_SWAP:uint = 5; 11 12 12 13 private var _canvas:GPCanvas; 13 14 private var _layers:GPLayerArray; 14 15 … … 34 35 } 35 36 36 // GPCanvasで作ったlayersをもらってくる 37 public function set layers(l:GPLayerArray):void { 38 _layers = l; 37 // GPCanvasをもらい、GPCanvasとそれが保持するGPLayersをローカル保存 38 public function set canvas(can:GPCanvas):void { 39 _canvas = can; 40 _layers = can.layers; 39 41 this.enabled = true; 40 42 update(); 43 layerDataGrid.selectedIndex = 0; 41 44 /* 42 45 [ … … 48 51 private function itemFocusHandler(evt:mx.events.DataGridEvent):void { 49 52 _layers.targetIndex = evt.currentTarget.selectedItem.index; 53 _canvas.combineLayers(); 50 54 } 51 55 52 56 private function update():void { 53 layerDataGrid.dataProvider = _layers.layersForDaraProvider; 57 layerDataGrid.dataProvider = _layers.layersForDaraProvider; 58 _canvas.combineLayers(); 54 59 } 55 60 … … 57 62 _layers.pushBlank(); 58 63 update(); 64 layerDataGrid.selectedIndex = 0; 59 65 } 60 66 as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint/entities/GPLayerArray.as
r1149 r1150 86 86 } 87 87 88 // 現在描画しているレイヤ以下のレイヤ群と、それを超えるレイヤ群とをそれぞれ返す。 89 // 描画用graphicの上と下に重ねる 90 public function get combinedDrawBitmapData():Array { 91 var i:uint; 92 var b1:BitmapData = new BitmapData(_width, _height, true, 0x0000000); 93 var b2:BitmapData = new BitmapData(_width, _height, true, 0x0000000); 94 for (i = 0; i <= _targetIndex; i++) { 95 _a[i].drawDest(b1); 96 } 97 for (; i < _a.length; i++) { 98 _a[i].drawDest(b2); 99 } 100 return [b1, b2]; 101 } 102 88 103 // レイヤ統合したbitmapDataを出す。 89 104 public function get combinedBitmapData():BitmapData { 90 var b:BitmapData = new BitmapData(_width, _height );105 var b:BitmapData = new BitmapData(_width, _height, true, 0x00000000); 91 106 for (var i:String in _a) { 92 107 _a[i].drawDest(b); … … 151 166 public function get layersForDaraProvider():Array { 152 167 var ret:Array = new Array(); 153 for (var i: String in _a) {168 for (var i:int = _a.length - 1; i >= 0; i--) { 154 169 ret.push({ 155 170 index: _a[i].index,

