Path does not work and it locks up the system with out any debug information. I will...
authorJames Tabor <james.tabor@reactos.org>
Thu, 19 Jun 2008 01:47:57 +0000 (01:47 +0000)
committerJames Tabor <james.tabor@reactos.org>
Thu, 19 Jun 2008 01:47:57 +0000 (01:47 +0000)
svn path=/trunk/; revision=34020

reactos/subsystems/win32/win32k/include/path.h
reactos/subsystems/win32/win32k/objects/gdiobj.c

index a5c20ef..62761d6 100644 (file)
@@ -1,6 +1,36 @@
 #ifndef _WIN32K_PATH_H
 #define _WIN32K_PATH_H
 
+typedef struct _PATH
+{
+  BASEOBJECT   BaseObject;
+  
+  RECTFX       rcfxBoundBox;
+  POINTFX      ptfxSubPathStart;
+
+  // Things to convert from:
+  DWORD        state;
+  POINT        *pPoints;
+  BYTE         *pFlags;
+  int          numEntriesUsed;
+  int          numEntriesAllocated;
+  BOOL         newStroke;
+} PATH, *PPATH;
+
+typedef struct _EPATHOBJ
+{
+  PATHOBJ po;
+  PPATH   pPath;
+} EPATHOBJ, *PEPATHOBJ;
+
+#define  PATH_AllocPath() ((PPATH) GDIOBJ_AllocObj(GDIObjType_PATH_TYPE))
+#define  PATH_AllocPathWithHandle() ((PPATH) GDIOBJ_AllocObjWithHandle (GDI_OBJECT_TYPE_PATH))
+#define  PATH_FreePath(pPath)  GDIOBJ_FreeObj((POBJ)pPath, GDIObjType_PATH_TYPE)
+#define  PATH_FreePathByHandle(hPath)  GDIOBJ_FreeObjbyHandle((HGDIOBJ)hPath, GDI_OBJECT_TYPE_PATH)
+#define  PATH_LockPath(hPath) ((PROSRGNDATA)GDIOBJ_LockObj((HGDIOBJ)hPath, GDI_OBJECT_TYPE_PATH))
+#define  PATH_UnlockPath(pPath) GDIOBJ_UnlockObjByPtr((POBJ)pPath)
+
+
 #define PATH_IsPathOpen(path) ((path).state==PATH_Open)
 
 BOOL FASTCALL PATH_Arc (PDC dc, INT x1, INT y1, INT x2, INT y2, INT xStart, INT yStart, INT xEnd, INT yEnd, INT lines);
index 343167f..4fdc406 100644 (file)
@@ -46,7 +46,7 @@ OBJ_TYPE_INFO ObjTypeInfo[] =
   {1, sizeof(ROSRGNDATA),    TAG_REGION,       REGION_Cleanup},   /* 04 RGN */
   {1, sizeof(BITMAPOBJ),     TAG_SURFACE,      BITMAP_Cleanup},   /* 05 SURFACE */
   {1, sizeof(CLIENTOBJ),     TAG_CLIENTOBJ,    GDI_CleanupDummy}, /* 06 CLIENTOBJ: METADC,... */
-  {0, 0,                     TAG_PATH,         NULL},             /* 07 PATH, unused */
+  {1, sizeof(PATH),          TAG_PATH,         GDI_CleanupDummy}, /* 07 PATH */
   {1, sizeof(PALGDI),        TAG_PALETTE,      PALETTE_Cleanup},  /* 08 PAL */
   {1, sizeof(COLORSPACE),    TAG_ICMLCS,       GDI_CleanupDummy}, /* 09 ICMLCS, */
   {1, sizeof(TEXTOBJ),       TAG_LFONT,        GDI_CleanupDummy}, /* 0a LFONT */