チェンジセット 1576: as3/gunyarapaint/trunk
- コミット日時:
- 2008/10/11 18:45:53 (5 年前)
- ファイル:
-
- as3/gunyarapaint/trunk/gunyarapaint/src/gplogplayer.mxml (更新) (1 diff)
- as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as (更新) (1 diff)
- as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.mxml (更新) (1 diff)
- as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/GPCanvasWindowControl.as (更新) (10 diffs)
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/gunyarapaint/trunk/gunyarapaint/src/gplogplayer.mxml
r1569 r1576 163 163 ]]> 164 164 </mx:Script> 165 <mx:Label x="313" y="11" text="ver.2008101 003"/>165 <mx:Label x="313" y="11" text="ver.2008101101"/> 166 166 </mx:Application> as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.as
r1569 r1576 330 330 case 48: // 0 331 331 case 96: // ten-key 0 332 if (evt.ctrlKey) { 333 if (evt.shiftKey) { 334 setRotate(0); 335 } else { 336 setZoom(1); 337 } 332 if (evt.shiftKey) { 333 setRotate(0); 334 } else { 335 setZoom(1); 338 336 } 339 337 break; as3/gunyarapaint/trunk/gunyarapaint/src/gunyarapaint.mxml
r1569 r1576 12 12 </mx:Script> 13 13 <mx:Canvas id="toolCanvas" x="0" y="0" width="685" height="102"> 14 <mx:Label id="versionLabel" x="238" y="9" text="ver.2008101 003"/>14 <mx:Label id="versionLabel" x="238" y="9" text="ver.2008101101"/> 15 15 <mx:Label x="28" y="7" text="名前"/> 16 16 <mx:TextInput id="fromTextInput" x="55" y="3" maxChars="32" fontSize="14" focusThickness="0"/> as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/GPCanvasWindowControl.as
r1569 r1576 1 1 package org.libspark.gunyarapaint.controls 2 2 { 3 import flash.events.Event; 4 import flash.events.MouseEvent; 3 5 import flash.geom.Point; 4 6 … … 13 15 import mx.events.ResizeEvent; 14 16 import mx.events.ScrollEvent; 17 import mx.utils.ColorUtil; 15 18 16 19 import org.libspark.gunyarapaint.entities.GPLogger; … … 19 22 public class GPCanvasWindowControl extends TitleWindow 20 23 { 21 private var _container:Container; 24 private var _canvasContainer:Container; // GPCanvasを直接格納するコンテナ 25 private var _contentContainer:Container; // GPCanvasとその周りの背景を格納するコンテナ 22 26 23 27 private var _hbox:HBox; // canvasと縦スクロールバー … … 33 37 public function GPCanvasWindowControl() { 34 38 super(); 35 36 this.setStyle('backgroundColor', 0x000000); 39 40 this.backgroundColor = 0x000000; 41 37 42 // this.setStyle('backgroundAlpha', 0); 38 43 this.horizontalScrollPolicy = 'off'; … … 45 50 } 46 51 52 private function set backgroundColor(c:uint):void { 53 this.setStyle('backgroundColor', c); 54 } 55 56 private function contentContainerClickHandler(e:MouseEvent):void { 57 if (e.eventPhase == flash.events.EventPhase.AT_TARGET) { 58 this.backgroundColor = Math.random() * 0xffffff; 59 } 60 } 61 47 62 private function resizeContainer():void { 48 if (_logger && _c ontainer) {63 if (_logger && _canvasContainer && _contentContainer) { 49 64 // 仮にサイズを狭める 50 _container.width = _container.height = hScrollBar.width = vScrollBar.height = 0; 65 _canvasContainer.width = _canvasContainer.height = 66 _contentContainer.width = _contentContainer.height = 67 hScrollBar.width = vScrollBar.height = 0; 51 68 52 69 this.validateNow(); // _vbox/_hboxのサイズを更新 … … 57 74 var frameWidth:Number = this.width - _hbox.width; 58 75 var frameHeight:Number = this.height - _vbox.height; 76 77 _contentContainer.width = _contentContainer.maxWidth = clientWidth; 78 _contentContainer.height = _contentContainer.maxHeight = clientHeight; 79 this.width = clientWidth + vScrollBar.width + frameWidth; 80 this.height = clientHeight + hScrollBar.height + frameHeight; 81 hScrollBar.width = clientWidth; 82 vScrollBar.height = clientHeight; 59 83 // TODO: minでいいやん 60 84 if (_logger.canvasWidth * _canvasScale < clientWidth) { 61 clientWidth = _logger.canvasWidth * _canvasScale; 85 _canvasContainer.width = _logger.canvasWidth * _canvasScale; 86 } else { 87 _canvasContainer.width = clientWidth; 62 88 } 63 89 if (_logger.canvasHeight * _canvasScale < clientHeight) { 64 clientHeight = _logger.canvasHeight * _canvasScale; 90 _canvasContainer.height = _logger.canvasHeight * _canvasScale; 91 } else { 92 _canvasContainer.height = clientHeight; 65 93 } 66 this.width = clientWidth + vScrollBar.width + frameWidth; 67 this.height = clientHeight + hScrollBar.height + frameHeight; 68 _container.width = _container.maxWidth = clientWidth; 69 _container.height = _container.maxHeight = clientHeight; 70 hScrollBar.width = clientWidth; 71 vScrollBar.height = clientHeight; 94 _canvasContainer.move((_contentContainer.width - _canvasContainer.width) / 2, 95 (_contentContainer.height - _canvasContainer.height) / 2); 72 96 } 73 97 } … … 106 130 this.validateNow(); // percentWidth/Height -> width/heightに更新 107 131 108 _container = new Container(); 109 _container.setStyle('borderStyle', 'none'); 110 _container.horizontalScrollPolicy = 'off'; 111 _container.verticalScrollPolicy = 'off'; 132 _contentContainer = new Container(); 133 _contentContainer.setStyle('borderStyle', 'none'); 134 _contentContainer.horizontalScrollPolicy = 'off'; 135 _contentContainer.verticalScrollPolicy = 'off'; 136 137 _canvasContainer = new Container(); 138 _canvasContainer.setStyle('borderStyle', 'none'); 139 _canvasContainer.horizontalScrollPolicy = 'off'; 140 _canvasContainer.verticalScrollPolicy = 'off'; 112 141 113 142 hScrollBar = new HScrollBar(); … … 121 150 hScrollBar.lineScrollSize = 1; 122 151 vScrollBar.lineScrollSize = 1; 123 124 _container.addChild(log.canvas); 125 _hbox.addChild(_container); 152 153 _canvasContainer.addChild(log.canvas); 154 _contentContainer.addChild(_canvasContainer); 155 _hbox.addChild(_contentContainer); 126 156 _hbox.addChild(vScrollBar); 127 157 _vbox.addChild(hScrollBar); 128 158 159 _contentContainer.addEventListener(MouseEvent.CLICK, contentContainerClickHandler); 160 161 canvasX = 0; canvasY = 0; _canvasScale = 1; 129 162 resizeContainer(); 130 131 canvasX = 0; canvasY = 0; _canvasScale = 1;132 163 moveCanvas(); 133 164 } … … 135 166 136 167 private function moveCanvas():void { 137 if (_logger && _c ontainer) {138 var maxX:Number = Math.floor(_logger.canvasWidth - (_container.width / _canvasScale));139 var maxY:Number = Math.floor(_logger.canvasHeight - (_container.height / _canvasScale));140 canvasX = Math.floor(canvasX);141 canvasY = Math.floor(canvasY);168 if (_logger && _canvasContainer && _contentContainer) { 169 var maxX:Number = _logger.canvasWidth * _canvasScale - _canvasContainer.width; 170 var maxY:Number = _logger.canvasHeight * _canvasScale - _canvasContainer.height; 171 canvasX = canvasX * _canvasScale; 172 canvasY = canvasY * _canvasScale; 142 173 if (maxX <= 0) maxX = 0; 143 174 if (maxY <= 0) maxY = 0; … … 148 179 hScrollBar.scrollPosition = canvasX; 149 180 vScrollBar.scrollPosition = canvasY; 150 hScrollBar.setScrollProperties(_c ontainer.width, 0, maxX);151 vScrollBar.setScrollProperties(_c ontainer.height, 0, maxY);152 _logger.eventCanvasMove(-canvasX * _canvasScale, -canvasY * _canvasScale);181 hScrollBar.setScrollProperties(_canvasContainer.width, 0, maxX); 182 vScrollBar.setScrollProperties(_canvasContainer.height, 0, maxY); 183 _logger.eventCanvasMove(-canvasX, -canvasY); 153 184 } 154 185 }

