Rev | Line | |
---|
[3707] | 1 | /*
|
---|
| 2 | * Win32 Handle Management Code for OS/2 (GDI32)
|
---|
| 3 | *
|
---|
| 4 | *
|
---|
| 5 | * Copyright 2000 Sander van Leeuwen (sandervl@xs4all.nl)
|
---|
| 6 | *
|
---|
| 7 | *
|
---|
| 8 | * Project Odin Software License can be found in LICENSE.TXT
|
---|
| 9 | *
|
---|
| 10 | */
|
---|
| 11 | #ifndef __OBJHANDLE_H__
|
---|
| 12 | #define __OBJHANDLE_H__
|
---|
| 13 |
|
---|
[4768] | 14 | #define MAX_OBJECT_HANDLES 1024
|
---|
[4754] | 15 | #define OBJHANDLE_MAGIC_MASK 0x00FFFFFF
|
---|
[4768] | 16 | #define HANDLE_OBJ_ERROR -1
|
---|
[3707] | 17 |
|
---|
| 18 | typedef enum {
|
---|
[4754] | 19 | GDIOBJ_NONE = 0x00,
|
---|
[3707] | 20 | GDIOBJ_REGION = 0xD1,
|
---|
| 21 | GDIOBJ_BITMAP = 0xD2,
|
---|
[4754] | 22 | GDIOBJ_BRUSH = 0xD3,
|
---|
| 23 | GDIOBJ_PALETTE = 0xD4,
|
---|
[3707] | 24 | GDIOBJ_FONT = 0xD5,
|
---|
[4754] | 25 | USEROBJ_MENU = 0xD6,
|
---|
[4768] | 26 | USEROBJ_ACCEL = 0xD7,
|
---|
[6181] | 27 | USEROBJ_CURSORICON = 0xD8,
|
---|
[6261] | 28 | GDIOBJ_OPEN32 = 0xE0,
|
---|
| 29 | GDIOBJ_INVALID = 0xFF
|
---|
[4754] | 30 | //...
|
---|
[3707] | 31 | } ObjectType;
|
---|
| 32 |
|
---|
[4754] | 33 | #define MAKE_HANDLE(a) (a << 24)
|
---|
[4766] | 34 | #define OBJHANDLE_MAGIC(a) (a >> 24)
|
---|
| 35 |
|
---|
[3707] | 36 | //...
|
---|
| 37 |
|
---|
| 38 | BOOL ObjAllocateHandle(HANDLE *hObject, DWORD dwUserData, ObjectType type);
|
---|
| 39 | void ObjFreeHandle(HANDLE hObject);
|
---|
[4754] | 40 | DWORD ObjGetHandleData(HANDLE hObject, ObjectType type);
|
---|
[3707] | 41 |
|
---|
[4754] | 42 | #define ObjWinToOS2Region(a) ObjGetHandleData(a, GDIOBJ_REGION)
|
---|
[3707] | 43 |
|
---|
| 44 | ObjectType ObjGetHandleType(HANDLE hObject);
|
---|
| 45 |
|
---|
| 46 | #endif //__OBJHANDLE_H__
|
---|
Note:
See
TracBrowser
for help on using the repository browser.