- move dx gdi object type definitions from intddraw.h to ntgdihdl.h, change 2 type values to make them match windows, comment out 2 unused types for now.

- add pool tags for gdi objects
- add a bitmask for basic type (0x01 - 0x1f)

svn path=/trunk/; revision=28889
This commit is contained in:
Timo Kreuzer 2007-09-06 00:28:04 +00:00
parent 2525c2ea6a
commit ccca2fc546
2 changed files with 40 additions and 18 deletions

View file

@ -23,6 +23,7 @@
/* Handle Masks and shifts */
#define GDI_HANDLE_INDEX_MASK (GDI_HANDLE_COUNT - 1)
#define GDI_HANDLE_TYPE_MASK 0x007f0000
#define GDI_HANDLE_BASETYPE_MASK 0x001f0000
#define GDI_HANDLE_STOCK_MASK 0x00800000
#define GDI_HANDLE_REUSE_MASK 0xff000000
#define GDI_HANDLE_UPPER_MASK (GDI_HANDLE_TYPE_MASK|GDI_HANDLE_STOCK_MASK|GDI_HANDLE_REUSE_MASK)
@ -34,26 +35,54 @@
#define GDI_ENTRY_REUSECNT_SHIFT 8
#define GDI_ENTRY_UPPER_SHIFT 16
#define GDI_OBJECT_TAG_DC TAG('G', 'l', 'a', '1')
#define GDI_OBJECT_TAG_REGION TAG('G', 'l', 'a', '4')
#define GDI_OBJECT_TAG_BITMAP TAG('G', 'l', 'a', '5')
#define GDI_OBJECT_TAG_CLIOBJ TAG('G', 'h', '0', '6')
#define GDI_OBJECT_TAG_PATH TAG('G', 'h', '0', '7')
#define GDI_OBJECT_TAG_PALETTE TAG('G', 'l', 'a', '8')
#define GDI_OBJECT_TAG_COLSPC TAG('G', 'h', '0', '9')
#define GDI_OBJECT_TAG_FONT TAG('G', 'l', 'a', ':')
#define GDI_OBJECT_TAG_PFE TAG('G', 'h', '0', '<')
#define GDI_OBJECT_TAG_BRUSH TAG('G', 'l', 'a', '@')
#define GDI_OBJECT_TAG_ENUMFONT TAG('G', 'h', '0', 'F')
#define GDI_OBJECT_TAG_DDRAW TAG('D', 'h', ' ', '1')
#define GDI_OBJECT_TAG_DDSURF TAG('D', 'h', ' ', '2')
/*! \defgroup GDI object types
*
* GDI object types
*
*/
/*@{*/
#define GDI_OBJECT_TYPE_DC 0x00010000
#define GDI_OBJECT_TYPE_REGION 0x00040000
#define GDI_OBJECT_TYPE_BITMAP 0x00050000
#define GDI_OBJECT_TYPE_PALETTE 0x00080000
#define GDI_OBJECT_TYPE_FONT 0x000a0000
#define GDI_OBJECT_TYPE_BRUSH 0x00100000
#define GDI_OBJECT_TYPE_DC 0x00010000
#define GDI_OBJECT_TYPE_DIRECTDRAW 0x00020000 /* Should be moved away from gdi objects */
#define GDI_OBJECT_TYPE_DD_SURFACE 0x00030000 /* Should be moved away from gdi objects */
#define GDI_OBJECT_TYPE_REGION 0x00040000
#define GDI_OBJECT_TYPE_BITMAP 0x00050000
#define GDI_OBJECT_TYPE_CLIOBJ 0x00060000
#define GDI_OBJECT_TYPE_PATH 0x00070000
#define GDI_OBJECT_TYPE_PALETTE 0x00080000
#define GDI_OBJECT_TYPE_COLORSPACE 0x00090000
#define GDI_OBJECT_TYPE_FONT 0x000a0000
#define GDI_OBJECT_TYPE_BRUSH 0x00100000
#define GDI_OBJECT_TYPE_DD_VIDEOPORT 0x00120000 /* Should be moved away from gdi objects */
#define GDI_OBJECT_TYPE_DD_MOTIONCOMP 0x00140000 /* Should be moved away from gdi objects */
#define GDI_OBJECT_TYPE_ENUMFONT 0x00160000
/* Following object types are derived types from the above base types
use 0x001f0000 as mask to get the base type */
#define GDI_OBJECT_TYPE_EMF 0x00210000
#define GDI_OBJECT_TYPE_PEN 0x00300000
#define GDI_OBJECT_TYPE_EXTPEN 0x00500000
#define GDI_OBJECT_TYPE_COLORSPACE 0x00090000
#define GDI_OBJECT_TYPE_METADC 0x00660000
#define GDI_OBJECT_TYPE_METAFILE 0x00260000
#define GDI_OBJECT_TYPE_ENHMETAFILE 0x00460000
#define GDI_OBJECT_TYPE_ENUMFONT 0x00160000
#define GDI_OBJECT_TYPE_PEN 0x00300000
#define GDI_OBJECT_TYPE_EXTPEN 0x00500000
#define GDI_OBJECT_TYPE_METADC 0x00660000
/*#define GDI_OBJECT_TYPE_DD_PALETTE 0x00630000 unused at the moment, other value required */
/*#define GDI_OBJECT_TYPE_DD_CLIPPER 0x00640000 unused at the moment, other value required */
/* Following object types made up for ROS */
#define GDI_OBJECT_TYPE_DONTCARE 0x007f0000
/** Not really an object type. Forces GDI_FreeObj to be silent. */

View file

@ -4,13 +4,6 @@
#include <ddrawint.h>
#include <ddkernel.h>
#define GDI_OBJECT_TYPE_DIRECTDRAW 0x00600000
#define GDI_OBJECT_TYPE_DD_SURFACE 0x00610000
#define GDI_OBJECT_TYPE_DD_VIDEOPORT 0x00620000
#define GDI_OBJECT_TYPE_DD_PALETTE 0x00630000
#define GDI_OBJECT_TYPE_DD_CLIPPER 0x00640000
#define GDI_OBJECT_TYPE_DD_MOTIONCOMP 0x00650000
typedef struct
{
/* for the driver */