チェンジセット 3493
- コミット日時:
- 2010/03/06 23:04:50 (3 年前)
- ファイル:
-
- as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/PaintEngine.as (更新) (5 diffs)
- as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/Painter.as (更新) (9 diffs)
- as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/Parser.as (更新) (3 diffs)
- as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/modules/DrawModule.as (更新) (7 diffs)
- as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/modules/IDrawable.as (更新) (5 diffs)
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/PaintEngine.as
r3438 r3493 122 122 } 123 123 124 /** 125 * ペンオブジェクトを返す 126 * 127 * @return Pen ペンオブジェクト 128 */ 124 129 public function get pen():Pen 125 130 { … … 127 132 } 128 133 134 /** 135 * シェイプオブジェクトを返す 136 * 137 * @return Shape シェイプオブジェクト 138 */ 129 139 public function get shape():Shape 130 140 { … … 132 142 } 133 143 144 /** 145 * 現在のx座標を返す 146 * 147 * @return x 現在のx座標 148 */ 134 149 public function get x():int 135 150 { … … 137 152 } 138 153 154 /** 155 * 現在のy座標を返す 156 * 157 * @return y 現在のy座標 158 */ 139 159 public function get y():int 140 160 { … … 142 162 } 143 163 164 /** 165 * ペンオブジェクトを設定する 166 * 167 * @param pen ペンオブジェクト 168 */ 144 169 public function set pen(value:Pen):void 145 170 { as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/Painter.as
r3488 r3493 138 138 } 139 139 140 /** 141 * ペンオブジェクトを初期状態にリセットする 142 * 143 * PainterEngine クラスにある resetPen の委譲 144 * 145 */ 140 146 public function resetPen():void 141 147 { … … 143 149 } 144 150 151 /** 152 * 描写中の内容を消去する 153 * 154 * PainterEngine クラスにある clear の委譲 155 * 156 */ 145 157 public function clear():void 146 158 { … … 158 170 // undoBuffer に入っているLayerBitmapを上書きしない為にコピーしてから作業する 159 171 // これは floodFill 及び setPixel も同様 160 var newLayer:LayerBitmap = m_layers.currentLayer.clone(); 161 newLayer.compositeFrom( 172 m_layers.currentLayer.compositeFrom( 162 173 m_paintEngine.shape, 163 174 m_paintEngine.pen.blendMode 164 175 ); 165 m_layers.setCurrentLayer(newLayer);166 176 m_layers.compositeAll(); 167 177 } … … 175 185 public function floodFill():void 176 186 { 177 var newLayer:LayerBitmap = m_layers.currentLayer.clone(); 178 newLayer.floodFill( 187 m_layers.currentLayer.floodFill( 179 188 m_paintEngine.x, 180 189 m_paintEngine.y, 181 190 m_paintEngine.pen.argb 182 191 ); 183 m_layers.setCurrentLayer(newLayer);184 192 m_layers.compositeAll(); 185 193 } … … 195 203 public function setPixel(x:int, y:int):void 196 204 { 197 var newLayer:LayerBitmap = m_layers.currentLayer.clone(); 198 newLayer.setPixel(x, y, m_paintEngine.pen.argb); 199 m_layers.setCurrentLayer(newLayer); 205 m_layers.currentLayer.setPixel(x, y, m_paintEngine.pen.argb); 200 206 m_layers.compositeAll(); 201 207 } … … 353 359 } 354 360 361 /** 362 * レイヤーオブジェクトを返す 363 * 364 * @return LayerBitmapCollection 365 */ 355 366 public function get layers():LayerBitmapCollection 356 367 { … … 358 369 } 359 370 371 /** 372 * スプライトオブジェクトを返す 373 * 374 * @return Sprite 375 */ 360 376 public function get view():Sprite 361 377 { … … 363 379 } 364 380 381 /** 382 * ペンオブジェクトを返す 383 * 384 * @return Pen 385 */ 365 386 public function get pen():Pen 366 387 { … … 390 411 } 391 412 413 /** 414 * ペンオブジェクトを設定する 415 * 416 * @param value 417 */ 392 418 public function set pen(value:Pen):void 393 419 { as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/Parser.as
r3438 r3493 34 34 * 35 35 * @param data 36 * @throws InvalidSignatureError 最初の14文字がGUNYARA_PAINT:と一致しない場合 36 37 */ 37 38 public function readHeader(data:Object):void … … 59 60 * ログを本体の最初の位置に移動する 60 61 * 61 * ヘッダーは 26 bytes あるため、それ未満であれば ArgumentError を送出する。62 * @throws ArgumentError ログの大きさが 26 bytes 未満の場合。 62 63 */ 63 64 public function rewind():void … … 75 76 * ログを先読みする 76 77 * 77 * ログの先読みによって、お絵描きログのコマンド数、最適なアンドゥ回数が分かる。 78 * 未登録のコマンドが入っていた場合、InvalidCommandError を送出する。 78 * ログの先読みによって、お絵描きログのコマンド数、最適なアンドゥ回数が分かる 79 * 80 * @throws InvalidCommandError 登録されていないコマンドが検出された場合 79 81 */ 80 82 public function preload():void as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/modules/DrawModule.as
r3479 r3493 1 1 package org.libspark.gunyarapaint.framework.modules 2 2 { 3 import flash.errors.IllegalOperationError;4 5 3 import org.libspark.gunyarapaint.framework.LayerBitmap; 6 4 import org.libspark.gunyarapaint.framework.Painter; … … 19 17 import org.libspark.gunyarapaint.framework.commands.layer.SetLayerIndexCommand; 20 18 import org.libspark.gunyarapaint.framework.commands.layer.SwapLayerCommand; 19 import org.libspark.gunyarapaint.framework.errors.InvisibleLayerError; 20 import org.libspark.gunyarapaint.framework.errors.LockedLayerError; 21 21 22 22 internal class DrawModule … … 117 117 * 現在のレイヤーの状態を検証する 118 118 * 119 * 以下の状態であれば IllegalOperationError を送出する 120 * - 現在のレイヤーが不可視 121 * - 現在のレイヤーがロックされている 122 * 119 * @throws InvisibleLayerError 現在のレイヤーが不可視の場合 120 * @throws LockedLayerError 現在のレイヤーがロックされている場合 123 121 */ 124 122 protected function validateLayerState():void … … 126 124 var layer:LayerBitmap = m_recorder.painter.layers.currentLayer; 127 125 if (!layer.visible) 128 throw new I llegalOperationError();126 throw new InvisibleLayerError(); 129 127 else if (layer.locked) 130 throw new IllegalOperationError();128 throw new LockedLayerError(); 131 129 } 132 130 … … 134 132 * 現在の座標を設定する 135 133 * 136 * @param x 137 * @param y 134 * @param x x座標 135 * @param y y座標 138 136 */ 139 137 protected function setCoordinate(x:Number, y:Number):void … … 156 154 * 指定された座標が現在の座標と一致するかを確認する 157 155 * 158 * @param x 159 * @param y 156 * @param x x座標 157 * @param y y座標 160 158 * @return 同じである場合は true 161 159 */ … … 179 177 * 指定された座標から ICommand#write に渡す引数に変換する 180 178 * 181 * @param x 182 * @param y 183 * @return args 179 * @param x x座標 180 * @param y y座標 181 * @return args プロパティxとyで構成されるオブジェクト 184 182 */ 185 183 protected function getArgumentsFromCoordinate(x:Number, y:Number):Object as3/gunyarapaint/branches/gunyarapaint/framework/src/org/libspark/gunyarapaint/framework/modules/IDrawable.as
r3471 r3493 6 6 * 描写の開始をする 7 7 * 8 * @param x 9 * @param y 8 * @param x x座標 9 * @param y y座標 10 10 */ 11 11 function start(x:Number, y:Number):void; … … 14 14 * 座標位置を移動する 15 15 * 16 * @param x 17 * @param y 16 * @param x x座標 17 * @param y y座標 18 18 */ 19 19 function move(x:Number, y:Number):void; … … 22 22 * 描写を終了する 23 23 * 24 * @param x 25 * @param y 24 * @param x x座標 25 * @param y y座標 26 26 */ 27 27 function stop(x:Number, y:Number):void; … … 30 30 * 描写を中断する 31 31 * 32 * @param x 33 * @param y 32 * @param x x座標 33 * @param y y座標 34 34 */ 35 35 function interrupt(x:Number, y:Number):void; … … 38 38 * 最後に移動した位置を保存する 39 39 * 40 * @param x 41 * @param y 40 * @param x x座標 41 * @param y y座標 42 42 */ 43 43 function saveCoordinate(x:Number, y:Number):void;

