// // cuituil.h // = UI object library - util functions = // #ifndef CUIUTIL_H #define CUIUTIL_H // // user32 definition // #if (_WIN32_WINNT < 0x0500) // Window style #define WS_EX_LAYERED 0x00080000 // UpdateLayeredWindow() #define LWA_COLORKEY 0x00000001 #define LWA_ALPHA 0x00000002 #define ULW_COLORKEY 0x00000001 #define ULW_ALPHA 0x00000002 #define ULW_OPAQUE 0x00000004 #endif /* _WIN32_WINNT < 0x0500 */ #if (WINVER < 0x0500) // AnimateWindow() #define AW_HOR_POSITIVE 0x00000001 #define AW_HOR_NEGATIVE 0x00000002 #define AW_VER_POSITIVE 0x00000004 #define AW_VER_NEGATIVE 0x00000008 #define AW_CENTER 0x00000010 #define AW_HIDE 0x00010000 #define AW_ACTIVATE 0x00020000 #define AW_SLIDE 0x00040000 #define AW_BLEND 0x00080000 // minitor functions typedef struct tagMONITORINFO { DWORD cbSize; RECT rcMonitor; RECT rcWork; DWORD dwFlags; } MONITORINFO, *LPMONITORINFO; DECLARE_HANDLE(HMONITOR); #define MONITOR_DEFAULTTONULL 0x00000000 #define MONITOR_DEFAULTTOPRIMARY 0x00000001 #define MONITOR_DEFAULTTONEAREST 0x00000002 #define MONITORINFOF_PRIMARY 0x00000001 #endif /* WINVER < 0x0500 */ // // user32 functions // extern BOOL CUIIsUpdateLayeredWindowAvail( void ); extern BOOL CUIUpdateLayeredWindow( HWND hWnd, HDC hdcDst, POINT *pptDst, SIZE *psize, HDC hdcSrc, POINT *pptSrc, COLORREF crKey, BLENDFUNCTION *pblend, DWORD dwFlags ); extern BOOL CUIIsMonitorAPIAvail( void ); extern BOOL CUIGetMonitorInfo( HMONITOR hMonitor, LPMONITORINFO lpmi ); extern HMONITOR CUIMonitorFromWindow( HWND hwnd, DWORD dwFlags ); extern HMONITOR CUIMonitorFromRect( LPRECT prc, DWORD dwFlags ); extern HMONITOR CUIMonitorFromPoint( POINT pt, DWORD dwFlags ); extern void CUIGetScreenRect(POINT pt, RECT *prc); extern void CUIGetWorkAreaRect(POINT pt, RECT *prc); extern BOOL CUIIsAnimateWindowAvail( void ); extern BOOL CUIAnimateWindow( HWND hwnd, DWORD dwTime, DWORD dwFlag ); // // drawing functions // extern void InitUIFUtil(); extern void DoneUIFUtil(); extern int CUIDrawText( HDC hDC, LPCWSTR pwch, int cwch, RECT *prc, UINT uFormat ); extern BOOL CUIExtTextOut( HDC hDC, int x, int y, UINT fuOptions, const RECT *prc, LPCWSTR pwch, UINT cwch, const int *lpDs ); extern BOOL CUIGetTextExtentPoint32( HDC hDC, LPCWSTR pwch, int cwch, SIZE *psize ); extern HBITMAP CreateMaskBmp(const RECT *prc, HBITMAP hbmp, HBITMAP hbmpMask, HBRUSH hbrBk, COLORREF colText, COLORREF colBk); extern HBITMAP CreateShadowMaskBmp(RECT *prc, HBITMAP hbmp, HBITMAP hbmpMask, HBRUSH hbrBk, HBRUSH hbrShadow); extern HBITMAP CreateDisabledBitmap(const RECT *prc, HBITMAP hbmpMask, HBRUSH hbrBk, HBRUSH hbrShadow, BOOL fShadow); extern HBRUSH CreateDitherBrush( void ); extern void DrawMaskBmpOnDC(HDC hdc, const RECT *prc, HBITMAP hbmp, HBITMAP hbmpMask); extern BOOL CUIDrawState(HDC hdc, HBRUSH hbr, DRAWSTATEPROC lpOutputFunc, LPARAM lData, WPARAM wData, int x, int y, int cx, int cy, UINT fuFlags); extern BOOL CUIGetIconSize( HICON hIcon, SIZE *psize ); extern BOOL CUIGetBitmapSize( HBITMAP hBmp, SIZE *psize ); extern BOOL CUIGetIconBitmaps(HICON hIcon, HBITMAP *phbmp, HBITMAP *phbmpMask, SIZE *psize); extern DWORD CUIProcessDefaultLayout(); extern DWORD CUISetLayout(HDC hdc, DWORD dw); extern HBITMAP CUIMirrorBitmap(HBITMAP hbmOrig, HBRUSH hbrBk); extern HMODULE CUIGetSystemModuleHandle(LPCTSTR lpModuleName); #endif /* CUIUTIL_H */