a „oeAã@sHddlZddlZddlZddlZGdd„dƒZedkrDeƒZe ¡dS)éNc@sDeZdZdd„Zdd„Zdd„Zdd„Zd d „Zd d „Zd d„Z dS)Ú ViewerWindowcCs d|_dS©N)ÚhwndNextViewer)Úself©rúFC:\Program Files\Certbot\pkgs\win32\Demos\win32clipboard_bitmapdemo.pyÚ__init__szViewerWindow.__init__c CsDt |¡\}}t |¡}|d|d}|d|d} t ¡zôzt tj¡} Wn|tyÎt ¡} d| _ d| _ t  | ¡} t  || ¡t  |tj¡t |t ddd¡¡t |dddd|| ftj¡Yn\0t | ¡} t d¡}t  || ¡t |dd|| |dd| j| jtj¡ t |¡t ||¡Wt ¡n t ¡0dS)Néréééz@No bitmaps are in the clipboard (try pressing the PrtScn button)éÿÿÿÿ)Úwin32guiZ BeginPaintZ GetClientRectÚwin32clipboardZ OpenClipboardZGetClipboardDataZ CF_BITMAPÚ TypeErrorZLOGFONTZlfHeightZlfWidthZCreateFontIndirectZ SelectObjectZ SetBkModeÚwin32conZ TRANSPARENTZ SetTextColorÚwin32apiZRGBZDrawTextZ DT_CENTERZ GetObjectZCreateCompatibleDCZ StretchBltZbmWidthZbmHeightZSRCCOPYZDeleteDCZEndPaintZCloseClipboard)rÚhwndÚmsgÚwpÚlpZdcZpsZwndrectZwndwidthZ wndheightZhbitmapZfontZhfZbminfoZdcDCrrrÚOnPaint sV     û    õ zViewerWindow.OnPaintcCst |dd¡dS)NT)rZInvalidateRect©rrrrrrrrÚOnDrawClipboard;szViewerWindow.OnDrawClipboardcCs.||jkr||_n|jr*t |j|||¡dSr)rrZ SendMessagerrrrÚOnChangeCBChain>s zViewerWindow.OnChangeCBChaincCst |¡|_dSr)rÚSetClipboardViewerrrrrrÚOnCreateFszViewerWindow.OnCreatecCs&t ||j¡t |¡t d¡dS)Nr)rZChangeClipboardChainrrZ DestroyWindowZPostQuitMessagerrrrÚOnCloseIs zViewerWindow.OnClosecCsÀtj|jtj|jtj|jtj|jtj |j i}t   ¡}d|_ tjtjBtjB|_tjd|_||_t  |¡}t  d|dtjtjBtjBtjBdddddddd¡ }t |¡t  ¡t  |d¡dS)NZtest_win32clipboard_bmpr rZClipboardViewerédi„)rZWM_PAINTrZWM_CLOSErZ WM_CREATErZWM_DRAWCLIPBOARDrZWM_CHANGECBCHAINrrZWNDCLASSZ lpszClassNameZCS_GLOBALCLASSZ CS_VREDRAWZ CS_HREDRAWZstyleZ COLOR_WINDOWZ hbrBackgroundZ lpfnWndProcZ RegisterClassZCreateWindowExZ WS_CAPTIONZ WS_VISIBLEZ WS_THICKFRAMEZ WS_SYSMENUrrZ PumpMessagesZUnregisterClass)rZwndprocZwcZ class_atomrrrrÚgoNsFû  ÿþýñ zViewerWindow.goN) Ú__name__Ú __module__Ú __qualname__rrrrrrrrrrrrs0rÚ__main__)rrrrrr ÚwrrrrrÚsl