; >Bc @sdkZdkZdkZdkZdklZdkZdklZdk l Z dk Z dk Z dZ dZgiZedD]Zeeiq[\ ZZZZZZZZZZZZdei fdYZ!d ei"fd YZ#e$d joei%Z&ei'ei(e)d d Z*e!e*Z+e*i,e-e+i.de/ddi0e&i1dk2Z2e2i3ndk4Z4dk5l6Z6l7Z7l8Z8dk9l:Z:dei e:i;fdYZ<de!e:i;fdYZ=de7i>fdYZ?ei@eiAdZBhdd<ddd-Z?d.Z@d/ZAd0ZBd1ZCd2ZDd3ZEd4ZFd5ZGd6ZHd7ZIRS(8NcCsLtidti|_tidti|_tidti|_dS(Nsid( swxs StockCursors CURSOR_CROSSsselfs cursorCrosss CURSOR_SIZINGs cursorMoves CURSOR_PENCILs cursorDraw(sself((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys _init_utilsscCstii|dtddd|dtidddtid d d titi B|i |i t |i tid d tid|idtddd|dtidddtiddd d|_|iid|iiti|idttidtddddd|dtidddtiddd d|_|iitiddd|iid|iiti|idttidtddd|dtidddtiddd ti|_ |i i!dd |i id!|i iti"|i#dttidt$dd"d|dtid#ddtiddd ti|_%|i%i!dd$|i%id%|i%iti"|i&dt$ti'dt(dd&d|dtid'ddtid dd ti|_)|i)id(|i)iti*|i+tidt,dd)d|dtid*ddtiddd ti|_-|i-i!dd|i-id+|i-iti"|i.dt,tidt/dddd,d|dtid-ddtiddd d|_0|i0itid.d.d.|i0id/|i0iti|i1dt/tidt2dddd0d|dtid1ddtiddd d|_3|i3itid2d2d2|i3id3|i3iti|i4dt2ti5dt6d4d5d6d7dd8d|d9tid:ddtid;dd ti7d<d |_8|i8id=|i8iti9|i:ti;dt<dd>d|dtidd?dtid@dAd ti|_=|i=itid.d.d.|i=i>t?|i=t t t t |i=iti*|i@|i=itiA|iB|i=itiC|iD|i=itiE|iF|i=itiG|iHtiIdtJddBddCd|dtidDdEdtidFdGd tiK|_LdS(HNsidsnamesImageEditorPanelsparentsposii>ssizeiJidsstyleiBiIschoicess modeChoiceiii@iisCurrent drawing modeslabelssFGColBtniNiis Pen colours spinButton3ijii s Pen widths spinButton2izi s Pen stylespenBrushWindowisPen / Brush previews spinButton1is Brush styles brushColBtniis Brush coloursBGColBtniisBackground brush coloursmaxValueisminValueisslider1spointiilsvalues Zoom factors editWindowi"i1i s Image infos staticText1ihiii(MswxsPanels__init__sselfswxID_IMAGEEDITORPANELsprntsPointsSizes SUNKEN_BORDERs TAB_TRAVERSALs _init_utilss SetAutoLayoutsTrues SetClientSizesChoices drawingModesswxID_IMAGEEDITORPANELMODECHOICEs modeChoicesSetToolTipStringsBinds EVT_CHOICEsOnModeChoiceChoicesButtonswxID_IMAGEEDITORPANELFGCOLBTNsFGColBtnsSetBackgroundColoursColours EVT_BUTTONsOnFgcolbtnButtons SpinButtons wxID_IMAGEEDITORPANELSPINBUTTON3s SP_VERTICALs spinButton3sSetRangesEVT_COMMAND_SCROLLsOnSpinbutton3CommandScrolls wxID_IMAGEEDITORPANELSPINBUTTON2s spinButton2sOnSpinbutton2CommandScrollsWindows#wxID_IMAGEEDITORPANELPENBRUSHWINDOWspenBrushWindows EVT_PAINTsOnPenBrushWindowPaints wxID_IMAGEEDITORPANELSPINBUTTON1s spinButton1sOnSpinbutton1CommandScrolls wxID_IMAGEEDITORPANELBRUSHCOLBTNs brushColBtnsOnBrushcolbtnButtonswxID_IMAGEEDITORPANELBGCOLBTNsBGColBtnsOnBgcolbtnButtonsSliderswxID_IMAGEEDITORPANELSLIDER1s SL_HORIZONTALsslider1s EVT_SCROLLsOnSlider1ScrollThumbtracksScrolledWindowswxID_IMAGEEDITORPANELEDITWINDOWs editWindowsSetConstraintss LayoutAnchorssOnEditWindowPaints EVT_LEFT_DOWNsOnEditWindowLeftDowns EVT_LEFT_UPsOnEditWindowLeftUps EVT_MOTIONsOnEditWindowMotions EVT_SCROLLWINsOnEditWindowScrolls StaticTexts wxID_IMAGEEDITORPANELSTATICTEXT1sST_NO_AUTORESIZEs staticText1(sselfsprnt((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys _init_ctrls"s   9 !  $  $  $ $  $! ! $* $ $cCsdddddddg|_|i|t|_hdttB|if<dt|i f<dttB|i f<dttB|i f<dttB|i f<dt|i f<dttB|if<dt|if<|_d |_|idt|_|_ti|_ti|id ti|_ti|_ti|i|_tititi |_!titi"d ti |_#titid ti|_$d |_%|_&|i'i(d d d f|_)f|_*f|_+f|_,dS( NsSelectsDrawsLinesCirclesBoxsFillsColoursMovesiii(-sselfs drawingModess _init_ctrlssparentsNones currentCursorsddCanvassddGrids drawSelections drawPointsdrawLines drawCirclesdrawBoxsdrawFillsdrawMovesdrawPickColoursdrawingMethMapsmodessetModesmDCsbmpswxsBLACKsfgcolsPensSOLIDsfgpens LIGHT_GREYsbgcolsBrushsbgbshsWHITEs TRANSPARENTsbrushsBLUEsinvpensselpensxsys modeChoices SetSelectionsoffsets prevSelRects prevLineSegs prevPointCol(sselfsparent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys__init__s(        s.bmps.gifs.jpgs.pngs.icocCs#|oGti|_titit||_|ii |inN|i dd\|_|_ti |i }|ii||ii|djo d}n||_|ii|i |ii|ii\|_|_t|_|i|i|idS(s Initialise editor with data is.pys.pngN(sdataswxsMemoryDCsselfsmDCsBitmapFromImagesImageFromStreamsStringIOsbmps SelectObjects getTempMemDCsBrushsbgcolsbrushs SetBackgroundsClearsextsimgExts editWindowsRefreshsGetWidths GetHeightsmDCundosbmpundosNonesselundossnapshotsupdateScrollbarssupdateImageInfo(sselfsextsdatasbrush((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys initImageDatas&!        scCss| o |i}nti}|i|i}|i i ||zt |di SWdt i|XdS(s! Returns the current bitmap data srbN(sextsselfsimgExtstempfilesmktempsfns extTypeMapslowerstpesbmpsSaveFilesopensreadsossremove(sselfsextstpesfn((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys getImageDatas  cCsdS(s6 Called whenever image is modified, override to catch N((sself((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys imageModifiedscCs|i|jo|dddddfjo|i|_n |i|_|ii|i|i||_|i|i\|_ |_ |o|i i |qndS(NsDrawsLinesCirclesBoxsFill(sselfsmodes cursorDraws currentCursors cursorCrosss editWindows SetCursors clearStatesdrawingMethMapsdrawDestsdrawMeths updateGUIs modeChoicesSetStringSelection(sselfsmodes updateGUI((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pyssetModes   cCsSt|_|_|_|_t|_|_|_|_ |i i |i dS(N( sNonesselfs dragoffsetsdragpossdragbmps dragsrcrectsselslinescirclesboxs editWindows SetCursors currentCursor(sself((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys clearStatescCsr|iidd|iidd|ii|ii|idd|io|i|_ n t |_ dS(Nf1.0i( sselfsmDCs SetUserScalesmDCundosBlitsbmpsGetWidths GetHeightsselsselundosNone(sself((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pyssnapshots ' cCsh|i\}}|ii||\}}|ii}||i d|||i d|fSdS(Nii( seventsGetPositionTuplesxsysselfs editWindowsCalcUnscrolledPositionsslider1sGetValuesscalesoffset(sselfseventsysxsscale((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys getImgPosscCs9ti||}ti}|i|||fSdS(N(swxs EmptyBitmapswidthsheightsbmpsMemoryDCsmemDCs SelectObject(sselfswidthsheightsmemDCsbmp((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys getTempMemDCs  cCs|io|i\}}}}|i||d||d\}}|ii dd|i dd||d||d|i|||i t i |SntSdS(Nif1.0i(sselfsselsx1sy1sx2sy2s getTempMemDCsmDCsbmps SetUserScalesBlits SelectObjectswxs NullBitmapsNone(sselfsy2smDCsx2sbmpsy1sx1((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys getSelBmps (2cCsS| p |i o dn|iiti||_|ii|idS(NsInvalid bitmap(sbmpsOksselfsmDCs SelectObjectswxs NullBitmap(sselfsbmp((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys setMemDCBmps   cCsY|ii}|ii\}}|ii|||i i |i i ||dS(N( sselfsslider1sGetValuesscales editWindows GetViewStartsxPossyPoss SetScrollbarssbmpsGetWidths GetHeight(sselfsscalesxPossyPos((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysupdateScrollbars%sc Cs|io|idi}nd}|ii|ii|iif\}}}|ii }|o d}nd}|iio d}nd}d||||||f}|ii|dS(NisUNKNOWNsImage is maskedsImage is not maskedssThe bitmap is not valid!s%s: (%s, %s), depth: %s %s. %s(sselfsimgExtsuppersextsbmpsGetWidths GetHeightsGetDepthswshsdsGetMasksmsksmsOksxstexts staticText1sSetLabel( sselfsdshsmsextsmskswstextsx((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysupdateImageInfo+s 3  cCsN|iidd|iidd|ii|ii|idddS(Nf1.0i(sselfsmDCs SetUserScalesBlitsbmpsGetWidths GetHeightsmDCundo(sself((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysundo=s'c Cs| o|djo|i|d|_n|ddfjo|id |i||_|djoR|i\} }}}t | |t ||t | |t ||f|_qn|i|i jo7|djo f|_ n |i|_ |i iqn|o|io|i\} }}}t | |t ||t | |t ||f\} }}}|i\} }|ii}|iti|i|i|iti|i| | |d|||d|| d|d||d|dndS(Nsstartisdragsendii(sdcsstatesselfs getImgPosseventsselsx1sy1sx2sy2sminsmaxs prevSelRects editWindowsRefreshsoffsetsxoffsetsyoffsetsslider1sGetValuesscalesSetLogicalFunctionswxsXORsSetPensselpensSetBrushsTRANSPARENT_BRUSHs DrawRectangle( sselfseventsstatesdcsy2syoffsetsx2sscalesy1sx1sxoffset((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys drawSelectionBs.  A   B$cCs|djo|in|i|\}}|ii|i |ii dd|ii |||i i |djo6||iijo |djo||iijo|indS(Nsstartf1.0i(sstatesselfssnapshots getImgPosseventsimgxsimgysmDCsSetPensfgpens SetUserScales DrawPoints editWindowsRefreshsbmpsGetWidths GetHeights imageModified(sselfseventsstatesimgysimgx((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys drawPoint^s  Fc Cs| o|djo|i|d|_nm|iob|id |i||_|djo4|i|iit i |ii |i |ii dd|ii|i|ii|id|id|i\} } }}|ii|iif\} }| djo |djpK| | jo || jp1| djo |djp| |jo ||j o|int|_qn|i|ijo7|djo f|_n |i|_|iiqn|o|io|i\} } }}|i\} }|i!i"}|it i$|i |i%|i| | ||d|| ||d| |||d||||dndS(Nsstartisendf1.0ii(&sdcsstatesselfs getImgPosseventslinessnapshotsmDCsSetLogicalFunctionswxsCOPYsSetPensfgpens SetUserScalesDrawLines DrawPointsx1sy1sx2sy2sbmpsGetWidths GetHeightswshs imageModifiedsNones prevLineSegs editWindowsRefreshsoffsetsxoffsetsyoffsetsslider1sGetValuesscalesXORsselpen( sselfseventsstatesdcsy2shsyoffsetsx2sscaleswsy1sx1sxoffset((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysdrawLinels<    !$i   ,c Cs| o|djo|i|d|_n|id |i||_|djo^|i|iit i |ii |i |ii dd|ii|i|i\} } }}|ii| | || d|| d|ii|i\} } }}|ii|iif\} }| djo |djpK| | jo || jp1| djo |djp| |jo ||j o|int|_n|iin|o|io|i\} } }}|i\} }|i!i"}|it i$|i |i%|it i&|i| | |d|| |d|| d|d|| d|dndS(Nsstartisendf1.0iii('sdcsstatesselfs getImgPosseventsboxssnapshotsmDCsSetLogicalFunctionswxsCOPYsSetPensfgpens SetUserScalesSetBrushsbrushsx1sy1sx2sy2s DrawRectangles editWindowsRefreshsbmpsGetWidths GetHeightswshs imageModifiedsNonesoffsetsxoffsetsyoffsetsslider1sGetValuesscalesXORsselpensTRANSPARENT_BRUSH( sselfseventsstatesdcsy2shsyoffsetsx2sscaleswsy1sx1sxoffset((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysdrawBoxs8   ) $i $cCsN| oo|djo|i|df|_n5|ddfjo|io|id |i|\}} }}t i t ||dt || dd}|| |f|_|djo|i|iiti|ii|i|iidd|ii|i|iit||dt| |dt|dt|d|i\}}}||d||df\}} ||d| |df\}}|ii|iif\} } |djo |djpK|| jo || jp1| djo |djp| | jo || j o|i!nt"|_qfn|i#i$n|o|io|i\}}}|i%\} }|i(i)} |iti+|i|i,|iti-|it| ||d| t|||d| t|| dt|| dndS(Nsstartisdragsendif0.5f1.0(.sdcsstatesselfs getImgPosseventscirclesx1sy1sx2sy2smathssqrtspowsradssnapshotsmDCsSetLogicalFunctionswxsCOPYsSetPensfgpens SetUserScalesSetBrushsbrushs DrawEllipsesintsxsysbmpsGetWidths GetHeightswshs imageModifiedsNones editWindowsRefreshsoffsetsxoffsetsyoffsetsslider1sGetValuesscalesXORsselpensTRANSPARENT_BRUSH(sselfseventsstatesdcsradsy2sysyoffsetsx2sscalesxoffsetswshsy1sxsx1((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys drawCirclesB &1  +""$icCs|i|i|\}}ti|i}|i i ||i i dd|i i |||i i|||ii|djo6||iijo |djo||iijo|indS(Nf1.0i(sselfssnapshots getImgPosseventsxsyswxsBrushsfgcolsbrushsmDCsSetBrushs SetUserScales FloodFillsGetPixels editWindowsRefreshsbmpsGetWidths GetHeights imageModified(sselfseventsstatesbrushsysx((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysdrawFills % FcCs|i\}} }}| o|i|\}}|djoh||| |f|_ |i oB|i|i|_ || ||d|| df|_qq|ddfjo|i|i \}} ||| |f\} } |_|iidd|iiti|ii|i|ii|i|ii |i|ii!|i | | |djo)| | | ||| || f|_n|i"i#|i$qn|o|io|io|i%\}}|i\} } |i(i)} |iti+|i|i,|iti-|i || | d|| | d||d| d|| d| dndS(Nsstartisdragsendf1.0i(.sselfsselsx1sy1sx2sy2sdcs getImgPosseventsxsysstates dragoffsetsdragbmpssnapshots getSelBmps dragsrcrectsundosdoxsdoysdxsdysdragpossmDCs SetUserScalesSetLogicalFunctionswxsCOPYsSetPensinvpensSetBrushsbgbshs DrawRectangles DrawBitmaps editWindowsRefreshs imageModifiedsoffsetsxoffsetsyoffsetsslider1sGetValuesscalesXORsselpensTRANSPARENT_BRUSH(sselfseventsstatesdcsdoxsy2sysyoffsetsx2sdoysscalesdxsdysy1sxsx1sxoffset((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysdrawMoves@   - ! ) $cCs~|djom|i|\}}|ii||}||_ |i i ||i i |i |iddtndS(NsendsDraws updateGUI(sstatesselfs getImgPosseventsxsysmDCsGetPixelsnewcolsfgcolsfgpens SetColoursFGColBtnsSetBackgroundColourssetModesTrue(sselfseventsstatesnewcolsysx((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysdrawPickColours  c Cstiti}|i||iti|i i }g}|i i}|i i}|i\} } xEt|D]7}|i| ||| ||| ||| fq~WxEt|D]7}|i||| | ||| ||| fqW|i|dS(N(swxsPensWHITEspensdcsSetPensSetLogicalFunctionsXORsselfsslider1sGetValuesscaleslinessbmps GetHeightsheightsGetWidthswidthsoffsetsxoffsetsyoffsetsrangesysappendsxs DrawLineList( sselfsdcsscaleslinessheightswidthspensxsysyoffsetsxoffset((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysdrawGrid!s  5 5c Csti|i}|ii||i p|i odSn|iz|i i }|ii d|d||ii |}|ii|}t|iii|dd} t|iii|dd}|i| ||||idd|ii dd| |f|_|djo|i|d}nd}|itititi|ti}|i!||i"ti#|i$| d|d|d|d|i%t&@o|i'o|i't(d|nWd|i)XdS(Nf1.0iiiiis(*swxsPaintDCsselfs editWindowsdcs PrepareDCsmDCsbmps BeginDrawingsslider1sGetValuesscales SetUserScalesGetWidthswidths GetHeightsheightsmaxsGetSizesxsxoffsetsysyoffsetsBlitsoffsetsdrawGrids framesizesSetLogicalFunctionsCOPYsPensBLACKsSOLIDspensSetPensSetBrushsTRANSPARENT_BRUSHs DrawRectanglesdrawDestsddGridsdrawMethsNones EndDrawing( sselfseventsscales framesizesdcsheightswidthspensyoffsetsxoffset((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnEditWindowPaint5s8 ##"    &cCsti|i}|i|i|i|i|i |i |i z|ii }|idd|i|i|i |i|i|idd|idd|idd|iddWd|iXdS(Niiii(swxsPaintDCsselfspenBrushWindowsdcsSetBrushsbrushs SetBackgroundsbgbshsSetPensinvpens BeginDrawings GetClientSizescss DrawRectanglesxsysfgpens EndDrawing(sselfseventscssdc((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnPenBrushWindowPaintXs FcCs|ii|idjo|io|i\}}}}|i |\}}||jo$||jo||jo ||jo&|i d||||f|_qRn|idjo|io|i\}}}}|i |\}}||jo$||jo||jo ||j o&|i d||||f|_qRn|it@o|io|i|dndS(NsSelectsMovesstart(sselfs editWindows CaptureMousesmodesselsx1sy1sx2sy2s getImgPosseventsxsyssetModesdrawDestsddCanvassdrawMeth(sselfseventsy2sysx2sy1sxsx1((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnEditWindowLeftDownfs 4 5 cCsQ|iio=|ii|it@o|io|i|dqMndS(Nsend(sselfs editWindows HasCaptures ReleaseMousesdrawDestsddCanvassdrawMethsevent(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnEditWindowLeftUpys cCs|io |io0|it@o|io|i|dqJn|io|i o |i o|i\}}}}|i |\}}||jo$||jo||jo ||jo|ii|iq|ii|indS(Nsdrag(seventsDraggings LeftIsDownsselfsdrawDestsddCanvassdrawMethsselsx1sy1sx2sy2s getImgPossxsys editWindows SetCursors cursorMoves currentCursor(sselfseventsy2sysx2sy1sxsx1((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnEditWindowMotions&4cCs|i|iidS(N(sselfsupdateScrollbarss editWindowsRefresh(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnSlider1ScrollThumbtracks cCsbt|}ti||}z2|itijo|i i Snt SWd|i XdS(N( swxStdColourDatascolsdataswxs ColourDialogsselfsdlgs ShowModalsID_OKs GetColourDatas GetColoursNonesDestroy(sselfscolsdlgsdata((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys showColDlgs cCsZ|i|i}|o=||_|ii||ii|i|ii ndS(N( sselfs showColDlgsfgcolsnewcolsfgpens SetColoursFGColBtnsSetBackgroundColourspenBrushWindowsRefresh(sselfseventsnewcol((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnFgcolbtnButtons  cCsZ|i|i}|o=||_|ii||ii|i|ii ndS(N( sselfs showColDlgsbgcolsnewcolsbgbshs SetColoursBGColBtnsSetBackgroundColourspenBrushWindowsRefresh(sselfseventsnewcol((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnBgcolbtnButtons  cCsT|i|ii}|o1|ii||ii||ii ndS(N( sselfs showColDlgsbrushs GetColoursnewcols SetColours brushColBtnsSetBackgroundColourspenBrushWindowsRefresh(sselfseventsnewcol((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnBrushcolbtnButtons cCs'|i|ii|iidS(N(sselfssetModes modeChoicesGetStringSelections editWindowsRefresh(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnModeChoiceChoicescCs|i|iidS(N(seventsSkipsselfs editWindowsRefresh(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnEditWindowScrolls cCs1|ii|i|ii|iidS(N(sselfsbrushsSetStyles brushStyless spinButton1sGetValuespenBrushWindowsRefresh(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnSpinbutton1CommandScrolls cCs1|ii|i|ii|iidS(N(sselfsfgpensSetStyles penStyless spinButton2sGetValuespenBrushWindowsRefresh(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnSpinbutton2CommandScrolls cCs*|ii|ii|iidS(N(sselfsfgpensSetWidths spinButton3sGetValuespenBrushWindowsRefresh(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnSpinbutton3CommandScrollscCsKti}|iz&|i}|iti|Wd|i XdS(N( swxs TheClipboardsclipsOpensselfs getSelBmpsbmpsSetDatasBitmapDataObjectsClose(sselfseventsbmpsclip((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnCopys   cCsti}|izti}y|i|WntidnX|i i d|i d|i |i |_ddddf|_ddf|_dd|iid|iidf|_|ii|idd|ii|iWd|iXdS(Ns Not a pictureisMoveii(swxs TheClipboardsclipsOpensBitmapDataObjectsdatasGetDatasLogErrorsselfs modeChoices SetSelectionssetModessnapshots GetBitmapsdragbmps dragsrcrectsdragpossGetWidths GetHeightsselsmDCs DrawBitmaps editWindowsRefreshs imageModifiedsClose(sselfseventsdatasclip((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnPastes(     / cCs%|i|ii|idS(N(sselfsundos editWindowsRefreshsupdateImageInfo(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnUndos  cCs|i|ioT|i\}}}}|ii|||||||ii |ii n|ii |i i |i dS(N(sselfssnapshotsselsx1sy1sx2sy2smDCsSetClippingRegionsClearsDestroyClippingRegions editWindowsRefreshs imageModified(sselfseventsy2sx2sy1sx1((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnClears  !   cCs`|iiti|iiti|i|i|ii|i|i |i dS(N( sselfsmDCs SelectObjectswxs NullBitmapsbmpsSetMasksMasksfgcolsupdateImageInfos imageModified(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnSetTransparentMasks " cCsN|iiti|iit|ii|i|i|i dS(N( sselfsmDCs SelectObjectswxs NullBitmapsbmpsSetMasksNonesupdateImageInfos imageModified(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnClearTransparentMasks  cCs ti|ddd|ii|iif}z:|itijodSnt |i \}}Wd|i X|i||\}}|idd|ii|ii|idd|iti|i||ii|i|idS(NsEnter a tuple for the new sizesResizes%s, %si(swxsTextEntryDialogsselfsbmpsGetWidths GetHeightsdlgs ShowModalsID_OKsevalsGetValueswidthsheightsDestroys getTempMemDCsmDCsBlits SelectObjects NullBitmaps setMemDCBmps editWindowsRefreshsupdateImageInfos imageModified(sselfseventsdlgsmDCsheightswidthsbmp((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnResizes  ( $   c Csti|ddd|ii|iif}z^|itijodSn|ii|iif\}}t |i \}}Wd|iXt||t||f\} }|iid| d||ii| |ii|f\} } |i| | \}} |idd| | |idd|iti|iidd|i| |ii|i|idS(NsEnter a tuple for the new sizesScales%s, %siif1.0( swxsTextEntryDialogsselfsbmpsGetWidths GetHeightsdlgs ShowModalsID_OKswidth1sheight1sevalsGetValueswidth2sheight2sDestroysfloatsxScalesyScalesmDCs SetUserScaleswidthsheights getTempMemDCsBlits SelectObjects NullBitmaps setMemDCBmps editWindowsRefreshsupdateImageInfos imageModified( sselfseventsdlgsyScaleswidth2smDCswidth1sheight1sheight2sheightswidthsbmpsxScale((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnScale$s( ($ &,"   cCsB|i|i|i|ii|i|idS(N(sselfs setMemDCBmps getSelBmps clearStates editWindowsRefreshsupdateImageInfos imageModified(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnCrop>s    (Js__name__s __module__s _init_utilss _init_ctrlss__init__swxs TRANSPARENTsSOLIDsBDIAGONAL_HATCHsCROSSDIAG_HATCHsFDIAGONAL_HATCHs CROSS_HATCHsHORIZONTAL_HATCHsVERTICAL_HATCHs brushStylessDOTs LONG_DASHs SHORT_DASHsDOT_DASHs penStylessBITMAP_TYPE_BMPsBITMAP_TYPE_GIFsBITMAP_TYPE_JPEGsBITMAP_TYPE_PNGsBITMAP_TYPE_ICOs extTypeMaps initImageDatas getImageDatas imageModifiedsFalsessetModes clearStatessnapshots getImgPoss getTempMemDCs getSelBmps setMemDCBmpsupdateScrollbarssupdateImageInfosundosNones drawSelections drawPointsdrawLinesdrawBoxs drawCirclesdrawFillsdrawMovesdrawPickColoursdrawGridsOnEditWindowPaintsOnPenBrushWindowPaintsOnEditWindowLeftDownsOnEditWindowLeftUpsOnEditWindowMotionsOnSlider1ScrollThumbtracks showColDlgsOnFgcolbtnButtonsOnBgcolbtnButtonsOnBrushcolbtnButtonsOnModeChoiceChoicesOnEditWindowScrollsOnSpinbutton1CommandScrollsOnSpinbutton2CommandScrollsOnSpinbutton3CommandScrollsOnCopysOnPastesOnUndosOnClearsOnSetTransparentMasksOnClearTransparentMasksOnResizesOnScalesOnCrop(((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysImageEditorPanelsh  a (6NB               ' $ ( *  #                swxStdColourDatacBstZdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfdddfgZedZRS(NiiiicCsxtii||o|i|nd}xC|iD]8\}}}|i |ti ||||d}q8WdS(Nii( swxs ColourDatas__init__sselfscols SetColoursis stdcolourssrsgsbsSetCustomColoursColour(sselfscolsbsgsisr((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys__init__Ns (s__name__s __module__s stdcolourssNones__init__(((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pyswxStdColourDataHss__main__isImage Edit Tests.pngsImages/Modules/Pyrex.pngsrb(s EditorModelss Controllerss EditorHelper(s EditorViewss ImageViewcBs&tZdZdZdZdZRS(NsViewcCs{tii||ddtiti|dti|_ti|dti|_ t i i||fdt |_dS(Nisstyle(swxsPanels__init__sselfsparents SUNKEN_BORDERs StaticBitmaps NullBitmapsstaticBitmapSmallsstaticBitmapBigs EditorViewss EditorViewsmodelsTruesactive(sselfsparentsmodel((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys__init__ms i cCs|iiot|ii}titi|}|i i ||i i |i |i |i |i|ii ||ii |i |i d|i |i d|idndS(Ni(sselfsmodelsdatasStringIOssioswxsBitmapFromImagesImageFromStreamsbmpsstaticBitmapSmalls SetBitmaps SetDimensionssimgsepsGetWidths GetHeightsstaticBitmapBig(sselfssiosbmp((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys refreshCtrlus (s__name__s __module__sviewNames__init__simgseps refreshCtrl(((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys ImageViewks sImageEditorViewcBsbtZdZdZdZdZdZfdZedZ dZ d Z d Z d Z RS( NsEditsImages/Editor/Refresh.pngsImages/Shared/Copy.pngsImages/Shared/Paste.pngsImages/Shared/Undo.pngcCsti||tii||d|i|idfdt ddfd|i |i dfd|i |i dfd|i|idfd|iddfd|iddfdt ddfd |iddfd |iddfd |iddfdt ddfd |iddfd |iddfdt ddff|d|iiti|i|iiti|it|_ t |_!dS(NsRefreshss-sCopysPastesUndo last changesUndo view changessClearsCrops Resize...sScale...s*Use current colour to set transparent masksClear current transparent maski("sImageEditorPanels__init__sselfsparents EditorViewss EditorViewsmodels OnRefreshs refreshBmpsNonesOnCopyscopyBmpsOnPastespasteBmpsOnUndosundoBmpsOnUndoViewChangessOnClearsOnCropsOnResizesOnScalesOnSetTransparentMasksOnClearTransparentMasksactionss editWindowsBindswxsEVT_RIGHT_DOWNs OnRightDowns EVT_RIGHT_UPs OnRightClicksTruesactivessubImage(sselfsparentsmodelsactions((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys__init__s% cCs|tjo |itjo|ii}n&|i o ||_n|id}tii|iid}|i |||i i t |_|idS(Nsdatai(ssubImagesNonesselfsmodelsdatasosspathssplitextsfilenamesexts initImageDatas editWindowsRefreshsFalsesmodifiedsupdateViewState(sselfssubImagesdatasext((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys refreshCtrls     cCstii|iid}|djo d}n|i|}|i o|i d}n |ii}||jo@|i o|ii ||i q||i_t |i_ n|iii|io|iii|int|_ tii||i|idS(Nis.pys.pngsdata(sosspathssplitextsselfsmodelsfilenamesexts getImageDatasdatassubImages modelDatas updateDatasTruesmodifieds viewsModifiedscountsviewNamesremovesFalses EditorViewss EditorViews refreshModels updateEditorsupdateViewState(sselfsexts modelDatasdata((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys refreshModels$         cCst|_|idS(N(sTruesselfsmodifiedsupdateViewState(sself((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys imageModifieds cCs|idS(N(sselfs refreshModel(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys OnRefreshscCs|idS(N(sselfs refreshCtrl(sselfsevent((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnUndoViewChangess(s__name__s __module__sviewNames refreshBmpscopyBmpspasteBmpsundoBmps__init__sNones refreshCtrls refreshModels imageModifieds OnRefreshsOnUndoViewChanges(((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysImageEditorViews     sBitmapEditorFileControllercBsJtZeiZegZegZdZ dZ dZ dZ dZ RS(NsImages/EditBitmap.pngsImages/Modules/PyResBitmap.pngcCsTtii||dtddfd|i|idfd|i|i dfgSdS(Ns-ss Edit imagesConvert to module( s ControllerssPersistentControllersactionssselfsmodelsNonesOnGotoEditViews editBmpBmpsOnConvertToModules conv2ModBmp(sselfsmodel((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysactionsscCs|i}|iid on|ii}x?|iD]4\}}|t jo|ii i |tPq9q9W|it }|in|id}|idS(NsEdit(sselfsgetModelsmodelsviewsshas_keyseditorsgetActiveModulePagesmodPgesadtViewssViewswidsImageEditorViewsmainMenusChecksTruesaddViewsviews refreshCtrlsfocus(sselfseventsmodPgeswidsmodelsviewsView((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnGotoEditViews     cCs,|i}|i}t||idS(N(sselfsgetModelsmodels localFilenamesimgPathsConvertImgToPyseditor(sselfseventsmodelsimgPath((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysOnConvertToModules  (s__name__s __module__s EditorModelssBitmapFileModelsModels ImageViews DefaultViewssImageEditorViewsAdditionalViewss editBmpBmps conv2ModBmpsactionssOnGotoEditViewsOnConvertToModule(((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysBitmapEditorFileControllers     s_s-s.cCsg}|o|dtidjo|i|dnxR|dD]F}|tjo&|tjo|it|qqE|i|qEWdi|SdS(Nis_is( sressfnsstringsletterssappendscsvalidFuncCharss funcCharMapsjoin(sfnscsres((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysfileNameToFunctionNames   s-u cCshttiitii|d}|i|d\}} | o|i ddjo|i ddd}nt it ii dd}td|}tii|od |}nti|d |d |}z4|itijodSn|ii}Wd|iX|i }|i||gtid}d tid| i(d|d| i(ddt$|di)| n|i*|\} } | i-t.qdti/dndS(Nis_img.pys://iisOptions:i s-n %ss-a s"Options: %s Edit options string:simg2pysBoa Constructors modelIdents PyImgResourcesmainssrs sws=Resource module not found. img2py failed to create the module(0sfileNameToFunctionNamesosspathsbasenamessplitextsimgPathsfuncNameseditors saveAsDlgs pyResPathsoksfindssplitsimg2pys__doc__sdocsszoptscmdLinesexistsswxsTextEntryDialogsdlgs ShowModalsID_OKsGetValuesstripsDestroysoptssextendssyssargvstmpsmains sourceconstsdefSigsheadersopens readlinesssrcs startswithsinserts writelinessopenOrGotoModulesmscsOnReloadsNones LogWarning(simgPathseditorsfuncNamesheaders pyResPathstmpsdlgscmdLinesdocss sourceconstssrcscsoksmsopts((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysConvertImgToPysH(      %sCloseableImageEditorViewcBstZdZRS(NcCs0tii|dti||||idS(Ns image editor(s EditorViewssCloseableViewMixs__init__sselfsImageEditorViewsparentsmodelsclosingActionItems(sselfsparentsmodel((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys__init__7s(s__name__s __module__s__init__(((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysCloseableImageEditorView6s(sResourceSupportsPyResourceImagesViewPlugincBs tZdZdZdZRS(NsImages/EditBitmap.pngcCs8||_||_|id|i|idffdS(Ns Edit images(smodelsselfsviewsactionssextends OnEditImages editImgBmp(sselfsmodelsviewsactions((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys__init__As  c CsZ|iidjoC|ii|ii\}\}}}} t i i }|o|d|7}n|i i i| o|i ii}|it|} || _| _ |iiid|} hd| <d|<d|d<d|d <d |<d | <d |ii<d |ii<}| i|n|i i |} | indS(Nis:s get%sDatasdatasnamesstartisendiszipsiconscatseol(sselfsviewsselecteds imageSrcInfosnames dataStartLns bmpStartLineszippedsiconsResourceSupportsPyResourceImagesViewsviewNamesmodelsviewsshas_keyseditorsgetActiveModulePagesmodPgesaddViewsCloseableImageEditorViewstabNames functionssimageFunctionssdatas catalogedseolssubImages refreshCtrlsfocus( sselfseventsmodPgesnamesviewNames dataStartLnssubImages bmpStartLineszippedsviewsdatasicon((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys OnEditImageHs( b(s__name__s __module__s editImgBmps__init__s OnEditImage(((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysPyResourceImagesViewPlugin>s cCsdSdS(NsPNG  IHDRasBIT|dIDATx0 QQ=FHoeXhVmض-V $EZm|(IH(RR0fwpែ U? V7*< Z$M'{x{pwZkip\'{a IENDB`((((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pysgetEditBitmapDatafssImages/EditBitmap.png(Qsossmathstempfilesstrings cStringIOsStringIOswxswx.lib.anchorss LayoutAnchorsswx.toolssimg2pysUtilssPluginssddCanvassddGridsappends_[1]sranges _init_ctrlssNewIdswxID_IMAGEEDITORPANELswxID_IMAGEEDITORPANELBGCOLBTNs wxID_IMAGEEDITORPANELBRUSHCOLBTNswxID_IMAGEEDITORPANELEDITWINDOWswxID_IMAGEEDITORPANELFGCOLBTNswxID_IMAGEEDITORPANELMODECHOICEs#wxID_IMAGEEDITORPANELPENBRUSHWINDOWswxID_IMAGEEDITORPANELSLIDER1s wxID_IMAGEEDITORPANELSPINBUTTON1s wxID_IMAGEEDITORPANELSPINBUTTON2s wxID_IMAGEEDITORPANELSPINBUTTON3s wxID_IMAGEEDITORPANELSTATICTEXT1sPanelsImageEditorPanels ColourDataswxStdColourDatas__name__s PySimpleAppsappsInitAllImageHandlerssFramesNonesframespanelsShowsTrues initImageDatasopensreadsMainLoopssyssexits PreferencessModelss EditorModelss Controllerss EditorHelpersViewss EditorViewss EditorViews ImageViewsImageEditorViewsPersistentControllersBitmapEditorFileControllersletterssdigitssvalidFuncCharss funcCharMapsfileNameToFunctionNameszoptsConvertImgToPysCloseableViewMixsCloseableImageEditorViewsResourceSupportsPyResourceImagesViewPluginsPyResourceImagesViewspluginssregisterFileTypesgetEditBitmapDatasISs registerImage(1szopts wxID_IMAGEEDITORPANELSTATICTEXT1swxID_IMAGEEDITORPANELSLIDER1simg2pysPyResourceImagesViewPluginsvalidFuncCharssCloseableImageEditorViews funcCharMaps wxID_IMAGEEDITORPANELSPINBUTTON1s wxID_IMAGEEDITORPANELSPINBUTTON3s wxID_IMAGEEDITORPANELSPINBUTTON2s PreferencesstempfileswxID_IMAGEEDITORPANELBGCOLBTNswxID_IMAGEEDITORPANELEDITWINDOWswxID_IMAGEEDITORPANELFGCOLBTNs EditorModelssddCanvass LayoutAnchorsspanelsImageEditorPanelsmaths EditorHelpersstrings ImageViewsImageEditorViews _init_ctrlssddGrids#wxID_IMAGEEDITORPANELPENBRUSHWINDOWssyssResourceSupportswxID_IMAGEEDITORPANELswxs Controllerss wxID_IMAGEEDITORPANELBRUSHCOLBTNsStringIOsBitmapEditorFileControllers EditorViewssUtilssfileNameToFunctionNameswxID_IMAGEEDITORPANELMODECHOICEsConvertImgToPys_[1]sframesPluginssgetEditBitmapDatasappsosswxStdColourData((sb/mnt/gmirror/ports/devel/boaconstructor/work/boa-constructor-0.4.4/Plug-ins/ImageEditor.plug-in.pys?sR$    W2         W!  /