Added forgotten .h files
authorJason Filby <jason.filby@gmail.com>
Sat, 18 Mar 2000 18:39:44 +0000 (18:39 +0000)
committerJason Filby <jason.filby@gmail.com>
Sat, 18 Mar 2000 18:39:44 +0000 (18:39 +0000)
svn path=/trunk/; revision=1079

reactos/subsys/win32k/eng/brush.h [new file with mode: 0644]
reactos/subsys/win32k/eng/clip.h [new file with mode: 0644]
reactos/subsys/win32k/eng/enum.h [new file with mode: 0644]
reactos/subsys/win32k/eng/handle.h [new file with mode: 0644]
reactos/subsys/win32k/eng/objects.h [new file with mode: 0644]

diff --git a/reactos/subsys/win32k/eng/brush.h b/reactos/subsys/win32k/eng/brush.h
new file mode 100644 (file)
index 0000000..f67461e
--- /dev/null
@@ -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 (file)
index 0000000..1b14301
--- /dev/null
@@ -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 (file)
index 0000000..cb1d68e
--- /dev/null
@@ -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 (file)
index 0000000..0727fbc
--- /dev/null
@@ -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 (file)
index 0000000..4d59dd0
--- /dev/null
@@ -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