差分発生行の前後
無視リスト:
コミット日時:
2010/03/10 01:19:46 (3 年前)
コミッタ:
hkrn
ログメッセージ:

removed Painter class related codes, bug-fixes, and aggregate

ファイル:

凡例:

変更無し
追加
削除
更新
コピー
移動
  • as3/gunyarapaint/branches/gunyarapaint/compat/src/gunyarapaint.as

    r3503 r3508  
    11private const DEBUG:Boolean = true; 
    22 
    3 import flash.display.InteractiveObject; 
    43import flash.events.Event; 
    54import flash.events.KeyboardEvent; 
     
    1716import mx.managers.PopUpManager; 
    1817 
     18import org.libspark.gunyarapaint.controls.GPPasswordWindowControl; 
     19import org.libspark.gunyarapaint.framework.LayerBitmapCollection; 
    1920import org.libspark.gunyarapaint.framework.Pen; 
    20 import org.libspark.gunyarapaint.framework.LayerBitmapCollection; 
    21 import org.libspark.gunyarapaint.framework.Painter; 
     21import org.libspark.gunyarapaint.framework.Recorder; 
    2222import org.libspark.gunyarapaint.framework.events.CommandEvent; 
    2323import org.libspark.gunyarapaint.framework.events.UndoEvent; 
    24 import org.libspark.gunyarapaint.controls.GPPasswordWindowControl; 
    25 import org.libspark.gunyarapaint.framework.Recorder; 
    2624import org.libspark.gunyarapaint.framework.modules.DrawModuleFactory; 
    2725import org.libspark.gunyarapaint.framework.modules.IDrawable; 
     
    7169public function get layers():LayerBitmapCollection 
    7270{ 
    73     return m_recorder.painter.layers; 
     71    return m_recorder.layers; 
    7472} 
    7573 
    7674public function get pen():Pen 
    7775{ 
    78     return m_recorder.painter.pen; 
     76    return m_recorder.pen; 
    7977} 
    8078 
     
    9189public function get canvasView():Sprite 
    9290{ 
    93     return m_recorder.painter.view; 
     91    return m_recorder.view; 
    9492} 
    9593 
     
    126124    undoBufferSize = int(parameters['undoBufferSize']); 
    127125     
    128     m_recorder = new Recorder(new ByteArray()); 
    129     m_recorder.prepare(width, height, undoBufferSize); 
     126    m_recorder = Recorder.create(width, height, undoBufferSize); 
    130127    m_module = DrawModuleFactory.create(DrawModuleFactory.FREE_HAND, m_recorder); 
    131128    m_commit = 0; 
     
    341338        case 57: // 9 
    342339            if (!evt.shiftKey)// 念のため SHIFTキー対応 (テンキーのほうは放置) 
    343                 penDetailWindow.thickness = evt.keyCode - 48; 
     340                penDetailWindow.currentThickness = evt.keyCode - 48; 
    344341            break; 
    345342        case 97: // ten-key 1 
     
    352349        case 104: // ten-key 8 
    353350        case 105: // ten-key 9 
    354             penDetailWindow.thickness = evt.keyCode - 96; 
     351            penDetailWindow.currentThickness = evt.keyCode - 96; 
    355352            break; 
    356353        case 45: // INS 
  • as3/gunyarapaint/branches/gunyarapaint/compat/src/org/libspark/gunyarapaint/controls/GPCanvas.as

    r3503 r3508  
    3030            addChild(m_auxLine); 
    3131            addChild(m_auxPixel); 
    32             addEventListener(Event.REMOVED, onRemove); 
     32            addEventListener(Event.REMOVED_FROM_STAGE, onRemove); 
    3333            addEventListener(MouseEvent.MOUSE_DOWN, onMouseDown); 
    3434            addEventListener(MouseEvent.MOUSE_UP, onMouseUp); 
  • as3/gunyarapaint/branches/gunyarapaint/compat/src/org/libspark/gunyarapaint/controls/GPLayerWindowControl.mxml

    r3503 r3508  
    1616            import org.libspark.gunyarapaint.framework.LayerBitmap; 
    1717            import org.libspark.gunyarapaint.framework.LayerBitmapCollection; 
    18             import org.libspark.gunyarapaint.framework.Painter; 
    1918            import org.libspark.gunyarapaint.utils.ComponentResizer; 
    2019            import org.libspark.gunyarapaint.framework.ui.IApplication; 
  • as3/gunyarapaint/branches/gunyarapaint/compat/src/org/libspark/gunyarapaint/controls/PenDetailWindowControl.mxml

    r3503 r3508  
    11<?xml version="1.0" encoding="utf-8"?> 
    2 <mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="128" height="450" xmlns:ns1="org.libspark.gunyarapaint.controls.*"
     2<mx:TitleWindow xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="128" height="450" xmlns:ns1="org.libspark.gunyarapaint.controls.*" initialize="onInitialize()"
    33    <mx:Script> 
    44        <![CDATA[ 
     
    1313            import org.libspark.gunyarapaint.framework.ui.IApplication; 
    1414             
    15             private var m_gridItemPalette:GridItem; 
     15            private var m_palette:GridItem; 
    1616             
    1717            // Ctrlとかのショートカットキーで変わったペンToolを戻す 
     
    4545                var application:IApplication = IApplication(Application.application); 
    4646                application.setModule(String(blendModeComboBox.value)); 
    47             } 
    48              
    49             public function drawPreview(color:uint, alpha:Number, thickness:uint):void 
    50             { 
    51                 var g:Graphics = previewCanvas.graphics; 
    52                 g.clear(); 
    53                 g.beginFill(color, alpha); 
    54                 g.drawCircle((previewCanvas.width) / 2, (previewCanvas.height) / 2, thickness / 2); 
    55                 g.endFill(); 
    56             } 
    57              
    58             // TODO:整理する 
    59             public function changePen(mode:String, color:uint, alpha:Number, thickness:uint):void 
    60             { 
    61                 m_gridItemPalette.setStyle('backgroundColor', color); 
    62                 setColorRGBSlider(color); 
    63                 drawPreview(color, alpha, thickness); 
    64                 currentState = mode; 
    6547            } 
    6648             
     
    11294            } 
    11395             
    114             public function set thickness(t:uint):void 
    115             { 
    116                 IApplication(Application.application).module.thickness = thicknessSlider.value = t; 
     96            public function set currentColor(value:uint):void 
     97            { 
     98                m_palette.setStyle("backgroundColor", value); 
     99                IApplication(Application.application).module.color = m_color = value; 
     100                drawPreview(); 
     101                colBSlider.value = value % 256; 
     102                value >>>= 8; 
     103                colGSlider.value = value % 256; 
     104                value >>>= 8; 
     105                colRSlider.value = value % 256; 
     106            } 
     107             
     108            public function set currentAlpha(value:Number):void 
     109            { 
     110                IApplication(Application.application).module.alpha = m_alpha = alphaSlider.value = value; 
     111                drawPreview(); 
     112            } 
     113             
     114            public function set currentThickness(value:uint):void 
     115            { 
     116                IApplication(Application.application).module.thickness = m_thickness = thicknessSlider.value = value; 
     117                drawPreview(); 
    117118            } 
    118119             
     
    122123                onClickPalette(1); 
    123124                // 初期値と設定値が一緒なのでイベントが飛んでこない、明示的に呼んであげる 
    124                 drawPreview(0x000000, 1, 3); 
     125                currentColor = 0; 
     126                currentAlpha = 1; 
     127                currentThickness = 1; 
     128                drawPreview(); 
    125129            } 
    126130             
     
    128132            { 
    129133                var palette:GridItem = this["gridItemPalette" + index]; 
    130                 if (m_gridItemPalette) { 
    131                     m_gridItemPalette.setStyle("borderThickness", 1); 
    132                     m_gridItemPalette.setStyle("borderColor", 0xb7babc); 
     134                if (m_palette) { 
     135                    m_palette.setStyle("borderThickness", 1); 
     136                    m_palette.setStyle("borderColor", 0xb7babc); 
    133137                } 
    134138                palette.setStyle("borderThickness", 3); 
    135139                palette.setStyle("borderColor", 0x000000); 
    136                 m_gridItemPalette = palette; 
    137                 IApplication(Application.application).module.color = m_gridItemPalette.getStyle("backgroundColor"); 
    138                 setColorRGBSlider(m_gridItemPalette.getStyle("backgroundColor")); // 20090905-haku2 ins 
     140                m_palette = palette; 
     141                currentColor = m_palette.getStyle("backgroundColor"); 
    139142            } 
    140143             
     
    144147                // FIXME: お絵かきのログにパレット変更も反映したい 
    145148                var picker:SColorPicker = new SColorPicker(); 
    146                 picker.selectedColor = m_gridItemPalette.getStyle('backgroundColor'); 
     149                picker.selectedColor = m_palette.getStyle('backgroundColor'); 
    147150                picker.title = "パレットに入れる色を選んでください。"; 
    148151                 
     
    172175                var color:uint = SColorPicker(evt.target).selectedColor; 
    173176                m_application.module.color = color; 
    174                 m_gridItemPalette.setStyle("backgroundColor", color); 
     177                m_palette.setStyle("backgroundColor", color); 
    175178                setColRGBSlider(color); // 20090905-haku2 ins 
    176179                PopUpManager.removePopUp(IFlexDisplayObject(evt.target)); 
     
    227230            } 
    228231             
    229             private function onChangeThicknessSlider(evt:SliderEvent):void 
    230             { 
    231                 IApplication(Application.application).module.thickness = evt.value; 
    232             } 
    233              
    234             // 選択した色をRGBスライダに反映 
    235             private function setColorRGBSlider(color:uint):void 
    236             { 
    237                 colBSlider.value = color % 256; 
    238                 color >>>= 8; 
    239                 colGSlider.value = color % 256; 
    240                 color >>>= 8; 
    241                 colRSlider.value = color % 256; 
    242             } 
    243              
    244232            private function onChangeColorSlider(evt:SliderEvent, mode:String):void 
    245233            { 
    246                 var color:uint = 0; 
     234                var c:uint = 0; 
    247235                switch (mode) { 
    248236                    case "red": 
    249                         color += evt.value * 65536; 
    250                         color += colGSlider.value * 256; 
    251                         color += colBSlider.value; 
     237                        c += evt.value * 65536; 
     238                        c += colGSlider.value * 256; 
     239                        c += colBSlider.value; 
    252240                        break; 
    253241                    case "green": 
    254                         color += colRSlider.value * 65536; 
    255                         color += evt.value * 256; 
    256                         color += colBSlider.value; 
     242                        c += colRSlider.value * 65536; 
     243                        c += evt.value * 256; 
     244                        c += colBSlider.value; 
    257245                        break; 
    258246                    case "blue": 
    259                         color += colRSlider.value * 65536; 
    260                         color += colGSlider.value * 256; 
    261                         color += evt.value; 
     247                        c += colRSlider.value * 65536; 
     248                        c += colGSlider.value * 256; 
     249                        c += evt.value; 
    262250                        break; 
    263251                } 
    264                 IApplication(Application.application).module.color = color; 
    265                 m_gridItemPalette.setStyle('backgroundColor', color); 
    266             } 
    267              
    268             private function onChangeAlphaSlider(evt:SliderEvent):void 
    269             { 
    270                 IApplication(Application.application).module.alpha = evt.value; 
    271             } 
     252                currentColor = c; 
     253            } 
     254             
     255            private function drawPreview():void 
     256            { 
     257                var g:Graphics = previewCanvas.graphics; 
     258                g.clear(); 
     259                g.beginFill(m_color, m_alpha); 
     260                g.drawCircle(previewCanvas.width / 2, previewCanvas.height / 2, m_thickness / 2); 
     261                g.endFill(); 
     262            } 
     263             
     264            private var m_color:uint; 
     265            private var m_alpha:Number; 
     266            private var m_thickness:uint; 
    272267        ]]> 
    273268    </mx:Script> 
     
    365360    </mx:states> 
    366361     
    367     <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="108" height="410" initialize="onInitialize()"
     362    <mx:Canvas xmlns:mx="http://www.adobe.com/2006/mxml" width="108" height="410"
    368363         
    369364        <!-- preview --> 
     
    374369        <!-- thickness --> 
    375370        <mx:Label x="3" y="28" text="太"/> 
    376         <mx:HSlider x="16" y="28" width="87" minimum="1" maximum="30" snapInterval="1" height="12" value="3" id="thicknessSlider" change="onChangeThicknessSlider(event)"/> 
    377         <mx:Button x="2" y="47" label="極" width="20" paddingLeft="0" paddingRight="0" id="thicknessButton1" click="thickness = 1"/> 
    378         <mx:Button x="23" y="47" label="細" width="20" paddingLeft="0" paddingRight="0" id="thicknessButton2" click="thickness = 3"/> 
    379         <mx:Button x="44" y="47" label="中" width="20" paddingLeft="0" paddingRight="0" id="thicknessButton3" click="thickness = 10"/> 
    380         <mx:Button x="65" y="47" label="太" width="20" paddingLeft="0" paddingRight="0" id="thicknessButton4" click="thickness = 20"/> 
    381         <mx:Button x="86" y="47" label="極" width="20" paddingLeft="0" paddingRight="0" id="thicknessButton5" click="thickness = 30"/> 
     371        <mx:HSlider x="16" y="28" width="87" minimum="1" maximum="30" snapInterval="1" height="12" value="3" id="thicknessSlider" change="currentThickness = event.value"/> 
     372        <mx:Button x="2" y="47" label="極" width="20" paddingLeft="0" paddingRight="0" id="thicknessButton1" click="currentThickness = 1"/> 
     373        <mx:Button x="23" y="47" label="細" width="20" paddingLeft="0" paddingRight="0" id="thicknessButton2" click="currentThickness = 3"/> 
     374        <mx:Button x="44" y="47" label="中" width="20" paddingLeft="0" paddingRight="0" id="thicknessButton3" click="currentThickness = 10"/> 
     375        <mx:Button x="65" y="47" label="太" width="20" paddingLeft="0" paddingRight="0" id="thicknessButton4" click="currentThickness = 20"/> 
     376        <mx:Button x="86" y="47" label="極" width="20" paddingLeft="0" paddingRight="0" id="thicknessButton5" click="currentThickness = 30"/> 
    382377         
    383378        <!-- color palette --> 
     
    451446        <mx:Label x="3" y="285" text="透"/> 
    452447        <mx:Label x="1" y="295" text="{alphaSlider.value}" width="28" enabled="false" fontSize="8"/> 
    453         <mx:HSlider id ="alphaSlider" x="20" y="282" width="87" minimum="0.05" maximum="1" snapInterval="0.05" value="1" change="onChangeAlphaSlider(event)"/> 
     448        <mx:HSlider id ="alphaSlider" x="20" y="282" width="87" minimum="0.05" maximum="1" snapInterval="0.05" value="1" change="currentAlpha = event.value"/> 
    454449         
    455450        <!-- rgb -->