チェンジセット 1797: as3/gunyarapaint/trunk
- コミット日時:
- 2008/11/08 14:44:05 (5 年前)
- ファイル:
凡例:
- 変更無し
- 追加
- 削除
- 更新
- コピー
- 移動
as3/gunyarapaint/trunk/gunyarapaint/src/org/libspark/gunyarapaint/controls/GPCanvasWindowControl.as
r1793 r1797 1 1 package org.libspark.gunyarapaint.controls 2 2 { 3 import flash.display.DisplayObject;4 3 import flash.events.MouseEvent; 5 4 import flash.geom.Point; 6 5 7 import mx.containers.HBox;8 6 import mx.containers.TitleWindow; 9 import mx.containers.VBox;10 7 import mx.controls.HScrollBar; 11 8 import mx.controls.VScrollBar; … … 22 19 { 23 20 private var _canvasContainer:Container; // GPCanvasを直接格納するコンテナ 24 private var _contentContainer:Container; // GPCanvasとその周りの背景を格納するコンテナ 25 26 private var _hbox:HBox; // canvasと縦スクロールバー 27 private var _vbox:VBox; // _hboxと横スクロールバー 21 private var _contentContainer:Container; // GPCanvasと背景、スクロールバーを持つコンテナ 28 22 29 23 private var hScrollBar:HScrollBar; // 横スクロールバー … … 38 32 39 33 this.backgroundColor = 0x000000; 40 this.mouseEnabled = false;41 34 42 35 // this.setStyle('backgroundAlpha', 0); … … 64 57 // 仮にサイズを狭める 65 58 _canvasContainer.width = _canvasContainer.height = 66 _contentContainer.width = _contentContainer.height =67 59 hScrollBar.width = vScrollBar.height = 0; 68 60 69 this.validateNow(); // _ vbox/_hboxのサイズを更新61 this.validateNow(); // _contentContainerのサイズを更新 70 62 71 63 // それを使って再設定 72 var clientWidth:Number = _hbox.width - vScrollBar.width; 73 var clientHeight:Number = _vbox.height - hScrollBar.height; 74 var frameWidth:Number = this.width - _hbox.width; 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; 64 var clientWidth:Number = _contentContainer.width - vScrollBar.width; 65 var clientHeight:Number = _contentContainer.height - hScrollBar.height; 66 81 67 hScrollBar.width = clientWidth; 82 68 vScrollBar.height = clientHeight; … … 92 78 _canvasContainer.height = clientHeight; 93 79 } 94 _canvasContainer.move((_contentContainer.width - _canvasContainer.width) / 2, 95 (_contentContainer.height - _canvasContainer.height) / 2); 80 hScrollBar.move(0, clientHeight); 81 vScrollBar.move(clientWidth, 0); 82 83 _canvasContainer.move((clientWidth - _canvasContainer.width) / 2, 84 (clientHeight - _canvasContainer.height) / 2); 96 85 } 97 86 } … … 113 102 if (!_logger) { 114 103 _logger = log; 115 //_canvas.setStyle('borderColor', 0x000000); 116 //_canvas.setStyle('borderStyle', 'solid'); 117 //_canvas.setStyle('borderThickness', 1); 118 119 _vbox = new VBox(); 120 _vbox.percentWidth = 100; 121 _vbox.percentHeight = 100; 122 _vbox.setStyle('verticalGap', 0); 123 _hbox = new HBox(); 124 _hbox.percentWidth = 100; 125 _hbox.percentHeight = 100; 126 _hbox.setStyle('horizontalGap', 0); 127 _vbox.addChild(_hbox); 128 this.addChild(_vbox); 129 130 this.validateNow(); // percentWidth/Height -> width/heightに更新 131 104 132 105 _contentContainer = new Container(); 133 106 _contentContainer.setStyle('borderStyle', 'none'); 134 107 _contentContainer.horizontalScrollPolicy = 'off'; 135 108 _contentContainer.verticalScrollPolicy = 'off'; 136 137 _c anvasContainer = new Container();138 _canvasContainer.setStyle('borderStyle', 'none');139 _canvasContainer.horizontalScrollPolicy = 'off'; 140 _canvasContainer.verticalScrollPolicy = 'off';109 _contentContainer.percentWidth = 100; 110 _contentContainer.percentHeight = 100; 111 this.addChild(_contentContainer); 112 113 this.validateNow(); // percentWidth/Height -> width/heightに更新 141 114 142 115 hScrollBar = new HScrollBar(); … … 144 117 hScrollBar.height = ScrollBar.THICKNESS; 145 118 vScrollBar.width = ScrollBar.THICKNESS; 146 hScrollBar.move(0, height);147 vScrollBar.move(width, 0);148 119 hScrollBar.addEventListener(ScrollEvent.SCROLL, hScrollHandler); 149 120 vScrollBar.addEventListener(ScrollEvent.SCROLL, vScrollHandler); … … 151 122 vScrollBar.lineScrollSize = 1; 152 123 124 _canvasContainer = new Container(); 125 _canvasContainer.width = _contentContainer.width - vScrollBar.width; 126 _canvasContainer.height = _contentContainer.height - hScrollBar.height; 127 _canvasContainer.setStyle('borderStyle', 'none'); 128 _canvasContainer.horizontalScrollPolicy = 'off'; 129 _canvasContainer.verticalScrollPolicy = 'off'; 130 153 131 _canvasContainer.addChild(log.canvas); 154 132 _contentContainer.addChild(_canvasContainer); 155 _hbox.addChild(_contentContainer); 156 _hbox.addChild(vScrollBar); 157 _vbox.addChild(hScrollBar); 133 _contentContainer.addChild(hScrollBar); 134 _contentContainer.addChild(vScrollBar); 158 135 159 136 _canvasContainer.mouseEnabled = false; 160 137 _contentContainer.mouseEnabled = false; 161 _hbox.mouseEnabled = false;162 _vbox.mouseEnabled = false;163 138 _contentContainer.addEventListener(MouseEvent.CLICK, contentContainerClickHandler); 164 139

