Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

85 lines
2.5 KiB

////////////////////////////////////////////////////////////////////////
//
// GDIHELP.H - GDI TOOLHELP FUNCTIONS
//
// a bunch of GDI utility functions that are usefull for walking
// all GDI objects and dinking with them.
//
// ToddLa
//
////////////////////////////////////////////////////////////////////////
#ifdef __cplusplus
extern "C" { /* Assume C declarations for C++ */
#endif /* __cplusplus */
////////////////////////////////////////////////////////////////////////
//
// object enumeration functions
//
////////////////////////////////////////////////////////////////////////
#define OBJ_PEN 1
#define OBJ_BRUSH 2
#define OBJ_FONT 3
#define OBJ_PALETTE 4
#define OBJ_BITMAP 5
#define OBJ_RGN 6
#define OBJ_DC 7
#define OBJ_DISABLED_DC 8
#define OBJ_METADC 9
#define OBJ_METAFILE 10
#define OBJ_SAVEDC 42
#define OBJ_MAX OBJ_SAVEDC
BOOL BeginGdiSnapshot(void);
void EndGdiSnapshot(void);
typedef void (*EnumGdiObjectsCallback)(HGDIOBJ, LPARAM lParam);
void EnumGdiObjects(UINT type, EnumGdiObjectsCallback callback, LPARAM lParam);
////////////////////////////////////////////////////////////////////////
//
// query information functions
//
////////////////////////////////////////////////////////////////////////
HBITMAP StockBitmap(void);
BOOL IsMemoryDC(HDC hdc);
BOOL IsScreenDC(HDC hdc);
BOOL IsObjectPrivate(HGDIOBJ h);
BOOL IsObjectStock(HGDIOBJ h);
HANDLE GetObjectOwner(HGDIOBJ h);
LPCSTR GetObjectOwnerName(HGDIOBJ h);
HBITMAP CurrentBitmap(HDC hdc);
HBRUSH CurrentBrush(HDC hdc);
HPEN CurrentPen(HDC hdc);
HPALETTE CurrentPalette(HDC hdc);
HDC GetBitmapDC(HBITMAP hbm);
HPALETTE GetBitmapPalette(HBITMAP hbm);
////////////////////////////////////////////////////////////////////////
//
// conversion functions.
//
////////////////////////////////////////////////////////////////////////
HBITMAP ConvertDDBtoDS(HBITMAP hbm);
HBITMAP ConvertDStoDDB(HBITMAP hbm, BOOL fForceConvert);
HBRUSH ConvertPatternBrush(HBRUSH hbr);
void ConvertIcon(HICON hIcon);
void ConvertObjects(void);
void ConvertObjectsBack(void);
void ConvertBitmapsBack(BOOL fForceConvert);
void ReRealizeObjects(void);
LPVOID GetPDevice(HDC hdc);
#ifdef __cplusplus
} /* End of extern "C" { */
#endif /* __cplusplus */