a „oe¤ã@s¢ddlZddlZddlZddlZddlZddlZdd„Zdd„Zdd„Zej eiZ dd „Z ej e iZ d d „Z d d „Zedƒeƒedƒe ƒeƒedƒdS)éNcCs$|\}}| |¡d|t |¡<dS)Né)ÚappendÚwin32guiZ GetClassName)ÚhwndZextraZhwndsÚclasses©rú:C:\Program Files\Certbot\pkgs\win32\Demos\win32gui_demo.pyÚ _MyCallback s r cCsDg}i}t t||f¡tdt|ƒt|ƒfƒd|vr@tdƒdS)Nz0Enumerated a total of %d windows with %d classesZtooltips_class32zCHrmmmm - I'm very surprised to not find a 'tooltips_class32' class.)rZ EnumWindowsr ÚprintÚlen)ZwindowsrrrrÚTestEnumWindowssÿÿr c CsXt |¡\}}t |tj¡t t ddd¡¡}t ||¡t  |tj ¡}t  |tj |d¡|t j d}t |t  |¡t  |¡t  |¡dt  |¡dddœ¡t |dd¡t |¡t |dd d d d d d d¡ t |d d d dd d d d¡ t |dd¡t |dd¡t |dd¡t |dd¡t |dd¡t |¡t |¡t ||¡dS)Néÿréé´éÿÿÿÿéú)ZM11ZM12ZM21ZM22ZDxZDyé éFéÈi^éKiRi,édéi)rÚ BeginPaintÚSetGraphicsModeÚwin32conÚ GM_ADVANCEDZCreateSolidBrushÚwin32apiZRGBZ SelectObjectÚ GetWindowLongZ GWL_USERDATAÚ SetWindowLongÚmathZpiZSetWorldTransformZcosZsinZMoveToExZ BeginPathZPieZChordZLineToZEndPathZStrokeAndFillPathÚEndPaint) rÚmsgÚwpÚlpÚdcÚpsÚbrZangleZr_anglerrrÚ OnPaint_1s<  úþ     r'c Cst |¡\}}t |tj¡t |¡\}}}} tdƒD]º} tt ¡|ƒtt ¡| ƒtt ¡dƒddddœtt ¡|ƒtt ¡| ƒdtt ¡dƒdddœtt ¡|ƒtt ¡| ƒddtt ¡dƒddœf} d} t  || | tj ¡q6t  ||¡dS)Néiÿr)ÚxÚyZRedZGreenZBlueZAlpha))rrr) rrrrrZ GetClientRectÚrangeÚintÚrandomZ GradientFillZGRADIENT_FILL_TRIANGLEr ) rr!r"r#r$r%ÚlÚtÚrÚbr)ZverticesZmeshrrrÚ OnPaint_2Ds< ú ú úï r2c Cs°t ¡}d|_tjtjBtjB|_tjd|_ t |_ t  |¡}t  |jdtjtjBdddddddd¡ }tdƒD]$}t |dd¡t ¡t d ¡qnt |¡t |jd¡dS) NZtest_win32gui_1rzSpin the Lobster!ré„riôTg{®Gáz„?)rÚWNDCLASSÚ lpszClassNamerÚCS_GLOBALCLASSÚ CS_VREDRAWÚ CS_HREDRAWÚstyleÚ COLOR_WINDOWÚ hbrBackgroundÚ wndproc_1Ú lpfnWndProcÚ RegisterClassZ CreateWindowÚ WS_CAPTIONÚ WS_VISIBLEr+ÚInvalidateRectÚPumpWaitingMessagesÚtimeÚsleepÚ DestroyWindowÚUnregisterClass)ÚwcÚ class_atomrr)rrrÚTestSetWorldTransformms2   õ   rIcCsðt ¡}d|_tjtjBtjB|_tjd|_ t |_ t  |¡}t  d|dtjtjBtjBtjBdddddddd¡ }t |tj¡}t |tj|tjB¡t |ddtj¡tdƒD]$}t |dd ¡t ¡t d ¡q°t |¡t |d¡dS) NZtest_win32gui_2rrZ Kaleidoscoperr3é¯éTg333333Ó?)rr4r5rr6r7r8r9r:r;Ú wndproc_2r=r>ZCreateWindowExr?r@Z WS_THICKFRAMEZ WS_SYSMENUrZ GWL_EXSTYLErZ WS_EX_LAYEREDZSetLayeredWindowAttributesZ LWA_ALPHAr+rArBrCrDrErF)rGrHrÚsr)rrrÚTestGradientFill‰sF  ÿþýñ   rNzEnumerating all windows...zTesting drawing functions ...zAll tests done!)rr-rCrrrr r r'ZWM_PAINTr<r2rLrIrNr rrrrÚs& " & #