チェンジセット 3270

差分発生行の前後
無視リスト:
コミット日時:
2009/12/31 10:39:39 (3 年前)
コミッタ:
hkrn
ログメッセージ:

Added CanvasController? class and tooltips

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/gunyarapaint/branches/gunyarapaint/src/org/libspark/gunyarapaint/components/BrushesController.mxml

    r3255 r3270  
    99    <fx:Script> 
    1010        <![CDATA[ 
     11            import flash.events.Event; 
    1112            import flash.events.MouseEvent; 
    1213             
     
    6465                item.setStyle("borderColor", 0x000000); 
    6566                currentPalette = item; 
    66                 delegate.module.color = item.getStyle("backgroundColor"); 
     67                delegate.module.color = color = item.getStyle("backgroundColor"); 
    6768                setColRGBSlider(item.getStyle("backgroundColor")); 
    6869            } 
     
    126127            private function selectDropper(event:MouseEvent):void 
    127128            { 
    128                 delegate.module = new DropperModule(delegate.recorder); 
     129                switchToggleState(event, DropperModule, "dropper"); 
    129130            } 
    130131             
    131132            private function selectHandTool(event:MouseEvent):void 
    132133            { 
    133                 delegate.module = new HandToolModule(delegate.recorder); 
     134                switchToggleState(event, HandToolModule, "hand"); 
    134135            } 
    135136             
    136137            private function selectEraser(event:MouseEvent):void 
    137138            { 
    138                 delegate.module = new EraserModule(delegate.recorder); 
     139                switchToggleState(event, EraserModule, "eraser"); 
    139140            } 
    140141             
    141142            private function selectPixel(event:MouseEvent):void 
    142143            { 
    143                 delegate.module = new PixelModule(delegate.recorder); 
     144                switchToggleState(event, PixelModule, "pixel"); 
     145            } 
     146             
     147            private function switchToggleState(event:Event, module:Class, state:String):void 
     148            { 
     149                var toggle:ToggleButton = ToggleButton(event.target); 
     150                var toggled:Boolean = toggle.selected; 
     151                dropperButton.selected = handtoolButton.selected = 
     152                    eraserButton.selected = dotButton.selected = false; 
     153                if (toggled) { 
     154                    delegate.module = new module(delegate.recorder); 
     155                    currentState = state; 
     156                    toggle.selected = true; 
     157                } 
     158                else { 
     159                    delegate.module = new FreeHandModule(delegate.recorder); 
     160                    currentState = "default" 
     161                } 
    144162            } 
    145163        ]]> 
     
    147165    <s:states> 
    148166        <s:State name="default"/> 
    149         <s:State name="drawer"/> 
     167        <s:State name="dropper"/> 
    150168        <s:State name="eraser"/> 
    151169        <s:State name="floodfill"/> 
     
    173191    <!-- thickness --> 
    174192    <s:Label x="14" y="28" text="太" width="14" height="11"/> 
    175     <s:HSlider x="36" y="28" width="75" minimum="1" maximum="30" snapInterval="1" height="12" value="3" id="thicknessSlider"/> 
    176     <s:Button x="1" y="47" label="極" width="32" id="thicknessButton1" enabled.drawer="false" enabled.floodfill="false" click.eraser="{thickness = 1}" click.drawer="{thickness = 1}" enabled.pixel="false" enabled.hand="false" click.default="{thickness = 1}"/> 
    177     <s:Button x="32" y="47" label="細" width="32" id="thicknessButton2" enabled.drawer="false" enabled.floodfill="false" click.eraser="{thickness = 3}" click.drawer="{thickness = 3}" enabled.pixel="false" enabled.hand="false" click.default="{thickness = 3}"/> 
    178     <s:Button x="63" y="47" label="中" width="32" id="thicknessButton3" enabled.drawer="false" enabled.floodfill="false" click.eraser="{thickness = 10}" click.drawer="{thickness = 10}" enabled.pixel="false" enabled.hand="false" click.default="{thickness = 10}"/> 
    179     <s:Button x="94" y="47" label="太" width="32" id="thicknessButton4" enabled.drawer="false" enabled.floodfill="false" click.eraser="{thickness = 20}" click.drawer="{thickness = 20}" enabled.pixel="false" enabled.hand="false" click.default="{thickness = 20}"/> 
    180     <s:Button x="125" y="47" label="極" width="32" id="thicknessButton5" enabled.drawer="false" enabled.floodfill="false" click.eraser="{thickness = 30}" click.drawer="{thickness = 30}" enabled.pixel="false" enabled.hand="false" click.default="{thickness = 30}"/> 
     193    <s:HSlider x="36" y="28" width="75" minimum="1" maximum="30" snapInterval="1" height="12" value="3" id="thicknessSlider" toolTip="辺の太さを変更します"/> 
     194    <s:Button x="1" y="47" label="極" width="32" id="thicknessButton1" enabled.floodfill="false" click.eraser="{thickness = 1}" enabled.pixel="false" enabled.hand="false" click.default="{thickness = 1}" enabled.dropper="false"/> 
     195    <s:Button x="32" y="47" label="細" width="32" id="thicknessButton2" enabled.floodfill="false" click.eraser="{thickness = 3}" enabled.pixel="false" enabled.hand="false" click.default="{thickness = 3}" enabled.dropper="false"/> 
     196    <s:Button x="63" y="47" label="中" width="32" id="thicknessButton3" enabled.floodfill="false" click.eraser="{thickness = 10}" enabled.pixel="false" enabled.hand="false" click.default="{thickness = 10}" enabled.dropper="false"/> 
     197    <s:Button x="94" y="47" label="太" width="32" id="thicknessButton4" enabled.floodfill="false" click.eraser="{thickness = 20}" enabled.pixel="false" enabled.hand="false" click.default="{thickness = 20}" enabled.dropper="false"/> 
     198    <s:Button x="125" y="47" label="極" width="32" id="thicknessButton5" enabled.floodfill="false" click.eraser="{thickness = 30}" enabled.pixel="false" enabled.hand="false" click.default="{thickness = 30}" enabled.dropper="false"/> 
    181199     
    182200    <!-- color palette --> 
     
    244262    <s:ToggleButton id="handtoolButton" x="31" y="260" icon="@Embed(source='res/icon_hand_open.png')" width="22" click="selectHandTool(event)"/> 
    245263    --> 
    246     <s:ToggleButton id="eraserButton" x="80" y="260" label="消" width="32" click="selectEraser(event)"/> 
    247     <s:ToggleButton id="dotButton" x="120" y="260" label="ド" width="32" click="selectPixel(event)"/> 
     264    <s:ToggleButton id="dropperButton" x="5" y="260" label="ス" width="32" click="selectDropper(event)" toolTip="スポイトに変更します。色を抽出するときに便利です"/> 
     265    <s:ToggleButton id="handtoolButton" x="43" y="260" label="ハ" width="32" click="selectHandTool(event)" selected.hand="true" toolTip="ハンドツールに変更します。現在のキャンバスを移動させたいときに使います"/> 
     266    <s:ToggleButton id="eraserButton" x="81" y="260" label="消" width="32" click="selectEraser(event)" selected.eraser="true" toolTip="消しゴムに変更します。間違って描いた箇所を消すのに欠かせません"/> 
     267    <s:ToggleButton id="dotButton" x="119" y="260" label="ド" width="32" click="selectPixel(event)" selected.pixel="true" toolTip="ドットペンに変更します。1ピクセル単位で作業するときに欠かせません"/> 
    248268     
    249269    <!-- alpha --> 
    250270    <s:Label x="10" y="288" text="透"/> 
    251271    <s:Label x="26" y="289" text="{alphaSlider.value}" textAlign="right" width="28" enabled="false" fontSize="8"/> 
    252     <s:HSlider id ="alphaSlider" x="61" y="289" width="87" minimum="0.05" maximum="1" snapInterval="0.05" value="1" change.hand="selectAlpha(event)" change.eraser="selectAlpha(event)" change.pixel="selectAlpha(event)" change.floodfill="selectAlpha(event)" change.default="selectAlpha(event)"/> 
     272    <s:HSlider id ="alphaSlider" x="61" y="289" width="87" minimum="0.05" maximum="1" snapInterval="0.05" value="1" change.hand="selectAlpha(event)" change.eraser="selectAlpha(event)" change.pixel="selectAlpha(event)" change.floodfill="selectAlpha(event)" change.default="selectAlpha(event)" toolTip="不透明度を変更します"/> 
    253273     
    254274    <!-- rgb --> 
    255275    <s:Label x="10" y="304" text="R"/> 
    256276    <s:Label x="26" y="305" text="{colRSlider.value}" width="28" textAlign="right" enabled="false" fontSize="8"/> 
    257     <s:HSlider id ="colRSlider" x="61" y="305" width="87" minimum="0" maximum="255" snapInterval="1" change.hand="setColor(event)" change.eraser="setColor(event)" change.pixel="setColor(event)" change.floodfill="setColor(event)" change.default="setColor(event)"/> 
     277    <s:HSlider id ="colRSlider" x="61" y="305" width="87" minimum="0" maximum="255" snapInterval="1" change.hand="setColor(event)" change.eraser="setColor(event)" change.pixel="setColor(event)" change.floodfill="setColor(event)" change.default="setColor(event)" toolTip="赤色(R)の濃さを設定します"/> 
    258278    <s:Label x="10" y="319" text="G"/> 
    259279    <s:Label x="26" y="322" text="{colGSlider.value}" width="28" textAlign="right" enabled="false" fontSize="8"/> 
    260     <s:HSlider id ="colGSlider" x="61" y="322" width="87" minimum="0" maximum="255" snapInterval="1" change.hand="setColor(event)" change.eraser="setColor(event)" change.pixel="setColor(event)" change.floodfill="setColor(event)" change.default="setColor(event)"/> 
     280    <s:HSlider id ="colGSlider" x="61" y="322" width="87" minimum="0" maximum="255" snapInterval="1" change.hand="setColor(event)" change.eraser="setColor(event)" change.pixel="setColor(event)" change.floodfill="setColor(event)" change.default="setColor(event)" toolTip="緑色(G)の濃さを設定します"/> 
    261281    <s:Label x="10" y="334" text="B"/> 
    262282    <s:Label x="26" y="340" text="{colBSlider.value}" width="28" textAlign="right" enabled="false" fontSize="8"/> 
    263     <s:HSlider id ="colBSlider" x="61" y="340" width="87" minimum="0" maximum="255" snapInterval="1" change.hand="setColor(event)" change.eraser="setColor(event)" change.pixel="setColor(event)" change.floodfill="setColor(event)" change.default="setColor(event)"/> 
     283    <s:HSlider id ="colBSlider" x="61" y="340" width="87" minimum="0" maximum="255" snapInterval="1" change.hand="setColor(event)" change.eraser="setColor(event)" change.pixel="setColor(event)" change.floodfill="setColor(event)" change.default="setColor(event)" toolTip="青色(B)の濃さを設定します"/> 
    264284     
    265285    <!-- line method/blend mode --> 
    266     <s:DropDownList id="penModeComboBox" x="10" y="362" width="138" selectedIndex="0" enabled.floodfill="false" enabled.drawer="false" change.eraser="selectPen(event)" change.floodfill="selectPen(event)" enabled.pixel="false" enabled.hand="false" change.default="selectPen(event)"> 
     286    <s:DropDownList id="penModeComboBox" x="10" y="362" width="138" selectedIndex="0" enabled.floodfill="false" change.eraser="selectPen(event)" change.floodfill="selectPen(event)" enabled.pixel="false" enabled.hand="false" change.default="selectPen(event)" enabled.dropper="false" toolTip="ペンの形状を設定します"> 
    267287        <s:ArrayCollection> 
    268288            <fx:Object label="手描き" data="hand" /> 
     
    272292        </s:ArrayCollection> 
    273293    </s:DropDownList> 
    274     <s:DropDownList id="blendModeComboBox" x="10" y="391" width="138" dataProvider="{ApplicationDelegate(parentDocument).allBlendModes}" selectedIndex="0" enabled.floodfill="false" enabled.drawer="false" change.eraser="selectBlendMode(event)" change.floodfill="selectBlendMode(event)" enabled.pixel="false" enabled.hand="false" change.default="selectBlendMode(event)"/> 
     294    <s:DropDownList id="blendModeComboBox" x="10" y="391" width="138" dataProvider="{ApplicationDelegate(parentDocument).allBlendModes}" selectedIndex="0" enabled.floodfill="false" change.eraser="selectBlendMode(event)" change.floodfill="selectBlendMode(event)" enabled.pixel="false" enabled.hand="false" change.default="selectBlendMode(event)" enabled.dropper="false" toolTip="下の画像に対するブレンドモードを設定します"/> 
    275295</s:Border> 
  • as3/gunyarapaint/branches/gunyarapaint/src/org/libspark/gunyarapaint/components/IDelegate.as

    r3255 r3270  
    1111        function get recorder():Recorder; 
    1212        function get supportedBlendModes():ArrayCollection; 
     13        function get canvas():CanvasController; 
    1314        function set module(value:IDrawable):void; 
    1415    } 
  • as3/gunyarapaint/branches/gunyarapaint/src/org/libspark/gunyarapaint/components/LayersController.mxml

    r3255 r3270  
    8383        </g:columns> 
    8484    </g:LayerDataGrid> 
    85     <s:Button x="7" y="258" id="newLayerButton" label="新" width="32" click="createLayer(event)"/> 
    86     <s:Button x="39" y="258" id="copyLayerButton" label="複" width="32" click="copyLayer(event)"/> 
    87     <s:Button x="71" y="258" id="deleteLayerButton" label="削" width="32" click="removeLayer(event)"/> 
    88     <s:Button x="103" y="258" id="mergeLayerButton" label="統" width="32" click="mergeLayers(event)" fontSize="0"/> 
    89     <s:DropDownList id="blendModeComboBox" x="10" y="10" width="124" change="selectLayerBlendMode(event)" dataProvider="{ApplicationDelegate(parentDocument).allBlendModes}" selectedIndex="0"/> 
     85    <s:Button x="7" y="258" id="newLayerButton" label="新" width="32" click="createLayer(event)" toolTip="レイヤーを新しく作成します"/> 
     86    <s:Button x="39" y="258" id="copyLayerButton" label="複" width="32" click="copyLayer(event)" toolTip="現在のレイヤーを複製して追加します"/> 
     87    <s:Button x="71" y="258" id="deleteLayerButton" label="削" width="32" click="removeLayer(event)" toolTip="現在のレイヤーを削除します"/> 
     88    <s:Button x="103" y="258" id="mergeLayerButton" label="統" width="32" click="mergeLayers(event)" fontSize="0" toolTip="直下のレイヤーを統合してひとつのレイヤーにします"/> 
     89    <s:DropDownList id="blendModeComboBox" x="10" y="10" width="124" change="selectLayerBlendMode(event)" dataProvider="{ApplicationDelegate(parentDocument).allBlendModes}" selectedIndex="0" toolTip="現在のレイヤーに対するブレンドモードを設定します"/> 
    9090    <s:Label x="10" y="34" text="透"/> 
    91     <s:HSlider id="alphaSlider" x="30" y="34" width="102" minimum="0.05" maximum="1" snapInterval="0.05" value="1" change="setLayerAlpha(event)"/> 
     91    <s:HSlider id="alphaSlider" x="30" y="34" width="102" minimum="0.05" maximum="1" snapInterval="0.05" value="1" change="setLayerAlpha(event)" toolTip="現在のレイヤーに対する不透明度を設定します"/> 
    9292</s:Border> 
  • as3/gunyarapaint/branches/gunyarapaint/src/org/libspark/gunyarapaint/components/UtilitiesController.mxml

    r3255 r3270  
    1313            import mx.collections.IList; 
    1414             
     15            import org.libspark.gunyarapaint.AuxBitmap; 
     16             
    1517            import spark.events.IndexChangeEvent; 
    1618             
     
    2022            { 
    2123                var degree:Number = HSlider(event.target).value; 
    22                 ApplicationDelegate(parentDocument).drawableCanvas.rotation = degree
     24                IDelegate(parentDocument).canvas.rotate(degree)
    2325            } 
    2426             
     
    4749                var list:IList = DropDownList(event.target).dataProvider; 
    4850                var type:String = String(list.getItemAt(event.newIndex).data); 
    49                 ApplicationDelegate(parentDocument).auxCanvas.divideType = type; 
     51                IDelegate(parentDocument).canvas.aux.type = type; 
    5052            } 
    5153             
     
    6870                var stepper:NumericStepper = NumericStepper(event.target); 
    6971                var length:uint = uint(stepper.value); 
    70                 ApplicationDelegate(parentDocument).auxCanvas.length = length; 
     72                IDelegate(parentDocument).canvas.aux.length = length; 
    7173            } 
    7274             
    73             protected function setVisibleAuxBox(event:MouseEvent):void 
     75            private function setVisibleAuxBox(event:MouseEvent):void 
    7476            { 
    75                 var aux:AuxCanvas = ApplicationDelegate(parentDocument).auxCanvas
     77                var aux:AuxBitmap = ApplicationDelegate(parentDocument).canvas.aux
    7678                aux.boxVisible = !aux.boxVisible; 
    7779            } 
    7880             
    79             protected function setVisibleAuxSkew(event:MouseEvent):void 
     81            private function setVisibleAuxSkew(event:MouseEvent):void 
    8082            { 
    81                 var aux:AuxCanvas = ApplicationDelegate(parentDocument).auxCanvas
     83                var aux:AuxBitmap = ApplicationDelegate(parentDocument).canvas.aux
    8284                aux.skewVisible = !aux.skewVisible; 
    8385            } 
     
    8688    <s:Button id="rotateResetButton" y="63" label="角度" width="40" height="20" x="10" fontSize="10" click="{canvasRotate.value = 0}"/> 
    8789    <s:Button id="zoomResetButton" y="92" label="拡大" width="40" height="20" x="10" fontSize="10" click="{canvasZoom.value = 1}"/> 
    88     <s:HSlider id="canvasRotate" y="68" width="135" minimum="-180" maximum="180" snapInterval="5" value="0" showDataTip="false" x="55" valueCommit="rotate(event)" thumbDrag="rotate(event)"/> 
    89     <s:HSlider id="canvasZoom" y="95" width="135" minimum="-4" maximum="16" snapInterval="0.1" value="1" showDataTip="false" x="55" valueCommit="zoom(event)" thumbDrag="zoom(event)"/> 
     90    <s:HSlider id="canvasRotate" y="68" width="135" minimum="-180" maximum="180" snapInterval="5" value="0" showDataTip="false" x="55" valueCommit="rotate(event)" thumbDrag="rotate(event)" toolTip="現在のキャンバスを回転させます"/> 
     91    <s:HSlider id="canvasZoom" y="95" width="135" minimum="-4" maximum="16" snapInterval="0.1" value="1" showDataTip="false" x="55" valueCommit="zoom(event)" thumbDrag="zoom(event)" toolTip="現在のキャンバスを拡大または縮小させます"/> 
    9092    <s:TextInput id="canvasRotateValue" y="65" width="32" height="17" fontSize="8" textAlign="right" text="{canvasRotate.value}" restrict="0-9" maxChars="4" x="197"/> 
    9193    <s:Label y="65" text="度" x="232"/> 
     
    9395    <s:Label y="93" text="倍" x="232"/> 
    9496    <s:Label y="10" text="補助線"  x="10"/> 
    95     <s:NumericStepper id="auxNumberStepper" y="10" value="4" minimum="2" maximum="16" stepSize="1" height="18" fontSize="8" x="59" change="setAuxLength(event)"/> 
     97    <s:NumericStepper id="auxNumberStepper" y="10" value="4" minimum="2" maximum="16" stepSize="1" height="18" fontSize="8" x="59" change="setAuxLength(event)" toolTip="「分割」にした場合は分割数、「px単位」にした場合ピクセル数を設定します"/> 
    9698    <s:CheckBox id="auxBoxCheckBox" y="10" label="縦横" fontSize="9" height="18" x="187" click="setVisibleAuxBox(event)"/> 
    9799    <s:CheckBox id="auxSkewCheckBox" y="26" label="斜め" fontSize="9" height="18" x="187" click="setVisibleAuxSkew(event)"/> 
     
    106108    <s:DropDownList y="10" id="auxTypeComboBox" width="70" fontSize="10" height="18" selectedIndex="0" x="113" change="setAuxType(event)"> 
    107109        <s:ArrayCollection> 
    108             <fx:Object label="px単位" data="{AuxCanvas.DIVIDE_BY_PIXELS}" /> 
    109             <fx:Object label="分割" data="{AuxCanvas.DIVIDE_BY_LINES}" /> 
     110            <fx:Object label="px単位" data="{AuxBitmap.PIXELS}" /> 
     111            <fx:Object label="分割" data="{AuxBitmap.LINES}" /> 
    110112        </s:ArrayCollection> 
    111113    </s:DropDownList>