source: trunk/include/objhandle.h@ 10367

Last change on this file since 10367 was 10338, checked in by sandervl, 22 years ago

update

File size: 2.2 KB
RevLine 
[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
48typedef ULONG OBJHANDLE;
49
50BOOL WIN32API ObjAllocateHandle(OBJHANDLE *hObject, ULONG dwUserData, ULONG dwType);
51BOOL WIN32API ObjDeleteHandle(OBJHANDLE hObject, ULONG dwType);
52ULONG WIN32API ObjQueryHandleData(OBJHANDLE hObject, ULONG dwType);
53BOOL WIN32API ObjSetHandleData(OBJHANDLE hObject, ULONG dwType, ULONG dwUserData);
54ULONG WIN32API ObjQueryHandleGDI32Data(OBJHANDLE hObject, ULONG dwType);
55BOOL WIN32API ObjSetHandleGDI32Data(OBJHANDLE hObject, ULONG dwType, ULONG dwGDI32Data);
56ULONG WIN32API ObjQueryHandleType(OBJHANDLE hObject);
57ULONG WIN32API ObjQueryHandleFlags(OBJHANDLE hObject);
58BOOL WIN32API ObjSetHandleFlag(OBJHANDLE hObject, ULONG dwFlag, BOOL fSet);
59
[10338]60#ifdef DEBUG
61void WIN32API ObjDumpObjects();
62#endif
63
[8831]64#define ObjWinToOS2Region(a) ObjQueryHandleData(a, HNDL_REGION)
65
[3707]66#endif //__OBJHANDLE_H__
Note: See TracBrowser for help on using the repository browser.