チェンジセット 2778
- コミット日時:
- 2009/06/03 03:26:45 (4 年前)
- ファイル:
-
- as3/gunyarapaint/trunk/ChangeLog (更新) (1 diff)
- as3/gunyarapaint/trunk/gunyarapaint/src/gplogplayer.mxml (更新) (1 diff)
- as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as (更新) (2 diffs)
- as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.mxml (更新) (2 diffs)
- as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLayer.as (更新) (3 diffs)
- as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLayerArray.as (更新) (3 diffs)
- as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLogger.as (更新) (5 diffs)
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/gunyarapaint/trunk/ChangeLog
r2745 r2778 1 2009-06-03 Tasuku SUENAGA <a at razil.jp> 2 3 * gunyarapaint: ���E���]�E�㉺���]������B�Ƃ肠�����͑S���C���[�ł̃{�^��������B 4 1 5 2009-05-29 Tasuku SUENAGA <a at razil.jp> 2 6 as3/gunyarapaint/trunk/gunyarapaint/src/gplogplayer.mxml
r2739 r2778 160 160 ]]> 161 161 </mx:Script> 162 <mx:Label x="313" y="11" text="ver.20090 52801"/>162 <mx:Label x="313" y="11" text="ver.2009060301"/> 163 163 </mx:Application> as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as
r2351 r2778 80 80 zoomResetButton.addEventListener(FlexEvent.BUTTON_DOWN, zoomResetButtonHandler); 81 81 rotateResetButton.addEventListener(FlexEvent.BUTTON_DOWN, rotateResetButtonHandler); 82 horizontalMirrorButton.addEventListener(FlexEvent.BUTTON_DOWN, horizontalMirrorButtonHandler); 83 verticalMirrorButton.addEventListener(FlexEvent.BUTTON_DOWN, verticalMirrorButtonHandler); 82 84 83 85 // アンドゥ・リドゥ … … 331 333 } 332 334 335 private function horizontalMirrorButtonHandler(evt:Event):void { 336 _logger.eventHorizontalMirror(0xff); 337 } 338 339 private function verticalMirrorButtonHandler(evt:Event):void { 340 _logger.eventVerticalMirror(0xff); 341 } 342 333 343 private function setRotate(v:Number):void { 334 344 canvasRotate.value = v; as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.mxml
r2740 r2778 23 23 <mx:Button id="rotateResetButton" x="467" y="63" label="角度" width="29" paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0" height="17"/> 24 24 <mx:Button id="zoomResetButton" x="467" y="81" label="拡大" width="29" paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0" height="17"/> 25 <mx:Button id="horizontalMirrorButton" x="117" y="128" label="全レイヤー左右反転" width="120" paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0" height="17"/> 26 <mx:Button id="verticalMirrorButton" x="245" y="128" label="全レイヤー上下反転" width="120" paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0" height="17"/> 25 27 <mx:HSlider id="canvasRotate" x="501" y="62" width="152" minimum="-180" maximum="180" snapInterval="5" value="0" /> 26 28 <mx:HSlider id="canvasZoom" x="502" y="79" width="152" minimum="-4" maximum="16" snapInterval="1" value="1" /> … … 33 35 <mx:Button id="undoButton" x="469" y="36" label="アンドゥ" enabled="false" paddingLeft="3" paddingRight="3"/> 34 36 <mx:Button id="redoButton" x="555" y="36" label="リドゥ" enabled="false" paddingLeft="3" paddingRight="3"/> 35 <mx:Label id="versionLabel" x="576" y="127" text="ver.20090 52801"/>37 <mx:Label id="versionLabel" x="576" y="127" text="ver.2009060301"/> 36 38 <mx:Button id="windowsResetButton" x="10" y="128" label="ウィンドウ初期状態" width="99" paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0" height="17"/> 37 <mx:Button id="passwordButton" x=" 117" y="128" label="ふっかつのじゅもん" width="99" paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0" height="17" enabled="false"/>39 <mx:Button id="passwordButton" x="373" y="128" label="ふっかつのじゅもん" width="99" paddingLeft="0" paddingRight="0" paddingTop="0" paddingBottom="0" height="17" enabled="false"/> 38 40 <mx:Button id="logPlayButton" x="502" y="105" label="ログプレイ" visible="false"/> 39 41 <mx:Button id="checkPngButton" x="585" y="105" label="同一check" visible="false"/> as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLayer.as
r1586 r2778 26 26 27 27 private var _logger:GPLogger; 28 29 private static var mirrorMatrix:Matrix; 28 30 29 31 public function GPLayer(logger:GPLogger, … … 65 67 this.bitmapData = _bitmapData.clone(); 66 68 _bitmapData.floodFill(x, y, color); 67 } 69 } 68 70 public function setPixel(x:Number, y:Number, color:uint):Boolean { 69 71 if (_bitmapData.getPixel32(x, y) == color) { … … 73 75 _bitmapData.setPixel32(x, y, color); 74 76 return true; 75 } 77 } 78 public function matrixConvert(matrix:Matrix):void { 79 var bmd:BitmapData = new BitmapData(_width, _height, true, 0x00000000); 80 bmd.draw(_bitmapData, matrix); 81 this.bitmapData = bmd; 82 } 76 83 // 外から与えられたBitmapDataに、自分の_bitmapDataを_blendModeとalphaを使って描画する。 77 84 public function drawDest(dest:BitmapData):void { as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLayerArray.as
r1793 r2778 29 29 30 30 private var _logger:GPLogger; 31 32 private var _horizontalMirrorMatrix:Matrix; // 左右反転用Matrix、GPLayerで持つともったいないので 33 private var _verticalMirrorMatrix:Matrix; // 上下反転用Matrix、GPLayerで持つともったいないので 31 34 32 35 public function GPLayerArray(logger:GPLogger, a:Array, targetIndex:uint, w:uint, h:uint) { … … 35 38 _height = h; 36 39 _view = new Sprite(); 40 _horizontalMirrorMatrix = new Matrix(-1, 0, 0, 1, w, 0); 41 _verticalMirrorMatrix = new Matrix(1, 0, 0, -1, 0, h); 37 42 if (a) { 38 43 _a = a; … … 300 305 } 301 306 307 // レイヤー番号が0xffUの場合には、全部反転 308 public function horizontalMirror(i:uint):void { 309 if (i == 0xff) { 310 for (var j:uint = 0; j < _a.length; j++) { 311 _a[j].matrixConvert(this._horizontalMirrorMatrix); 312 } 313 } else { 314 _a[i].matrixConvert(this._horizontalMirrorMatrix); 315 } 316 recombine(); 317 } 318 319 // レイヤー番号が0xffUの場合には、全部反転 320 public function verticalMirror(i:uint):void { 321 if (i == 0xff) { 322 for (var j:uint = 0; j < _a.length; j++) { 323 _a[j].matrixConvert(this._verticalMirrorMatrix); 324 } 325 } else { 326 _a[i].matrixConvert(this._verticalMirrorMatrix); 327 } 328 recombine(); 329 } 330 302 331 private function reindex():void { 303 332 for (var i:String in _a) { as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/entities/GPLogger.as
r2739 r2778 146 146 break; 147 147 case '0.2.0:': // Math.floor(mouseX + 0.5)を、偶奇で変えるようにした by はくはく。 148 case '0.2.1:': // 水平・垂直反転反転ボタンをつけた。 148 149 break; 149 150 default: … … 199 200 public static const ACTION_LAYER_CHANGE_ALPHA:uint = 22; 200 201 public static const ACTION_SET_PIXEL:uint = 23; 202 public static const ACTION_HORIZONTAL_MIRROR:uint = 24; 203 public static const ACTION_VERTICAL_MIRROR:uint = 25; 201 204 202 205 // LINESTYLE … … 456 459 eventSetPixel(uintNum, uintNum2); 457 460 break; 461 case ACTION_HORIZONTAL_MIRROR: 462 uintNum = readByte(); 463 eventHorizontalMirror(uintNum); 464 break; 465 case ACTION_VERTICAL_MIRROR: 466 uintNum = readByte(); 467 eventVerticalMirror(uintNum); 468 break; 458 469 default: 459 470 if (byte & 0x80) { … … 859 870 trace('SET_PIXEL'); 860 871 } 872 873 public function eventHorizontalMirror(i:uint):void { 874 _layerArray.horizontalMirror(i); 875 if (_onLogging) { 876 writeByte(ACTION_HORIZONTAL_MIRROR); 877 writeByte(i); 878 } 879 trace('HORIZONTAL_MIRROR'); 880 } 881 882 public function eventVerticalMirror(i:uint):void { 883 _layerArray.verticalMirror(i); 884 if (_onLogging) { 885 writeByte(ACTION_VERTICAL_MIRROR); 886 writeByte(i); 887 } 888 trace('VERTICAL_MIRROR'); 889 } 861 890 862 891 private function invokeLayerChange():void { … … 891 920 } 892 921 trace('LAYER_COPY'); 893 922 894 923 pushUndoBuffer(); 895 924 invokeLayerChange();

