| [3707] | 1 | /* | 
|---|
|  | 2 | * Win32 Handle Management Code for OS/2 (GDI32) | 
|---|
|  | 3 | * | 
|---|
|  | 4 | */ | 
|---|
|  | 5 | #ifndef __OBJHANDLE_H__ | 
|---|
|  | 6 | #define __OBJHANDLE_H__ | 
|---|
|  | 7 |  | 
|---|
| [8831] | 8 | #define MAX_OBJECT_HANDLES              1024 | 
|---|
|  | 9 | #define HANDLE_OBJ_ERROR                -1 | 
|---|
|  | 10 | #define HANDLE_INVALID_DATA             0 | 
|---|
|  | 11 |  | 
|---|
|  | 12 | #define OBJHANDLE_MAGIC_MASK            0x00FFFFFF | 
|---|
|  | 13 | #define MAKE_HANDLE(a)                  (a | 0x80000000) | 
|---|
|  | 14 | #define OBJHANDLE_MAGIC(a)              (a & ~0x80000000) | 
|---|
|  | 15 |  | 
|---|
|  | 16 | #define OBJHANDLE_FLAG_NODELETE                 0x01    //system handle; do not delete | 
|---|
|  | 17 | #define OBJHANDLE_FLAG_BMP_SCREEN_COMPATIBLE    0x02    //Bitmap with screen properties (bpp) | 
|---|
|  | 18 | #define OBJHANDLE_FLAG_BMP_RGB565               0x04    //RGB565 bitmap | 
|---|
|  | 19 | #define OBJHANDLE_FLAG_BMP_DIBSECTION           0x08    //DIB section handle | 
|---|
|  | 20 |  | 
|---|
|  | 21 |  | 
|---|
|  | 22 | #define HNDL_NONE                       0x00 | 
|---|
|  | 23 | #define HNDL_PEN                        0x01 | 
|---|
|  | 24 | #define HNDL_BRUSH                      0x02 | 
|---|
|  | 25 | #define HNDL_DC                         0x03 | 
|---|
|  | 26 | #define HNDL_METADC                     0x04 | 
|---|
|  | 27 | #define HNDL_PALETTE                    0x05 | 
|---|
|  | 28 | #define HNDL_FONT                       0x06 | 
|---|
|  | 29 | #define HNDL_BITMAP                     0x07 | 
|---|
|  | 30 | #define HNDL_DIBSECTION                 0x08 | 
|---|
|  | 31 | #define HNDL_REGION                     0x09 | 
|---|
|  | 32 | #define HNDL_METAFILE                   0x0A | 
|---|
|  | 33 | #define HNDL_ENHMETAFILE                0x0B | 
|---|
|  | 34 | #define HNDL_MEMDC                      0x0C | 
|---|
|  | 35 | #define HNDL_EXTPEN                     0x0D | 
|---|
|  | 36 | #define HNDL_ENHMETADC                  0x0E | 
|---|
|  | 37 | #define HNDL_MENU                       0x0F | 
|---|
|  | 38 | #define HNDL_ACCEL                      0x10 | 
|---|
|  | 39 | #define HNDL_CURSORICON                 0x11 | 
|---|
|  | 40 | #define HNDL_DDELP                      0x12 | 
|---|
|  | 41 |  | 
|---|
|  | 42 | #define HNDL_MAX                        0x12 | 
|---|
|  | 43 | #define HNDL_INVALID                    0xFE | 
|---|
|  | 44 | #define HNDL_ANY                        0xFF | 
|---|
|  | 45 |  | 
|---|
|  | 46 | //... | 
|---|
|  | 47 |  | 
|---|
|  | 48 | typedef ULONG OBJHANDLE; | 
|---|
|  | 49 |  | 
|---|
|  | 50 | BOOL   WIN32API ObjAllocateHandle(OBJHANDLE *hObject, ULONG dwUserData, ULONG dwType); | 
|---|
|  | 51 | BOOL   WIN32API ObjDeleteHandle(OBJHANDLE hObject, ULONG dwType); | 
|---|
|  | 52 | ULONG  WIN32API ObjQueryHandleData(OBJHANDLE hObject, ULONG dwType); | 
|---|
|  | 53 | BOOL   WIN32API ObjSetHandleData(OBJHANDLE hObject, ULONG dwType, ULONG dwUserData); | 
|---|
|  | 54 | ULONG  WIN32API ObjQueryHandleGDI32Data(OBJHANDLE hObject, ULONG dwType); | 
|---|
|  | 55 | BOOL   WIN32API ObjSetHandleGDI32Data(OBJHANDLE hObject, ULONG dwType, ULONG dwGDI32Data); | 
|---|
|  | 56 | ULONG  WIN32API ObjQueryHandleType(OBJHANDLE hObject); | 
|---|
|  | 57 | ULONG  WIN32API ObjQueryHandleFlags(OBJHANDLE hObject); | 
|---|
|  | 58 | BOOL   WIN32API ObjSetHandleFlag(OBJHANDLE hObject, ULONG dwFlag, BOOL fSet); | 
|---|
|  | 59 |  | 
|---|
| [10338] | 60 | #ifdef DEBUG | 
|---|
|  | 61 | void   WIN32API ObjDumpObjects(); | 
|---|
|  | 62 | #endif | 
|---|
|  | 63 |  | 
|---|
| [8831] | 64 | #define ObjWinToOS2Region(a)    ObjQueryHandleData(a, HNDL_REGION) | 
|---|
|  | 65 |  | 
|---|
| [3707] | 66 | #endif //__OBJHANDLE_H__ | 
|---|