[ros-diffs] [jimtabor] 28568: AXESLIST, AXISINFO and ENUMTEXTMETRIC structures. Updated ENUMFONTDATAW structure with my best guess. It needs testing with Timo program.

jimtabor at svn.reactos.org jimtabor at svn.reactos.org
Sun Aug 26 03:50:15 CEST 2007


Author: jimtabor
Date: Sun Aug 26 05:50:14 2007
New Revision: 28568

URL: http://svn.reactos.org/svn/reactos?rev=28568&view=rev
Log:
AXESLIST, AXISINFO and ENUMTEXTMETRIC structures. Updated ENUMFONTDATAW structure with my best guess. It needs testing with Timo program.

Modified:
    trunk/reactos/include/psdk/wingdi.h
    trunk/reactos/include/reactos/win32k/ntgdityp.h

Modified: trunk/reactos/include/psdk/wingdi.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/wingdi.h?rev=28568&r1=28567&r2=28568&view=diff
==============================================================================
--- trunk/reactos/include/psdk/wingdi.h (original)
+++ trunk/reactos/include/psdk/wingdi.h Sun Aug 26 05:50:14 2007
@@ -2532,7 +2532,7 @@
 	DWORD dvReserved;
 	DWORD dvNumAxes;
 	LONG dvValues[MM_MAX_NUMAXES];
-} DESIGNVECTOR, *PDESIGNVECTOR, FAR *LPDESIGNVECTOR;
+} DESIGNVECTOR, *PDESIGNVECTOR, *LPDESIGNVECTOR;
 typedef struct tagENUMLOGFONTEXDVA
 {
 	ENUMLOGFONTEXA elfEnumLogfontEx;
@@ -2577,6 +2577,41 @@
   WCHAR DeviceID[128];
   WCHAR DeviceKey[128];
 } DISPLAY_DEVICEW, *PDISPLAY_DEVICEW, *LPDISPLAY_DEVICEW;
+#define MM_MAX_AXES_NAMELEN 16
+typedef struct _AXISINFOA
+{
+  LONG   axMinValue;
+  LONG   axMaxValue;
+  BYTE   axAxisName[MM_MAX_AXES_NAMELEN];
+} AXISINFOA, *PAXISINFOA, *LPAXISINFOA;
+typedef struct _AXISINFOW
+{
+  LONG   axMinValue;
+  LONG   axMaxValue;
+  WCHAR  axAxisName[MM_MAX_AXES_NAMELEN];
+} AXISINFOW, *PAXISINFOW, *LPAXISINFOW;
+typedef struct _AXESLISTA
+{
+  DWORD     axlReserved;
+  DWORD     axlNumAxes;
+  AXISINFOA axlAxisInfo[MM_MAX_NUMAXES];
+} AXESLISTA, *PAXESLISTA, *LPAXESLISTA;
+typedef struct _AXESLISTW
+{
+  DWORD     axlReserved;
+  DWORD     axlNumAxes;
+  AXISINFOW axlAxisInfo[MM_MAX_NUMAXES];
+} AXESLISTW, *PAXESLISTW, *LPAXESLISTW;
+typedef struct _ENUMTEXTMETRICA
+{
+    NEWTEXTMETRICEXA etmNewTextMetricEx;
+    AXESLISTA        etmAxesList;
+} ENUMTEXTMETRICA, *PENUMTEXTMETRICA, *LPENUMTEXTMETRICA;
+typedef struct _ENUMTEXTMETRICW
+{
+    NEWTEXTMETRICEXW etmNewTextMetricEx;
+    AXESLISTW        etmAxesList;
+} ENUMTEXTMETRICW, *PENUMTEXTMETRICW, *LPENUMTEXTMETRICW;
 
 
 
@@ -2973,6 +3008,12 @@
 #endif
 
 #ifdef UNICODE
+typedef AXESLISTW AXESLIST;
+typedef PAXESLISTW PAXESLIST;
+typedef LPAXESLISTW LPAXESLIST;
+typedef AXISINFOA AXISINFO;
+typedef PAXISINFOA PAXISINFO;
+typedef LPAXISINFOA LPAXISINFO;
 typedef WCHAR BCHAR;
 typedef DOCINFOW DOCINFO, *LPDOCINFO;
 typedef LOGFONTW LOGFONT,*PLOGFONT,*LPLOGFONT;
