チェンジセット 3844
- コミット日時:
- 2010/04/24 19:00:04 (3 年前)
- ファイル:
-
- as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/LayerBitmapCollection.as (更新) (1 diff)
- as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/Painter.as (更新) (1 diff)
- as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/UndoStack.as (更新) (2 diffs)
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/LayerBitmapCollection.as
r3834 r3844 492 492 493 493 /** 494 * レイヤーを保存するために必要な BitmapData を生成する 495 * 496 */ 497 public function get newLayerBitmapData():BitmapData 498 { 499 return new BitmapData(width, height * count, true, 0x0); 500 } 501 502 /** 494 503 * スプライトオブジェクトを返す 495 504 * as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/Painter.as
r3834 r3844 520 520 521 521 /** 522 * レイヤーを保存するために必要な BitmapData を生成する523 *524 */525 public function get newLayerBitmapData():BitmapData526 {527 return new BitmapData(width, height * m_layers.count, true, 0x0);528 }529 530 /**531 522 * 現在のレイヤーの透明度を変更する 532 523 * as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/UndoStack.as
r3694 r3844 1 1 package org.libspark.gunyarapaint.framework 2 2 { 3 import flash.display.BitmapData; 3 4 import flash.events.EventDispatcher; 5 import flash.utils.ByteArray; 4 6 5 7 import org.libspark.gunyarapaint.framework.errors.RedoError; … … 24 26 } 25 27 layers.saveState(m_buffer[0]); 28 } 29 30 public function load(value:Object):void 31 { 32 var bufferCount:uint = m_buffer.length; 33 var data:Object = value.data; 34 for (var i:uint = 0; i < bufferCount; i++) { 35 var layers:Object = data[i]; 36 m_buffer[i] = {}; 37 if (layers != null) { 38 var layerCount:uint = layers.length; 39 for (var j:uint = 0; j < layerCount; j++) { 40 var layer:Object = layers[j]; 41 var bitmapData:BitmapData = new BitmapData(layer.width, layer.height); 42 var pixels:ByteArray = ByteArray(layer.bitmapData); 43 pixels.position = 0; 44 bitmapData.setPixels(bitmapData.rect, pixels); 45 layer.bitmapData = bitmapData; 46 delete layer.width; 47 delete layer.height; 48 } 49 m_buffer[i] = layers; 50 } 51 } 52 m_index = value.index; 53 m_first = value.first; 54 m_last = value.last; 55 } 56 57 public function save(value:Object):void 58 { 59 var bufferCount:uint = m_buffer.length; 60 var buffer:Array = []; 61 for (var i:uint = 0; i < bufferCount; i++) { 62 var layers:Object = m_buffer[i].layers; 63 if (layers != null) { 64 var layerCount:uint = layers.length; 65 for (var j:uint = 0; j < layerCount; j++) { 66 var layer:Object = layers[j]; 67 var bitmapData:BitmapData = BitmapData(layer.bitmapData); 68 var pixels:ByteArray = bitmapData.getPixels(bitmapData.rect); 69 pixels.position = 0; 70 layer.bitmapData = pixels; 71 layer.width = bitmapData.width; 72 layer.height = bitmapData.height; 73 } 74 buffer.push(layers); 75 } 76 } 77 value.data = buffer; 78 value.index = m_index; 79 value.first = m_first; 80 value.last = m_last; 26 81 } 27 82

