From c4ecfc894ced4c3d5fa2fa1a450125ce5df78864 Mon Sep 17 00:00:00 2001 From: Jason Filby Date: Sat, 18 Mar 2000 18:39:44 +0000 Subject: [PATCH] Added forgotten .h files svn path=/trunk/; revision=1079 --- reactos/subsys/win32k/eng/brush.h | 58 +++++++++++++ reactos/subsys/win32k/eng/clip.h | 1 + reactos/subsys/win32k/eng/enum.h | 7 ++ reactos/subsys/win32k/eng/handle.h | 21 +++++ reactos/subsys/win32k/eng/objects.h | 127 ++++++++++++++++++++++++++++ 5 files changed, 214 insertions(+) create mode 100644 reactos/subsys/win32k/eng/brush.h create mode 100644 reactos/subsys/win32k/eng/clip.h create mode 100644 reactos/subsys/win32k/eng/enum.h create mode 100644 reactos/subsys/win32k/eng/handle.h create mode 100644 reactos/subsys/win32k/eng/objects.h diff --git a/reactos/subsys/win32k/eng/brush.h b/reactos/subsys/win32k/eng/brush.h new file mode 100644 index 00000000000..f67461ed74d --- /dev/null +++ b/reactos/subsys/win32k/eng/brush.h @@ -0,0 +1,58 @@ +typedef struct _BRUSHINST +{ + // We need to removed ajC0-3 when color pattern code is complete!!! + // + BYTE ajC0[8]; // Color bits for plane 0 + BYTE ajC1[8]; // Color bits for plane 1 + BYTE ajC2[8]; // Color bits for plane 2 + BYTE ajC3[8]; // Color bits for plane 3 + + BYTE ajPattern[32]; // Color bits for the mask + USHORT usStyle; // Brush style + BYTE fjAccel; // Accelerator flags + BYTE jFgColor; // Current foreground color + BYTE jBkColor; // Current background color + BYTE RealWidth;// + BYTE YShiftValue; // + BYTE jOldBrushRealized; // + DWORD Width; // Width of brush + DWORD Height; + BYTE *pPattern; //Pointer to realized mono pattern +} BRUSHINST; + +#define BRI_SOLID 0 +#define BRI_HOLLOW 1 +#define BRI_HATCHED 2 +#define BRI_PATTERN 3 +#define BRI_MONO_PATTERN 4 +#define BRI_COLOR_PATTERN 5 + +// Definitions for the pcol_C3 byte of the physical color +// +// Some of these definitions have limitations as to when they +// are valid. They are as follows: +// +// C0_BIT color device, phys color, solid brushes if SOLID_COLOR +// C1_BIT color device, phys color, solid brushes if SOLID_COLOR +// C2_BIT color device, phys color, solid brushes if SOLID_COLOR +// C3_BIT color device, phys color, solid brushes if SOLID_COLOR +// MONO_BIT mono device, phys color +// ONES_OR_ZEROS color device, phys color, solid brushes if SOLID_COLOR +// GREY_SCALE color device, dithered solid and hatched brushes +// SOLID_BRUSH color device, solid brush qualifier +// +// There may be brushes where the accelerators could have been set, +// but wasn't. That's life. + +#define C0_BIT 0x01 // C0 color +#define C1_BIT 0x02 // C1 color +#define C2_BIT 0x04 // C2 color +#define C3_BIT 0x08 // C3 color +#define COLOR_BITS 0x0f // All the color bits +#define MONO_BIT 0x10 // Monochrome bit +#define ONES_OR_ZEROS 0x20 // Color is really all 1's or all 0's +#define GREY_SCALE 0x40 // Indicates a real grey scale brush +#define SOLID_BRUSH 0x80 // Indicates a solid color brush + +#define PTRI_INVERT 0x0001 +#define PTRI_ANIMATE 0x0002 diff --git a/reactos/subsys/win32k/eng/clip.h b/reactos/subsys/win32k/eng/clip.h new file mode 100644 index 00000000000..1b143011751 --- /dev/null +++ b/reactos/subsys/win32k/eng/clip.h @@ -0,0 +1 @@ +typedef ULONG HCLIP; \ No newline at end of file diff --git a/reactos/subsys/win32k/eng/enum.h b/reactos/subsys/win32k/eng/enum.h new file mode 100644 index 00000000000..cb1d68e115d --- /dev/null +++ b/reactos/subsys/win32k/eng/enum.h @@ -0,0 +1,7 @@ +#define ENUM_RECT_LIMIT 50 + +typedef struct _RECT_ENUM +{ + ULONG c; + RECTL arcl[ENUM_RECT_LIMIT]; +} RECT_ENUM; diff --git a/reactos/subsys/win32k/eng/handle.h b/reactos/subsys/win32k/eng/handle.h new file mode 100644 index 00000000000..0727fbcd805 --- /dev/null +++ b/reactos/subsys/win32k/eng/handle.h @@ -0,0 +1,21 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS kernel + * PURPOSE: Manage GDI Handle definitions + * FILE: subsys/win32k/eng/handle.h + * PROGRAMER: Jason Filby + * REVISION HISTORY: + * 29/8/1999: Created + */ + +typedef struct _GDI_HANDLE { + ULONG Handle; + PVOID InternalObject; + PVOID UserObject; +} GDI_HANDLE, *PGDI_HANDLE; + +#define INVALID_HANDLE 0 +#define MAX_GDI_HANDLES 4096 + +GDI_HANDLE GDIHandles[MAX_GDI_HANDLES]; +ULONG HandleCounter = 1; diff --git a/reactos/subsys/win32k/eng/objects.h b/reactos/subsys/win32k/eng/objects.h new file mode 100644 index 00000000000..4d59dd0ee37 --- /dev/null +++ b/reactos/subsys/win32k/eng/objects.h @@ -0,0 +1,127 @@ +/* + * COPYRIGHT: See COPYING in the top level directory + * PROJECT: ReactOS kernel + * PURPOSE: GDI Internal Objects + * FILE: subsys/win32k/eng/objects.h + * PROGRAMER: Jason Filby + * REVISION HISTORY: + * 21/8/1999: Created + */ + +typedef struct _BRUSHGDI { + +} BRUSHGDI; + +typedef struct _CLIPGDI { + ULONG NumRegionRects; + ULONG NumIntersectRects; + RECTL *RegionRects; + RECTL *IntersectRects; + + ULONG EnumPos; + ENUMRECTS EnumRects; +} CLIPGDI; + +typedef struct _DRVFUNCTIONSGDI { + HDEV hdev; + DRVFN Functions[INDEX_LAST]; +} DRVFUNCTIONSGDI; + +typedef struct _FLOATGDI { + +} FLOATGDI; + +typedef struct _FONTGDI { + +} FONTGDI; + +typedef struct _PALGDI { + ULONG Mode; // PAL_INDEXED, PAL_BITFIELDS, PAL_RGB, PAL_BGR + ULONG NumColors; + ULONG *IndexedColors; + ULONG RedMask; + ULONG GreenMask; + ULONG BlueMask; +} PALGDI; + +typedef struct _PATHGDI { + +} PATHGDI; + +typedef struct _STRGDI { + +} STRGDI; + +typedef BOOL (*PFN_BitBlt)(PSURFOBJ, PSURFOBJ, PSURFOBJ, PCLIPOBJ, + PXLATEOBJ, PRECTL, PPOINTL, PPOINTL, + PBRUSHOBJ, PPOINTL, ROP4); + +typedef BOOL (*PFN_StretchBlt)(PSURFOBJ, PSURFOBJ, PSURFOBJ, PCLIPOBJ, + PXLATEOBJ, PCOLORADJUSTMENT, PPOINTL, + PRECTL, PRECTL, PPOINT, ULONG); + +typedef BOOL (*PFN_TextOut)(PSURFOBJ, PSTROBJ, PFONTOBJ, PCLIPOBJ, + PRECTL, PRECTL, PBRUSHOBJ, PBRUSHOBJ, + PPOINTL, MIX); + +typedef BOOL (*PFN_Paint)(PSURFOBJ, PCLIPOBJ, PBRUSHOBJ, PPOINTL, MIX); + +typedef BOOL (*PFN_StrokePath)(PSURFOBJ, PPATHOBJ, PCLIPOBJ, PXFORMOBJ, + PBRUSHOBJ, PPOINTL, PLINEATTRS, MIX); + +typedef BOOL (*PFN_FillPath)(PSURFOBJ, PPATHOBJ, PCLIPOBJ, PBRUSHOBJ, + PPOINTL, MIX, ULONG); + +typedef BOOL (*PFN_StrokeAndFillPath)(PSURFOBJ, PPATHOBJ, PCLIPOBJ, + PXFORMOBJ, PBRUSHOBJ, PLINEATTRS, PBRUSHOBJ, + PPOINTL, MIX, ULONG); + +typedef BOOL (*PFN_LineTo)(PSURFOBJ, PCLIPOBJ, PBRUSHOBJ, + LONG, LONG, LONG, LONG, PRECTL, MIX); + +typedef BOOL (*PFN_CopyBits)(PSURFOBJ, PSURFOBJ, PCLIPOBJ, + PXLATEOBJ, PRECTL, PPOINTL); + +typedef VOID (*PFN_Synchronize)(DHPDEV, PRECTL); + +typedef struct _SURFGDI { + BYTE BytesPerPixel; + + PFN_BitBlt BitBlt; + PFN_StretchBlt StretchBlt; + PFN_TextOut TextOut; + PFN_Paint Paint; + PFN_StrokePath StrokePath; + PFN_FillPath FillPath; + PFN_StrokeAndFillPath StrokeAndFillPath; + PFN_LineTo LineTo; + PFN_CopyBits CopyBits; + PFN_Synchronize Synchronize; + BOOL SynchronizeAccess; +} SURFGDI; + +typedef struct _XFORMGDI { + +} XFORMGDI; + +typedef struct _XLATEGDI { + HPALETTE DestPal; + HPALETTE SourcePal; + + ULONG *translationTable; +} XLATEGDI; + +// List of GDI objects +// FIXME: Make more dynamic + +#define MAX_GDI_BRUSHES 255 +#define MAX_GDI_CLIPS 255 +#define MAX_GDI_DRVFUNCTIONS 16 +#define MAX_GDI_FLOATS 255 +#define MAX_GDI_FONTS 255 +#define MAX_GDI_PALS 255 +#define MAX_GDI_PATHS 255 +#define MAX_GDI_STRS 255 +#define MAX_GDI_SURFS 255 +#define MAX_GDI_XFORMS 255 +#define MAX_GDI_XLATES 255