@@ -2983,6 +3024,9 @@
 typedef ENUMLOGFONTEXDVW ENUMLOGFONTEXDV;
 typedef PENUMLOGFONTEXDVW PENUMLOGFONTEXDV;
 typedef LPENUMLOGFONTEXDVW LPENUMLOGFONTEXDV;
+typedef ENUMTEXTMETRICW ENUMTEXTMETRIC;
+typedef PENUMTEXTMETRICW PENUMTEXTMETRIC;
+typedef LPENUMTEXTMETRICW LPENUMTEXTMETRIC;
 typedef EXTLOGFONTW EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
 typedef GCP_RESULTSW GCP_RESULTS,*LPGCP_RESULTS;
 typedef OUTLINETEXTMETRICW OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;
@@ -3046,6 +3090,12 @@
 #define wglUseFontBitmaps wglUseFontBitmapsW
 #define wglUseFontOutlines wglUseFontOutlinesW
 #else
+typedef AXESLISTA AXESLIST;
+typedef PAXESLISTA PAXESLIST;
+typedef LPAXESLISTA LPAXESLIST;
+typedef AXISINFOA AXISINFO;
+typedef PAXISINFOA PAXISINFO;
+typedef LPAXISINFOA LPAXISINFO;
 typedef BYTE BCHAR;
 typedef DOCINFOA DOCINFO, *LPDOCINFO;
 typedef LOGFONTA LOGFONT,*PLOGFONT,*LPLOGFONT;
@@ -3056,6 +3106,9 @@
 typedef ENUMLOGFONTEXDVA ENUMLOGFONTEXDV;
 typedef PENUMLOGFONTEXDVA PENUMLOGFONTEXDV;
 typedef LPENUMLOGFONTEXDVA LPENUMLOGFONTEXDV;
+typedef ENUMTEXTMETRICA ENUMTEXTMETRIC;
+typedef PENUMTEXTMETRICA PENUMTEXTMETRIC;
+typedef LPENUMTEXTMETRICA LPENUMTEXTMETRIC;
 typedef EXTLOGFONTA EXTLOGFONT,*PEXTLOGFONT,*LPEXTLOGFONT;
 typedef GCP_RESULTSA GCP_RESULTS,*LPGCP_RESULTS;
 typedef OUTLINETEXTMETRICA OUTLINETEXTMETRIC,*POUTLINETEXTMETRIC,*LPOUTLINETEXTMETRIC;

Modified: trunk/reactos/include/reactos/win32k/ntgdityp.h
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/reactos/win32k/ntgdityp.h?rev=28568&r1=28567&r2=28568&view=diff
==============================================================================
--- trunk/reactos/include/reactos/win32k/ntgdityp.h (original)
+++ trunk/reactos/include/reactos/win32k/ntgdityp.h Sun Aug 26 05:50:14 2007
@@ -120,7 +120,17 @@
     TMDIFF Diff;
 } TMW_INTERNAL, *PTMW_INTERNAL;
 
-typedef struct _ENUMFONTDATAW ENUMFONTDATAW, *PENUMFONTDATAW;
+typedef struct _ENUMFONTDATAW 
+{
+    DWORD            cbSize;  // Size of ENUMFONTDATAW + (size of ENUMTEXTMETRIC + ENUMLOGFONTEXDV)
+    PENUMTEXTMETRIC  lpentm;  // Ptr with in this structure.              ^^^ if Win2k + ^^^
+    DWORD            FontType;
+    PENUMLOGFONTEXDV lpelfedv; // Prt with in this structure.
+    // The rest of the structure is variable in size.
+    // Based on iEnumType and Win32Compat flags,,
+    // if w2k+ {ENUMTEXTMETRIC else NEWTEXTMETRICS} or TEXTMETRIC
+    // if w2k+ {ENUMLOGFONTEXDV else ENUMLOGFONT} or LOGFONT
+} ENUMFONTDATAW, *PENUMFONTDATAW;
 
 /* Number Representation */
 typedef struct _EFLOAT_S




More information about the Ros-diffs mailing list