;ò –÷½Cc@s9ydkZdkZeZWnTej oHydkZdkiZeZWqsej oeZdZ qsXnXd„Z e djoFdk Z dk Z dkZeie idddddd d d d d dddddddgƒ\ZZe oee ƒ‚ndZxˆeD]€Zeddjo dZqeddjo dZqeddjo d Zqeddjo d Zqeddjo d Zqeddjo d Zqeddjo d Zqeddjo dZqeddjo dZqeddjo dZqedd jo dZqedd!jo dZqedd"jo dZqedd#jo dZqqWd$e ifd%„ƒYZeeƒZeiƒngdk Z e od&e ifd'„ƒYZnd&e ifd(„ƒYZd)„Zd*klZeiZdS(+NséThe FloatCanvas requires either the Numeric or numarray module You can get them at: http://sourceforge.net/projects/numpy NOTE: The Numeric module is substantially faster than numarray for this purpose, if you have lots of objects c sšydkl‰l‰l‰Wn,tj o dkl‰l‰l‰nXdk‰dk‰dk ‰dˆi f‡‡‡‡‡‡d†ƒY}|SdS(N(s NavCanvass FloatCanvass Resourcess DrawFramec0sÛtZdZ‡‡‡d†Zd„Z‡d†Z‡d†Zd„Ze‡d†Z d„Z d„Z d „Z d „Z d „Zd „Zd „Zd„Zd„Zd„Zd„Z‡d†Zd„Zed„Zd„Zd„Ze‡‡d†Ze‡‡‡d†Z‡d†Z‡d†Ze‡‡d†Ze‡‡d†Zd„Z d„Z!d„Z"d „Z#d!„Z$d"„Z%d#„Z&d$„Z'd%„Z(d&„Z)d'„Z*e‡d(†Z+e‡d)†Z,e‡‡d*†Z-d+„Z.e‡‡d,†Z/e‡d-†Z0e‡‡d.†Z1e‡‡‡d/†Z2e‡‡‡d0†Z3e‡‡d1†Z4e‡‡d2†Z5d3„Z6‡d4†Z7e‡‡‡d5†Z8d6„Z9e‡‡‡d7†Z:‡d8†Z;d9„Z<d:d:d;„Z=RS(<s8 A frame used for the FloatCanvas Demo c søˆii||||||ƒˆi ƒ}ˆi ƒ} | i dddƒ} |iˆi|i| ƒ| i dddƒ} |iˆi|i| ƒ|i | dƒˆi ƒ}|i dddƒ} |iˆi|i| ƒ|i dd d ƒ} |iˆi|i| ƒ|i dd d ƒ} |iˆi|i| ƒ|i dd dƒ} |iˆi|i| ƒ|i dddƒ} |iˆi|i| ƒ|i dddƒ} |iˆi|i| ƒ|i dddƒ} |iˆi|i| ƒ|i dddƒ} |iˆi|i| ƒ|i dddƒ} |iˆi|i| ƒ|i dddƒ} |iˆi|i| ƒ|i dddƒ} |iˆi|i| ƒ|i dddƒ} |iˆi|i| ƒ|i dddƒ} |iˆi|i| ƒ|i dd d!ƒ} |iˆi|i | ƒ|i |d"ƒˆi ƒ}|i dd#d$ƒ} |iˆi|i"| ƒ|i |d%ƒˆi ƒ} | i dd&d'ƒ} |iˆi|i$| ƒ|i | d(ƒ|i%|ƒ|i&ƒˆi'|d)d*d+d,ƒ|_(ˆi)|ˆi*d-d.ˆi+ˆi,Bˆi-Bƒ|_.ˆi/ˆi0ƒ} | i2|i(d/ˆi3ƒ| i2|i.d0ˆi3ˆi4Bd1ƒ|i5| ƒˆi6||i7ƒˆi9|i(|i:ƒt;|_<ˆi=i>i?ƒˆi=i>i@ƒ|_AtBSdS(2Niÿÿÿÿs&ClosesClose this frames&SavePNGsSave the current image as a PNGs&Files&ClearsClear the Canvass &Draw Tests'Run a test of drawing random componentss &Line Tests"Run a test of drawing random liness Draw &MapsRun a test of drawing a maps &Text TestsRun a test of text drawings&ScaledText Tests&ScaledTextBox Tests!Run a test of the Scaled Text Boxs &Bitmap TestsRun a test of the Bitmap Objects &Hit TestsRun a test of the hit test codesHit Test &Foregrounds8Run a test of the hit test code with a foreground Objects &AnimationsRun a test of AnimationsChange &Propertiess(Run a test of Changing Object Propertiess&ArrowssRun a test of Arrowss&Hides2Run a test of the Show() Hide() Show() and methodss&Testss Zoom to &FitsZoom to fit the windows&Views&Abouts#More information About this programs&HelpsDebugisBackgroundColorsDARK SLATE BLUEs!Look Here for output from events sstyleiii(CswxsFrames__init__sselfsparentsidstitlespositionssizesMenuBarsMenus file_menusAppendsitemsBindsEVT_MENUsOnQuits OnSavePNGs draw_menusClearsDrawTestsLineTestsDrawMapsTestTextsTestScaledTextsTestScaledTextBoxs TestBitmaps TestHitTestsTestHitTestForegrounds TestAnimationsPropertiesChangeTests ArrowTestsHideTests view_menus ZoomToFits help_menusOnAbouts SetMenuBarsCreateStatusBars NavCanvassCanvassTextCtrlsID_ANYs TE_MULTILINEs TE_READONLYs SUNKEN_BORDERs MsgWindowsBoxSizersVERTICALs MainSizersAddsEXPANDsALLsSetSizers EVT_CLOSEs OnCloseWindows FloatCanvass EVT_MOTIONsOnMovesFalsesEventsAreBoundslibscolourdbsupdateColourDBs getColourListscolorssNone( sselfsparentsidstitlespositionssizes draw_menus view_menusMenuBars file_menus MainSizers help_menusitem(s NavCanvass FloatCanvasswx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys__init__-s‚           #  cCs:|ii|ƒ|ddj o|iidƒndS(Niÿÿÿÿs (sselfs MsgWindows AppendTextstext(sselfstext((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysLog›scsø|i oàˆi|i|iƒˆi|i|iƒˆi|i|i ƒˆi |i|i ƒˆi |i|i ƒˆi|i|iƒˆi|i|iƒˆi|i|iƒˆi|i|iƒˆi|i|iƒnt|_dS(N(sselfsEventsAreBounds FloatCanvass EVT_LEFT_DOWNsCanvass OnLeftDowns EVT_LEFT_UPsOnLeftUpsEVT_LEFT_DCLICKs OnLeftDoublesEVT_MIDDLE_DOWNs OnMiddleDowns EVT_MIDDLE_UPs OnMiddleUpsEVT_MIDDLE_DCLICKsOnMiddleDoublesEVT_RIGHT_DOWNs OnRightDowns EVT_RIGHT_UPs OnRightUpsEVT_RIGHT_DCLICKs OnRightDoublesEVT_MOUSEWHEELsOnWheelsTrue(sself(s FloatCanvas(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysBindAllMouseEvents¡s cs‰ˆi|itƒˆi|itƒˆi|itƒˆi|itƒˆi|itƒˆi |itƒˆi |itƒˆi |itƒˆi |itƒˆi |itƒˆi|itƒˆi|itƒˆi|itƒˆi|itƒˆi|itƒˆi |itƒˆi |itƒˆi |itƒˆi |itƒˆi |itƒt|_dS(N(s FloatCanvass EVT_LEFT_DOWNsselfsCanvassNones EVT_LEFT_UPsEVT_LEFT_DCLICKsEVT_MIDDLE_DOWNs EVT_MIDDLE_UPsEVT_MIDDLE_DCLICKsEVT_RIGHT_DOWNs EVT_RIGHT_UPsEVT_RIGHT_DCLICKsEVT_MOUSEWHEELsFalsesEventsAreBound(sself(s FloatCanvas(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysUnBindAllMouseEvents³s*cCs5|id|ifƒ|id|iƒfƒdS(Nscoords are: %sspixel coords are: %s (sselfsLogseventsCoordss GetPosition(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys PrintCoordsÓsc sŸdk}ˆi|ddd|iƒdddddˆiƒ}|iƒˆijoF|i ƒ}|d i ƒd j o|d }n|i i |ƒndS( NsmessagesSave file as ...s defaultDirs defaultFilesswildcards*.pngsstyleiüÿÿÿs.png(sosswxs FileDialogsselfsgetcwdsSAVEsdlgs ShowModalsID_OKsGetPathspathslowersCanvass SaveAsImage(sselfseventsdlgspathsos(swx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys OnSavePNGÙs  cCs|idƒ|i|ƒdS(NsLeftDown(sselfsLogs PrintCoordssevent(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys OnLeftDownæs cCs|idƒ|i|ƒdS(NsLeftUp(sselfsLogs PrintCoordssevent(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysOnLeftUpês cCs|idƒ|i|ƒdS(Ns LeftDouble(sselfsLogs PrintCoordssevent(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys OnLeftDoubleîs cCs|idƒ|i|ƒdS(Ns MiddleDown(sselfsLogs PrintCoordssevent(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys OnMiddleDownòs cCs|idƒ|i|ƒdS(NsMiddleUp(sselfsLogs PrintCoordssevent(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys OnMiddleUpös cCs|idƒ|i|ƒdS(Ns MiddleDouble(sselfsLogs PrintCoordssevent(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysOnMiddleDoubleús cCs|idƒ|i|ƒdS(Ns RightDown(sselfsLogs PrintCoordssevent(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys OnRightDownþs cCs|idƒ|i|ƒdS(Ns RightDown(sselfsLogs PrintCoordssevent(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys OnRightUps cCs|idƒ|i|ƒdS(Ns RightDouble(sselfsLogs PrintCoordssevent(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys OnRightDoubles cCs|idƒ|i|ƒ|iƒ}|t|ƒd}|iƒo|ii |dfdƒn|ii d|fdƒdS(Ns Mouse Wheelf0.10000000000000001isPanel( sselfsLogs PrintCoordsseventsGetWheelRotationsRotsabss ControlDownsCanvass MoveImage(sselfseventsRot((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysOnWheel s    cCs|idt|iƒƒdS(sK Updates the status bar with the world coordinates s %.2f, %.2fN(sselfs SetStatusTextstupleseventsCoords(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysOnMovescs:ˆi|ddˆiˆiBƒ}|iƒ|iƒdS(NsBThis is a small program to demonstrate the use of the FloatCanvas sAbout Me(swxs MessageDialogsselfsOKsICON_INFORMATIONsdlgs ShowModalsDestroy(sselfseventsdlg(swx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysOnAbouts   cCs|iiƒdS(N(sselfsCanvassZoomToBB(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys ZoomToFit#scCs8|iƒ|iiƒ|iitƒ|iiƒdS(N(sselfsUnBindAllMouseEventssCanvassClearAllsSetProjectionFunsNonesDraw(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysClear&s  cCs|itƒdS(N(sselfsClosesTrue(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysOnQuit,scCs|iƒdS(N(sselfsDestroy(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys OnCloseWindow/scsmˆiƒiƒddf}|i}|iƒ|i}|iƒ|i t ƒxºt dƒD]¬}ˆi|d|dƒˆi|d|dƒf}ˆiddƒ} ˆidt|ƒdƒ}ˆiddƒˆiddƒf} |i|| d| d||ƒq\WxÀt dƒD]²}ˆi|d|dƒˆi|d|dƒf}ˆiddƒ} ˆidt|ƒdƒ}ˆiddƒ}ˆiddƒ}|i|||fd| d||ƒqWx“t dƒD]…}ˆi|d|dƒˆi|d|dƒf}ˆidd ƒ} ˆidt|ƒdƒ}|i|d ||d | ƒqÜWx“t d ƒD]…}ˆi|d|dƒˆi|d|dƒf}ˆidd ƒ} ˆidt|ƒdƒ}|i|d ||d | ƒqrWxôt dƒD]æ}ˆi|d|dƒˆi|d|dƒf}ˆiddƒ} ˆiddƒ} ˆidt|ƒdƒ}ˆidt|ƒdƒ}|i|| d| d||d||ƒ|id||d ddt ddƒqWxåt dƒD]×}g}xat ˆiddƒƒD]G}ˆi|d|dƒˆi|d|dƒf}|i#|ƒq$Wˆiddƒ} ˆidt|ƒdƒ}ˆidt|ƒdƒ}|i$|d| d||ƒqÿWxõt dƒD]ç}g}xat ˆiddƒƒD]G}ˆi|d|dƒˆi|d|dƒf}|i#|ƒq Wˆiddƒ} ˆidt|ƒdƒ}ˆidt|ƒdƒ}|i%|d| d||d||ddƒqçWxˆt dƒD]z}g}t&i|d|dddfƒ}ˆidt|ƒdƒ}ˆiddƒ} |i'|d ||d | ƒqßWd}xœt dƒD]Ž}ˆiddƒ} ˆidt|ƒdƒ}ˆi|d|dƒˆi|d|dƒf}|i||d | d ||ddƒqpWd}xžt dƒD]}ˆi ƒdd} ˆidt|ƒdƒ}ˆi|d|dƒˆi|d|dƒf}|i+||d | d ||ddƒqWd}t&i|d|d|dfƒ}xŠt |ƒD]|}|i.||ˆiddƒdˆidd ƒdˆiddƒd|ˆidt|ƒdƒd!ˆidd"ƒƒqßW|i/ƒdS(#Niöÿÿÿi iiiis LineWidths FillColori2sColorsDiameteriôsSizes LineColors Circle # %ii sBackgroundColorsPositionscciis FillStylesSolidiids Unscaled texti(s Scaled textf0.20000000000000001is DirectionihsArrowHeadAngleiZ(0swxsGetAppsYieldsRangesselfscolorssBindAllMouseEventssCanvassClearAllsSetProjectionFunsNonesrangesisrandomsuniformsxysrandintslwslenscfswhs AddRectangleshsws AddEllipsesDsAddPointsSsAddSquarePointscls AddCirclesAddTextspointssjspointsappendsAddLines AddPolygons RandomArrays AddPointSetsStringstssPoints AddScaledTextsNsPointssAddArrowsZoomToBB(sselfseventsCanvassclscfscolorssxysStringspointstsslwsDswhsSsPointssNsPointsishsjsRangespointssw(srandomswx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysDrawTest2sÊ       4$$ 4* 4! 4! 4** 4! 4    #! 4* 4*#   c sõˆiƒiƒddf} | |_|iƒ|i}|iƒ|it ƒ|i }xºt dƒD]¬}ˆi| d| dƒˆi| d| dƒf}ˆiddƒ} ˆidt|ƒdƒ}ˆiddƒˆiddƒf} |i|| d| d||ƒqeWxºt dƒD]¬}ˆi| d| dƒˆi| d| dƒf}ˆiddƒ} ˆidt|ƒdƒ}ˆiddƒˆiddƒf} |i|| d| d||ƒq"Wxôt dƒD]æ}ˆi| d| dƒˆi| d| dƒf}ˆiddƒ} ˆiddƒ} ˆidt|ƒdƒ}ˆidt|ƒdƒ}|i|| d| d ||d||ƒ|id ||d d d t ddƒqßWxåt dƒD]×}g}xat ˆiddƒƒD]G}ˆi| d| dƒˆi| d| dƒf}|i|ƒqûWˆiddƒ} ˆidt|ƒdƒ}ˆidt|ƒdƒ}|i|d| d ||ƒqÖWxõt dƒD]ç}g}xat ˆiddƒƒD]G}ˆi| d| dƒˆi| d| dƒf}|i|ƒqãWˆiddƒ} ˆidt|ƒdƒ}ˆidt|ƒdƒ}|i |d| d ||d||ddƒq¾Wd}xžt dƒD]}ˆi ƒdd} ˆidt|ƒdƒ}ˆi| d| dƒˆi| d| dƒf}|i#||d | d||ddƒq¼W|iddfdddd ddddt$ƒ}|i#dddfd ddddt$ƒ}|i'ˆi)|i*ƒ||_+ˆi,|i-ƒ|_.d|_/|i0ƒdS(sY In this test, a relatively complex background is drawn, and a simple object placed in the foreground is moved over it. This demonstrates how to use the InForeground attribute to make an object in the foregorund draw fast, without having to re-draw the whole background. iöÿÿÿi iiiis LineWidths FillColors LineColors Circle # %isSizei sBackgroundColorsPositionscciis FillStylesSolids Scaled textf0.20000000000000001sColorisBlacksReds InForegrounds Click to Movef0.59999999999999998i2N(1swxsGetAppsYieldsRangesselfsUnBindAllMouseEventssCanvassClearAllsSetProjectionFunsNonescolorssrangesisrandomsuniformsxysrandintslwslenscfswhs AddRectangles AddEllipsesDscls AddCirclesAddTextspointssjspointsappendsAddLines AddPolygonsStringstss AddScaledTextsTruesCsTsBinds FloatCanvassEVT_FC_LEFT_DOWNsMoveMesTextsPyTimers ShowFramesTimers FrameDelaysZoomToBB(sselfseventsCanvasspointscfscolorssxysStringsclstsslwsDswhsRangesTsisjspointssC(srandomswxs FloatCanvas(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys TestAnimation¦s         4$$ 4$$ 4** 4! 4    4*0*  cs|i}|i}|i|ijoÝ|i\}}||djp||djo|i |_ n||djp||djo|i |_ n|i |i |i fƒ|i i |i |i fƒ|i iƒ|id7_ˆiƒitƒn|iiƒdS(Nii(sselfs MovingObjectsObjectsRangesTimeSteps NumTimeStepssXYsxsysdxsdysMovesTextsCanvassDrawswxsGetAppsYieldsTruesTimersStop(sselfsObjectsRangesysx(swx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys ShowFrames  "" cs…||_|i}ˆi|dd|ddƒ|_ˆi|dd|ddƒ|_d|_d|_ |i i |i ƒdS(NiiiiÈ( sObjectsselfs MovingObjectsRangesrandomsuniformsdxsdys NumTimeStepssTimeStepsTimersStarts FrameDelay(sselfsObjectsRange(srandom(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysMoveMes  %%  c s<ˆiƒiƒ|iƒ|i}|iƒ|itƒddf\} } d}d} ddf\}}d}|i||f| | fddƒ|id||fd |d d ƒ||7}|i||f| | fddƒ} d | _t| _d | _| iˆi|iƒ|id||fd |d d ƒ|i| i||| fd |d dƒ||7}d}|i||f| | fddd|ƒ} |d| _| iˆi|iƒ|id||fd |d d ƒ|i| i||| fd |d dƒd}|| 7}d}|i||f| | fddd|ƒ} |d| _| iˆi|iƒ|id||fd |d d ƒ|i| i||| fd |d dƒ||7}d}|i||f| | fddd|ƒ} |d| _| iˆi|iƒ|id||fd |d d ƒ|i| i||| fd |d dƒ||7}d}|i||d|| df|dddd|ƒ} |d| _t| _| iˆi |iƒ|id||fd |d d ƒ|i| i||| fd |d dƒd}|| 7}d}|i||d|| df|dddd|ƒ} |d| _| iˆi!|iƒ|id||fd |d d ƒ|i| i||| fd |d dƒ||7}d}|i||f| | fddd|ƒ} |d| _| iˆi"|iƒ|id ||fd |d d ƒ|i| i||| fd |d dƒ||7}d!}|i||f| | fddd|ƒ} |d| _| iˆi#|iƒ|id"||fd |d d ƒ|i| i||| fd |d dƒd}|| 7}d#}|i||f| | fddd|ƒ} |d| _| iˆi$|iƒ|id$||fd |d d ƒ|i| i||| fd |d dƒ||7}d%}|i||f| | fddd|ƒ} |d| _| iˆi%|iƒ|id&||fd |d d ƒ|i| i||| fd |d dƒ||7}d'}|i||f| | fddd|ƒ} |d| _| iˆi&|iƒ|id(||fd |d d ƒ|i| i||| fd |d dƒd}|| 7}d)}|i||f| | fddd|ƒ} || _| iˆi|i'ƒ| iˆi|i(ƒ|id*||fd |d d ƒ|i| i||| fd |d dƒ||7}d+}|i||f| | fddd|ƒ} |d| _| iˆi)|i*ƒ|id,||fd |d d ƒ|i| i||| fd |d dƒ||7}d-}|i||f| | fddd|ƒ} || _| iˆi+|i,ƒ|id.||fd |d d ƒ|i| i||| fd |d dƒd}|| 7}d/}|i||f| | fddd|ƒ} || _| iˆi)|i*ƒ| iˆi+|i,ƒ|id0||fd |d d ƒ|i| i||| fd |d dƒ||7}d1}|i||f| d2| fd3td|ƒ} || _| iˆi)|i*ƒ| iˆi+|i,ƒ|id4||fd |d d ƒ|i| i||| fd |d dƒ||7}d5}|i|d2|f| d2| fd3td|ƒ} || _| iˆi)|i*ƒ| iˆi+|i,ƒ|id6||fd |d d ƒ|i| i||| fd |d dƒd}|| 7}|i-||f|d7|d7f|| || ffddd3dƒ}d8|_|iˆi|i(ƒ|id9||fd |d d ƒ|i|i||| fd |d dƒ||7}d:}t/i0||f||d;| d<f|| || f|| || d;f|d;| d<|| d;f|d;| d<|fft/i1ƒ}|i3|ddd|ƒ} |d=| _| iˆi|i'ƒ|id>||fd |d d ƒ|i| i||| fd |d dƒ||7}d}t/i0||f||d;| d<f|| || f|| || d;f|d;| d<|| d;f|d;| d<|fft/i1ƒ}|i4|d?dd@|ƒ} dA| _| iˆi|i5ƒ|idB||fd |d d ƒ|i| i||| fd |d dƒd}|| 7}|idC||fd dDd@dd dƒ}dC|_|iˆi|i(ƒ|id9||fd |d d ƒ||7}|i7dE||fd dFd| d@dd d ƒ}|i4||fd?d<ƒdE|_|iˆi|i(ƒ|id9||fd |d dƒ||7}dG}|| d|f} |i9| d dd@|ƒ} dH| _| iˆi|iƒ|idB||fd |d d ƒ|i| i||fd |d dƒ|ii:ƒdS(INi<iiPi(is LineWidthis Not Hit-ablesSizesPositionsblsLine RectangleisLeft Click LinestlsReds FillColors RectanglesLeft Click Fills LightBlues RectanglesRight Click FillsGreys EllipsesBrownis CirclesLeft D-Click FillsPinks Left Up FillsWhites Middle Downs AQUAMARINEs Middle UpsCORALsMiddle DoubleClicksCYANsRight Ups LIME GREENsRight Double ClicksMEDIUM GOLDENRODs L and R ClicksSALMONs Mouse EntersMEDIUM VIOLET REDs Mouse LeavesSKY BLUEsEnter and LeavesWHEATi s LineColorsMouse Enter&LeavesKHAKIsMouse ENter&Leavei sA Lines Left Downs SEA GREENf2.0is Polygons RIGHT_DOWNsDiametersColorsPointSets LEFT_DOWNs Hit-able Textis Scaled Textf1.0sCyans SquarePoint(;swxsGetAppsYieldsselfsUnBindAllMouseEventssCanvassClearAllsSetProjectionFunsNoneswshsdxsdysxsysFontSizes AddRectanglesAddTextsRsNamesFalsesHitFills HitLineWidthsBinds FloatCanvassEVT_FC_LEFT_DOWNs RectGotHitscolorsEVT_FC_RIGHT_DOWNs AddEllipses AddCirclesTruesEVT_FC_LEFT_DCLICKsEVT_FC_LEFT_UPsEVT_FC_MIDDLE_DOWNsEVT_FC_MIDDLE_UPsEVT_FC_MIDDLE_DCLICKsEVT_FC_RIGHT_UPsEVT_FC_RIGHT_DCLICKsRectGotHitRightsRectGotHitLeftsEVT_FC_ENTER_OBJECTs RectMouseOversEVT_FC_LEAVE_OBJECTsRectMouseLeavesAddLinesLsNumericsarraysFloatsPointss AddPolygons AddPointSetsPointSetGotHitsTs AddScaledTextsPointsAddSquarePointsZoomToBB(sselfseventsCanvasscolorsLsPointssFontSizesTsdxsdysPointshsRswsysx(swxs FloatCanvas(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys TestHitTest"st    "" $   ") * ") * ") * ") 8  ") 8 ") * ") * ") * ") * ") * ") * ") * ") * ") * ") . ") 2 ") F ") ‹ ") ‹ ") * " 2 "  "%c s͈iƒiƒ|iƒ|i}|iƒ|itƒddf\}}d}d} ddf\} } d}|i| | f||fddd|d tƒ}|d |_t|_|iˆi|iƒ|id | | fd d ƒ|i|i| | |fd dƒg|_|d|df}| |7} d}|i| | f|ddd|d tƒ}t|_|iˆi|iƒ|id| |d| |dfd dd tƒ} |ii|| fƒ| |d7} |i| | f|ddd|d tƒ}t|_|iˆi|i ƒ|id| |d| |dfd dd tƒ} |ii|| fƒ| |d8} | |d7} |i| | f|ddd|d tƒ}t|_|iˆi|i!ƒ|id| |d| |dfd dd tƒ} |ii|| fƒ| |d7} |i| | f|ddd|d tƒ}t|_|iˆi|i"ƒ|id| |d| |dfd dd tƒ} |ii|| fƒ|ii#ƒdS(Ni<iiPi(sReds LineWidthis FillColors InForegrounds RectanglesLeft Click FillsPositionsblstls LightBluesLeftisccsRightsUpsDown($swxsGetAppsYieldsselfsUnBindAllMouseEventssCanvassClearAllsSetProjectionFunsNoneswshsdxsdysxsyscolors AddRectanglesFalsesRsNamesTruesHitFillsBinds FloatCanvassEVT_FC_LEFT_DOWNs RectGotHitsAddTexts MovingRectssWHs RectMoveLeftsLsextends RectMoveRights RectMoveUps RectMoveDownsZoomToBB( sselfseventsdxscolorshsCanvassWHsRswsdysysxsL(s FloatCanvasswx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysTestHitTestForegroundsZ    0  #  * 4* 4* 4* 4cCs|idƒdS(Nsleft(sselfs MoveRects(sselfsObject((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys RectMoveLeft@scCs|idƒdS(Nsright(sselfs MoveRects(sselfsObject((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys RectMoveRightCscCs|idƒdS(Nsup(sselfs MoveRects(sselfsObject((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys RectMoveUpFscCs|idƒdS(Nsdown(sselfs MoveRects(sselfsObject((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys RectMoveDownIscCs³xŸ|iD]”}|i\}}|djo|d8}nR|djo|d7}n7|djo|d7}n|djo|d8}n|i||fƒq W|ii ƒdS(Nslefti srightsupsdown( sselfs MovingRectssObjectsXYsXsYsDirsSetPointsCanvassDraw(sselfsDirsYsXsObject((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys MoveRectsLs     cCs|i|idƒdS(NsGot Hit (sselfsLogsObjectsName(sselfsObject((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysPointSetGotHitVscCs|i|idƒdS(NsGot Hit (sselfsLogsObjectsName(sselfsObject((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys RectGotHitYscCs|i|idƒdS(NsGot Hit With Right (sselfsLogsObjectsName(sselfsObject((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysRectGotHitRight\scCs|i|idƒdS(NsGot Hit with Left (sselfsLogsObjectsName(sselfsObject((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysRectGotHitLeft_scCs|id|iƒdS(NsMouse entered:(sselfsLogsObjectsName(sselfsObject((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys RectMouseOverbscCs|id|iƒdS(Ns Mouse left (sselfsLogsObjectsName(sselfsObject((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysRectMouseLeaveesc süˆiƒiƒ|iƒ|i}|iƒ|itƒddf}|i ddfddfdddtƒd}|ii d |d d d d ddddƒ|ii d|d d d dddddƒ|ii d|d d d dddddƒ|ii d|d d d ddd ddƒ|i |d dddƒddf}|i |d dddƒ|ii d|d d d dddƒ|ii d|d d d ddd ƒdd!f}|i |d dddƒ|ii d"|d d d ddd#ƒ|ii d$|d d d ddd%ƒdd&f}|i |d dddƒ|ii d'|d d d ddd(ƒ|ii d)dd*fd d+ƒ|ii d,dd-fd dƒ|ii d.ddfd d/ƒ|ii d0ddfd1ˆiƒ|ii d2dd3fd1ˆiƒ|ii d4dd&fd1ˆiƒ|ii d5dd6fd1ˆiƒ|ii d7dd8fd1ˆid9ˆiƒ|ii d:dd;fd1ˆid9ˆid<ˆiƒˆidˆiˆiˆitd=ƒ}|ii d>dd?fd@|ƒ|iiƒdS(ANiiiöÿÿÿis LineWidthis LineColors Some textsTop LeftsSizeisColorsYellowsBackgroundColorsBluesPositionstls Bottom LeftsCyansBlacksbls Top Rightstrs Bottom RightsbrsWhitesDiameteris Top Centerstcs Bottom Centersbcis Center Rightscrs Center Leftscliþÿÿÿs Center Centersccs 40 Pixelsii(s 20 Pixelsis 10 Pixelsi s MODERN FontsFamilysDECORATIVE Fontiÿÿÿÿs ROMAN Fonts SCRIPT FontiýÿÿÿsROMAN BOLD FontiüÿÿÿsWeightsROMAN ITALIC BOLD FontiûÿÿÿsStyles zapf chanceryszapf chancery FontiúÿÿÿsFont(swxsGetAppsYieldsselfsBindAllMouseEventssCanvassClearAllsSetProjectionFunsNonesPoints AddRectanglesStringsAddTexts AddPointSetsMODERNs DECORATIVEsROMANsSCRIPTsBOLDsITALICsFontsDEFAULTsNORMALsFalsesZoomToBB(sselfseventsStringsPointsCanvassFont(swx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysTestTextisT       ++++ %% %%    """"+4'c sæˆiƒiƒ|iƒ|i}|iƒ|itƒddf}|i d|ddddddd d ƒ}|i d |dddd dd d dƒ}|i d|dddd dd d dƒ}|i d|ddddddd dƒ}|i |ddddƒddf}|i d|dddd d dƒ|i d|ddddd dƒ|i |ddddƒddf}|i d|dddd d d ƒ|i d!|dddd d d"ƒ|i |ddddƒd#}|ii d$|dfddd%ˆiddddfƒ|ii d&|d'fddd%ˆidddd(fƒ|ii d)|dfddd%ˆiƒ|ii d*|d+fddd%ˆiƒ|ii d,|d-fddd%ˆid.ˆiƒ|ii d/|d0fddd%ˆid.ˆid1ˆiƒ|i |dfddddƒd2d3f}ˆid4ˆiˆiˆitd5ƒ}|ii d6|ddd7|d dƒ}d0d0f}ˆid4ˆiˆiˆitd8ƒ}|ii d9|dd:d7|ƒ}|iiƒdS(;NisTop LeftsSizeisColorsYellowsBackgroundColorsBluesPositionstls Bottom LeftsCyansBlacksbls Top Rightstrs Bottom RightsbrsRedsDiameteriis Top Centeristcs Bottom CentersWhitesbciìÿÿÿs Center Righti scrs Center Leftscli8ÿÿÿs MODERN FontsFamilysDECORATIVE Fontiöÿÿÿis ROMAN Fonts SCRIPT FontiâÿÿÿsROMAN BOLD FontiØÿÿÿsWeightsROMAN ITALIC BOLD FontiÎÿÿÿsStyleiœÿÿÿi2i s zapf chanceryszapf chancery FontsFontsbookmans Bookman Fonti(swxsGetAppsYieldsselfsBindAllMouseEventssCanvassClearAllsSetProjectionFunsNonesPoints AddScaledTextsTs AddPointSetsxsMODERNs DECORATIVEsROMANsSCRIPTsBOLDsITALICsFontsDEFAULTsNORMALsFalsesZoomToBB(sselfseventsPointsCanvassTsxsFont(swx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysTestScaledText§sN       *** "" ""77((1: '' '!c sZˆiƒiƒ|iƒ|i}|iƒ|itƒddf}|i d|ddddtdd d d d d dtdddˆi dˆi dˆi dt dddddt ƒ}|i d|dƒ}|i d|ddddd d d dddˆiddƒ}|i d|ddddd d d dddˆiddƒ}|iˆi|iƒ|i|ddƒdd f}|i d|ddddd dd!d d"d ddtdddˆidˆi dˆi dt dd#dddt ƒ}|i d|d$dddd dd!d d"d ddtdddˆidˆi dˆi dt dd%dddt ƒ}|i|ddƒdd&f}|i d|ddddd dd!d d"d ddtdd'dˆidˆi dˆi dt dd(dddt ƒ}|i d)|d$dddd dd!d d"d ddtdd*dˆidˆi dˆi dt dd+dddt ƒ}|i|ddƒ|i d,d-dfddd.d ddd/dd*dˆiƒ}|i d0d-d/fddd.d ddddd*dˆi dd1ƒ}tid2d3ftiƒ}|i d4|d5d'dd.d d dddd6dˆi dd7d8d9ƒ}|i|d dƒtid:d;ftiƒ}xod<dddgD][}|i d=||d5ddd dtd d dd.dtdddˆi d|d8d9ƒ }q“W|i|d dƒtid3d>ftiƒ}|i d?|d5ddd dd@d d dd.dtdddˆi dd<ddAd8d9ƒ }tid3d/ftiƒ}|i dB|d5ddd dd@dtdtdddˆi dd<dd1d8d9ƒ }tid2dCftiƒ}|i dD|d5d'dd.d d ddddEdˆi dd7d8d9ddAƒ }|iiƒdS(FNi-i(sA Two Line StringisColorsBlacksBackgroundColors LineColorsReds LineStylesSolids LineWidthisWidthsPadSizeisFamilysStylesWeights UnderlinesPositionsbrs Alignmentslefts InForegroundsYellowsblsA String This box is clickablestrsDiameteriisBluesLongDashscrf1.5scliöÿÿÿistcsA three Line Stringf0.5sbcs.Some Auto Wrapped Text. There is enough to do.iPsWhiteisVSome more auto wrapped text. Wrapped to a different width. This is another paragraph.srightidiìÿÿÿsiHere is even more auto wrapped text. This time the line spacing is set to 0.8. The Padding is set to 0.sSizef0.0sccs LineSpacingf0.80000000000000004iiØÿÿÿstls-Here is a four liner another line Position=%si<sHere is some centered texts LightBluescentersHere is some right aligned textiÄÿÿÿsnHere is some auto wrapped text. This time it is centered, rather than right aligned. The Padding is set to 2.f2.0(swxsGetAppsYieldsselfsUnBindAllMouseEventssCanvassClearAllsSetProjectionFunsNonesPointsAddScaledTextBoxsROMANsNORMALsFalsesBoxsTELETYPEsBinds FloatCanvassEVT_FC_LEFT_DOWNsbinding2sAddPointsNumericsarraysFloatsPositionsZoomToBB(sselfseventsBoxsPointsCanvassPosition(s FloatCanvasswx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysTestScaledTextBoxßs–                                                            cCs|idƒdS(NsI'm the TextBox(sselfsLog(sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysbinding2Ísc smˆiƒiƒ|iƒ|i}|iƒ|itƒ|i ddfddfddddd d ƒˆi ƒ}|i d d d fƒddf}|i||ddƒ}|i|ddddƒddf}|i||ddƒ}|i|ddddƒddf}|i||ddƒ}|i|ddddƒddf}|i||ddƒ}|i|ddddƒddf}|i||ddƒ}|i|ddddƒddf}|i||ddƒ}|i|ddddƒddf}|i||ddƒ}|i|ddddƒddf}|i||ddƒ}|i|ddddƒddf}|i||dd ƒ}|i|ddddƒ|id!d"d#fd$dddƒdd%f}|i||d&ddd ƒ}|i||d&dddƒ}|i|ddddƒdd%f}|iˆiƒ|d&dƒ}|iiƒdS('Ni iiids LineWidthis LineColorsBlues FillColorsRedsThese are Unscaled Bitmaps:iŒiZi–i2sPositionsccsDiameterisColorsGreeniÈsbrsblstrstliúscrscli,stcsbcsThese are Scaled Bitmaps:iÜiÄÿÿÿsSizeiœÿÿÿsHeight(swxsGetAppsYieldsselfsUnBindAllMouseEventssCanvassClearAllsSetProjectionFunsNones AddRectangles ResourcessgetMagPlusBitmapsbmpsAddTextsPoints AddBitmapsBitMapsAddPoints AddScaledTextsAddScaledBitmapsgetMondrianImagesZoomToBB(sselfseventsPointsCanvassBitMapsbmp(s Resourcesswx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys TestBitmapÐs^                "  cs¼ˆiƒiƒdk}dk}|iƒ|iiƒ|ii dƒ|i dƒˆiƒiƒ|i |i i ddƒddƒ}x|D]}|ii|ƒq‘W|iiƒdS(Ns FlatEarthsLoading Map from a Filesdatas world.datsstatsi(swxsGetAppsYieldsosstimesselfsBindAllMouseEventssCanvassClearAllsSetProjectionFunsLogs Read_MapGenspathsjoins ShorelinesssegmentsAddLinesZoomToBB(sselfseventssegmentstimesoss Shorelines(swx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysDrawMaps   $csˆiƒiƒdk} dk} |i} ddf}|i}|i ƒ|i t ƒg}g}g}x¿tdƒD]±}ˆi|d|dƒˆi|d|dƒˆi|d|dƒˆi|d|dƒf} |i| ƒ|iˆiddƒƒ|iˆidt| ƒdƒƒqvWxTt|||ƒD]@\} } }|i| dd!| dd!fd|d | | ƒq>W|iƒdS( Niöÿÿÿi iÐiiiis LineWidths LineColor(swxsGetAppsYieldsosstimesselfscolorssRangesCanvassClearAllsSetProjectionFunsNones linepointss linecolorss linewidthssrangesisrandomsrandintspointssappendslenszipscolorswidthsAddLinesZoomToBB(sselfseventsCanvass linecolorss linepointsswidthsisRanges linewidthsscolorscolorsspointsstimesos(srandomswx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysLineTest's(      b '5c sˆiƒiƒddf}|i}|iƒ|i}|iƒ|i t ƒg}xUt dƒD]G}ˆi|d|dƒˆi|d|dƒf}|i|ƒqbWdGHˆiƒ}x!|D]}|i|ddƒqÅWdˆiƒ|GH|iƒdS( NiüÿÿièiisDrawing the PointssDiameteris$It took %s seconds to add the points(swxsGetAppsYieldsBigRangesselfscolorssUnBindAllMouseEventssCanvassClearAllsSetProjectionFunsNonescoordssrangesisrandomsuniformsPointsappendstimesclocksstartsAddPointsZoomToBB( sselfseventsBigRangesCanvassPointsisstartscolorsscoords(srandomstimeswx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys SpeedTestDs&       4 c s¬ˆiƒiƒddf}|i}|iƒ|i}|iƒ|i t ƒg|_ g|_ g|_ g|_ˆi|d|dƒˆi|d|dƒf}ˆiddƒ} ˆidt|ƒdƒ}ˆiddƒˆiddƒf} |i|| d| d||ƒ|_|i i|iƒˆi|d|dƒˆi|d|dƒf}ˆiddƒ} ˆidt|ƒdƒ}ˆiddƒˆiddƒf} |i|| d| d||ƒ|_|i i|iƒˆi|d|dƒˆi|d|dƒf}ˆiddƒ} ˆiddƒ} ˆidt|ƒdƒ}ˆidt|ƒdƒ}|i i|i|||| ƒƒˆi|d|dƒˆi|d|dƒf}ˆiddƒ} ˆiddƒ} ˆidt|ƒdƒ}ˆidt|ƒdƒ}|i || d| d ||d||ƒ|_!|i i|i!ƒg}xat#ˆid dƒƒD]G}ˆi|d|dƒˆi|d|dƒf}|i|ƒq“Wˆiddƒ} ˆidt|ƒdƒ}ˆidt|ƒdƒ}|i i|i&|d| d ||ƒƒt'i|d|dd d fƒ}ˆidd ƒ} ˆidt|ƒdƒ}ˆidt|ƒdƒ}|i i|i(|d| d ||d||d d ƒƒt'i|d|ddd fƒ}ˆidt|ƒdƒ}ˆiddƒ} |i)|d||d| ƒ|_*|i i|i*ƒt'i|d|dd fƒ}ˆidt|ƒdƒ}ˆiddƒ} |i|d||d| ƒ|_|i i|iƒd}ˆiddƒ} ˆidt|ƒdƒ}ˆi|d|dƒˆi|d|dƒf}|ii|i-||d| d||ddƒƒd}ˆiƒdd} ˆidt|ƒdƒ}ˆi|d|dƒˆi|d|dƒf}|ii|i.||d| d||ddƒƒ|iddfddfdt ddƒ} |i.dddfdd dd!ddƒ| i0ˆi2|i3ƒ|i4ƒdS("Niöÿÿÿi iiis LineWidths FillColori2s LineColoriis FillStylesSolididisColorsDiameters Unscaled texti(sSizesPositionsccs Scaled textif0.20000000000000001iôÿÿÿis LineStylesRedsClick Here To Change Propertiesf-10.5f0.69999999999999996sBlack(5swxsGetAppsYieldsRangesselfscolorssUnBindAllMouseEventssCanvassClearAllsSetProjectionFunsNonesColorObjectsAllsColorObjectsLinesColorObjectsColorsColorObjectsTextsrandomsuniformsPointsrandintslwslenscfswhs AddRectangles Rectanglesappends AddEllipsesEllipsesxysDsclsAddPoints AddCirclesCirclespointssrangesjspointsAddLines RandomArrays AddPolygons AddPointSetsPointSetsStringstssAddTexts AddScaledTextsButtonsBinds FloatCanvassEVT_FC_LEFT_DOWNsChangePropertiessZoomToBB(sselfseventsCanvassclscfscolorssxysStringspointstsslwsDsButtonswhsRangesPointsjspoints(srandomswxs FloatCanvas(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysPropertiesChangeTest[s¤          4$%4$%4#4/4)#   #" "4242*   csÃ|i}ddf}x¡|iD]–}|i|ˆidt|ƒdƒƒ|i |ˆidt|ƒdƒƒ|i ˆiddƒƒ|i ˆi iiƒˆiddƒƒqWxz|iD]o}|i |ˆidt|ƒdƒƒ|i ˆiddƒƒ|i ˆi iiƒˆiddƒƒqÃWx8|iD]-}|i|ˆidt|ƒdƒƒq@Wx_|iD]T}|i|ˆidt|ƒdƒƒ|i|ˆidt|ƒdƒƒq{W|iiˆiddƒƒ|iiˆiddƒƒ|iiˆiddƒƒx‚|i|ifD]n}ˆi|d|dƒˆi|d|dƒf}ˆiddƒˆiddƒf}|i||ƒq:W|iidt ƒdS( Niöÿÿÿi iiiiisForce(!sselfscolorssRangesColorObjectsAllsObjects SetFillColorsrandomsrandintslens SetLineColors SetLineWidths SetLineStyles FloatCanvass DrawObjects LineStyleListskeyssColorObjectsLinesColorObjectsColorsSetColorsColorObjectsTextsSetBackgroundColorsCircles SetDiametersPointSetsPoints RectanglesEllipsesuniformswhsSetShapesCanvassDrawsTrue(sselfsObjectsPointscolorsswhsRange(srandoms FloatCanvas(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysChangePropertiesÎs<   ''- '- + '+4$c sªˆiƒiƒ|iƒ|i}|iƒ|itƒ|i ddfddfdtƒ|i ddfddddƒ|i ddfdddd d d dd d dƒ|i ddfddddd dddd dƒ|i ddfddddd dddd dƒ|i ddfddddd dddd dƒ|i ddfddddd dddd dƒ|i ddfddddd dddd dƒ|i ddfddddd d ddd dƒ|i d dd!fd"d#ƒ|i dd!fdddd dddd dƒ}|i ˆi|iƒ|i d$d%dfd"d&ƒ|i d%dfdddd dddd dƒ|_|ii ˆi|iƒ|iƒdS('Niis LineColori sLengthi(s Directioni2i-s LineWidthisBlacksArrowHeadAnglei<iZisRediiFi‡iiPi´isBlueiáidisGreenini;sClickable ArrowisPositionsbcsChangable Arrowiscc(swxsGetAppsYieldsselfsUnBindAllMouseEventssCanvassClearAllsSetProjectionFunsNones AddRectanglesAddArrowsAddTextsArrowsBinds FloatCanvassEVT_FC_LEFT_DOWNs ArrowClickedsRotArrows RotateArrowsZoomToBB(sselfseventsCanvassArrow(s FloatCanvasswx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys ArrowTestês*    "111111103cCs dGHdS(NsThe Arrow was Clicked((sselfsevent((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys ArrowClicked scsV|ii|iiˆiddƒ|iiˆiddƒƒ|ii dt ƒdS(Niìÿÿÿii¦ÿÿÿiZsForce( sselfsRotArrowsSetLengthDirectionsLengthsrandomsrandints DirectionsuniformsCanvassDrawsTrue(sselfsevent(srandom(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys RotateArrow s"c sˆiƒiƒ|iƒ|i}|iƒ|itƒddf} g} xUt dƒD]G}ˆi| d| dƒˆi| d| dƒf}| i|ƒqYW|i| dddd d d d d ƒ}g} xUt dƒD]G}ˆi| d| dƒˆi| d| dƒf}| i|ƒqÞW|i| dddd d dd d dtƒ}|idddfdddddddddƒ}|iˆi|iƒ||_|idddfdddddddddƒ}|iˆi|iƒ||_|iƒdS(Niöÿÿÿi iiis LineWidthis LineColorsBlacks FillColors LightBlues FillStylesSolidsPurples InForegrounds Click To Hide Background Polygonf0.5sBackgroundColorsRedsPadSizesPositionstrs Alignmentscenters Click To Hide Foreground Polygoni(swxsGetAppsYieldsselfsUnBindAllMouseEventssCanvassClearAllsSetProjectionFunsNonesRangespointssrangesjsrandomsuniformspointsappends AddPolygonsPolysTruesPoly2sAddScaledTextBoxs HideButtonsBinds FloatCanvassEVT_FC_LEFT_DOWNsHidePolys HideButton2sZoomToBB( sselfsevents HideButtonspointsPoly2sjsCanvassPolys HideButton2sRangespoints(srandoms FloatCanvasswx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysHideTests\      4   4          cCsw|i}|io*|iƒ|i|iiddƒƒn'|iƒ|i|iiddƒƒ|i i t ƒdS(NsHidesShow( sButtonsHidePolysPolysVisiblesHidesSetTextsStringsreplacesShowsselfsCanvassDrawsTrue(sselfsButtonsPoly((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysHidePolyQs     c s ˆiƒiƒ|iƒ|i}|iƒ|itƒddf}g}xUt dƒD]G}ˆi|d|dƒˆi|d|dƒf}|i|ƒqYW|i|dddd d d d d ƒ}|iˆi|iƒt|_g|_t|_|iƒdS(Niöÿÿÿi iiis LineWidthis LineColorsBlacks FillColors LightBlues FillStylesSolid(swxsGetAppsYieldsselfsUnBindAllMouseEventssCanvassClearAllsSetProjectionFunsNonesRangespointssrangesjsrandomsuniformspointsappends AddPolygonsPolysBinds FloatCanvassEVT_FC_LEFT_DOWNs SelectPolys SelectedPolys SelectPointss SelectedPointsZoomToBB(sselfseventspointsjsCanvassPolysRangespoints(srandoms FloatCanvasswx(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysTempTest[s*      4     cs¼dGH|i}||ijon#||_|i|iƒg|_xgt|iƒD]V\}}|i |ddddƒ}||_ |i ˆi|iƒ|ii|ƒqTW|iƒdS(Ns In SelectPolysDiameterisColorsRed(sselfsCanvassObjects SelectedPolys RemoveObjectss SelectPointss enumeratesPointssispoints AddPointSetsPs VerticeNumsBinds FloatCanvassEVT_FC_LEFT_DOWNsSelectPointHitsappendsDraw(sselfsObjectsCanvasspointsisP(s FloatCanvas(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys SelectPolyxs     cCsd|iGH||_dS(NsPoint Num: %i Hit(sPoints VerticeNumsselfs SelectedPoint(sselfsPoint((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysSelectPointHit‹s icCs²dk}t|dƒ} | iƒ}t|i|ƒ}g}g}xp|D]h} | o[| djo+|o|i t i |ƒƒng}q±|i tt|i| ƒƒƒqIqIW|o|i t i |ƒƒn|oSt|ƒ} d} x|D]}| t|ƒ} qöW| | } dG| GHdG| GHn|osg}xb|D]Z}|i |dƒx/|dd!D] }|i |ƒ|i |ƒqiW|i |dƒqDW|Sn|SdS( sh This function reads a MapGen Format file, and returns a list of NumPy arrays with the line segments in them. Each NumPy array in the list is an NX2 array of Python Floats. The demo should have come with a file, "world.dat" that is the shorelines of the whole world, in MapGen format. Nsrts# -bisNumber of Segments: s&Average Number of Points per segment: iiÿÿÿÿ(sstringsopensfilenamesfiles readlinessdatasmapsstrips ShorelinesssegmentslinesappendsNumericsarraysfloatssplitsstatsslens NumSegmentss NumPointss AvgPointssAllLinessLinesspoint(sselfsfilenamesstatssAllLinessLinessstringspointsdatassegments NumPointss AvgPointssfiles NumSegmentsslines Shorelines((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys Read_MapGensL     '     (>s__name__s __module__s__doc__s__init__sLogsBindAllMouseEventssUnBindAllMouseEventss PrintCoordssNones OnSavePNGs OnLeftDownsOnLeftUps OnLeftDoubles OnMiddleDowns OnMiddleUpsOnMiddleDoubles OnRightDowns OnRightUps OnRightDoublesOnWheelsOnMovesOnAbouts ZoomToFitsClearsOnQuits OnCloseWindowsDrawTests TestAnimations ShowFramesMoveMes TestHitTestsTestHitTestForegrounds RectMoveLefts RectMoveRights RectMoveUps RectMoveDowns MoveRectssPointSetGotHits RectGotHitsRectGotHitRightsRectGotHitLefts RectMouseOversRectMouseLeavesTestTextsTestScaledTextsTestScaledTextBoxsbinding2s TestBitmapsDrawMapsLineTests SpeedTestsPropertiesChangeTestsChangePropertiess ArrowTests ArrowClickeds RotateArrowsHideTestsHidePolysTempTests SelectPolysSelectPointHits Read_MapGen((srandoms Resourcess NavCanvasstimeswxs FloatCanvas(sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys DrawFrame%sv n                 t^  Þ@          >8î As  :   ( s floatcanvass NavCanvass FloatCanvass Resourcess ImportErrorswx.lib.floatcanvasswx.lib.colourdbswxstimesrandomsFrames DrawFrame(srandoms FloatCanvass NavCanvasstimes DrawFrames Resourcesswx((srandoms FloatCanvass NavCanvasstimes Resourcesswxsk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysBuildDrawFrames +ÿÿÿÿÿÿžs__main__islslocalsallstextsmapsstextsstextboxsbitmapshitshitfsanimatesspeedstempspropssarrowshideis--alls--texts--maps--stexts --stextboxs--bitmaps--hits--hitfs --animates--speeds--temps--propss--arrows--hidesDemoAppcBs tZdZd„Zd„ZRS(så How the demo works: Under the Draw menu, there are three options: *Draw Test: will put up a picture of a bunch of randomly generated objects, of each kind supported. *Draw Map: will draw a map of the world. Be patient, it is a big map, with a lot of data, and will take a while to load and draw (about 10 sec on my 450Mhz PIII). Redraws take about 2 sec. This demonstrates how the performance is not very good for large drawings. *Clear: Clears the Canvas. Once you have a picture drawn, you can zoom in and out and move about the picture. There is a tool bar with three tools that can be selected. The magnifying glass with the plus is the zoom in tool. Once selected, if you click the image, it will zoom in, centered on where you clicked. If you click and drag the mouse, you will get a rubber band box, and the image will zoom to fit that box when you release it. The magnifying glass with the minus is the zoom out tool. Once selected, if you click the image, it will zoom out, centered on where you clicked. (note that this takes a while when you are looking at the map, as it has a LOT of lines to be drawn. The image is double buffered, so you don't see the drawing in progress) The hand is the move tool. Once selected, if you click and drag on the image, it will move so that the part you clicked on ends up where you release the mouse. Nothing is changed while you are dragging. The drawing is too slow for that. I'd like the cursor to change as you change tools, but the stock wxCursors didn't include anything I liked, so I stuck with the pointer. Please let me know if you have any nice cursor images for me to use. Any bugs, comments, feedback, questions, and especially code are welcome: -Chris Barker Chris.Barker@noaa.gov cOstii|||ŽdS(N(swxsApps__init__sselfsargsskwargs(sselfsargsskwargs((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys__init__+scCsÍtiƒtƒ}|tddtiddfƒ}|i|ƒ|i ƒt djo|i ƒn`t djo|i ƒnEt djo|i ƒn*t djo|iƒnt djo|iƒnôt d jo|iƒnÙt d jo|iƒn¾t d jo|iƒn£t d jo|iƒnˆt d jo|iƒnmt djo|iƒnRt djo|iƒn7t djo|iƒnt djo|iƒntSdS(NiÿÿÿÿsFloatCanvas Demo Appi¼stextsstextsstextboxsbitmapsallsmapshitshitfsanimatesspeedstempspropssarrowshide(swxsInitAllImageHandlerssBuildDrawFrames DrawFramesNonesDefaultPositionsframesselfs SetTopWindowsShows StartUpDemosTestTextsTestScaledTextsTestScaledTextBoxs TestBitmapsDrawTestsDrawMaps TestHitTestsTestHitTestForegrounds TestAnimations SpeedTestsTempTestsPropertiesChangeTests ArrowTestsHideTestsTrue(sselfs DrawFramesframe((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysOnInit.sR  !                (s__name__s __module__s__doc__s__init__sOnInit(((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysDemoAppùs 0 s TestPanelcBstZd„ZRS(NcCs ||_tii||dƒdk}ti|dtƒ}ti|ddƒ}ti ti ƒ}|iddfdƒ|i|dtiƒ|i|dtitiBdƒ|iti|d|iƒƒdtiƒ|iddfdƒ|i|ƒ|iƒdS(Niÿÿÿÿs+This is what the FloatCanvas can look like:i iii(slogsselfswxsPanels__init__sparentsimagess StaticTexts errorTextsnote1snote2sBoxSizersVERTICALsSsAdds ALIGN_CENTERsBOTTOMs StaticBitmapsgetFloatCanvasBitmapsSetSizersLayout(sselfsparentslogsnote1snote2sSsimages((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys__init__gs   + (s__name__s __module__s__init__(((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys TestPanelfscBstZd„Zd„ZRS(NcCs#||_tii||dƒti|ddƒ}ti|ddƒ}ti |ddƒ}|i ti |i ƒtitiƒ}|iddfdƒ|i|dtiƒ|i|dtitiBdƒ|i|dtitiBdƒ|iddfdƒ|i|ƒ|iƒdS( NiÿÿÿÿsThe FloatCanvas Demo needssa separate framesOpen Demo Frame Nowi iii(slogsselfswxsPanels__init__sparents StaticTextsnote1snote2sButtonsbsBinds EVT_BUTTONsOnButtonsBoxSizersVERTICALsSsAdds ALIGN_CENTERsBOTTOMsALLsSetSizersLayout(sselfsparentslogsbsnote1snote2sS((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys__init__{s    cCsBtƒ}|tddtiddfƒ}|iƒ|iƒdS(NiÿÿÿÿsFloatCanvas Drawing Windowiô(sBuildDrawFrames DrawFramesNoneswxsDefaultPositionsframesShowsDrawTest(sselfsevts DrawFramesframe((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysOnButtonŒs ! (s__name__s __module__s__init__sOnButton(((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys TestPanelzs cCst||ƒ}|SdS(N(s TestPanelsnbslogswin(sframesnbslogswin((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pysrunTest”s(s floatcanvas(sNumerics RandomArraysTrues haveNumerics ImportErrorsnumarraysnumarray.random_arrays random_arraysFalses errorTextsBuildDrawFrames__name__swxssyssgetoptsargvsoptlistsargss StartUpDemosoptsAppsDemoAppsappsMainLoopsPanels TestPanelsrunTestswx.libs floatcanvass__doc__soverview(soverviewsapps errorTextsoptlistsDemoApps floatcanvass RandomArraysgetopts StartUpDemos TestPanelsoptsargsssyss haveNumericswxsNumericsrunTestsBuildDrawFrame((sk/mnt/gmirror/ports/x11-toolkits/py-wxPython26-common/work/wxPython-src-2.6.3.3/wxPython/demo/FloatCanvas.pys?s‚       ÿÿÿÿÿÿª  O             d