1 #ifndef WIN32K_NTGDI_BAD_INCLUDED
2 #define WIN32K_NTGDI_BAD_INCLUDED
6 * If you want to help, please read this:
8 * This file contains NtGdi APIs which are specific to ROS, including
9 * a short comment describing the solution on how to use the actual NtGdi
10 * call documented in ntgdi.h. Here are the main cases and information on
11 * how to remove them from this header.
13 * - Simple rename. This deals with an API simply having a different name,
14 * with absolutely no other changes needed.
15 * - Rename and new parameters. This deals with a case similar to the one
16 * above, except that new parameters have now
17 * been added. This is also usually extremly
18 * simple to fix. Either pass the right params
19 * or pass null/0 values that you ignore.
20 * - Rename and new structure. This is similar to the above, except that the
21 * information is now passed in a differently
22 * named and organized structure. Ask Alex for
23 * the structure you need and he will add it to
25 * - Rename and different semantics. Similar to the previous examples, except
26 * that parameters have usually been removed
27 * or need to be converted in user-mode in
28 * one form of another.
29 * - Does not exist: user-mode. This means that the API can be fully done in
30 * user mode. In 80% of cases, our API was already
31 * returning NOT_IMPLEMENTED in kernel-mode, so
32 * the work to be done is minimal. A good example
33 * are the ICM and Metafile APIs, which can simply
34 * be removed and added into gdi32.
35 * - Does not exist: GDI Shared Objects. This is by far the hardest case. This
36 * class cannot be fixed until ReactOS
37 * has a working Shared GDI Object table
38 * and a DC_ATTR structure in which the
39 * attributes, selection and deletion of
40 * objects can be quickly done from user-
41 * mode without requiring a kernel mode
44 /* Should be using ENUMFONTDATAW */
45 typedef struct tagFONTFAMILYINFO
47 ENUMLOGFONTEXW EnumLogFontEx
;
48 NEWTEXTMETRICEXW NewTextMetricEx
;
50 } FONTFAMILYINFO
, *PFONTFAMILYINFO
;
52 /* Should be using NtGdiEnumFontChunk */
55 NtGdiGetFontFamilyInfo(
62 /* Use NtGdiGetDCPoint with GdiGetViewPortExt */
63 BOOL APIENTRY
NtGdiGetViewportExtEx(HDC hDC
, LPSIZE viewportExt
);
65 /* Needs to be done in user-mode. */
66 BOOL APIENTRY
NtGdiGetViewportOrgEx(HDC hDC
, LPPOINT viewportOrg
);
68 /* Needs to be done in user-mode. */
69 BOOL APIENTRY
NtGdiGetWindowExtEx(HDC hDC
, LPSIZE windowExt
);
71 /* Needs to be done in user-mode. */
72 BOOL APIENTRY
NtGdiGetWindowOrgEx(HDC hDC
, LPPOINT windowOrg
);
74 /* Needs to be done in user-mode. */
77 NtGdiOffsetViewportOrgEx (
84 /* Needs to be done in user-mode. */
87 NtGdiOffsetWindowOrgEx (
94 /* Needs to be done in user-mode. */
97 NtGdiSetViewportOrgEx (
104 /* Needs to be done in user-mode. */
107 NtGdiSetWindowOrgEx (
114 /* Use SetDIBitsToDevice in gdi32. */
123 CONST BITMAPINFO
* bmi
,
127 #endif /* WIN32K_NTGDI_BAD_INCLUDED */
130 /* Follow thing need be rewriten
132 * Opengl icd are complete hacked in reactos and are using own way, this need be rewriten and be setup with the correct syscall
133 * and the opengl32 shall using correct syscall to optain then driver interface or using the correct version in gdi32.
134 * it mean whole icd are hacked in frist place and need be rewtiten from scrash. and it need enum the opengl correct way and
135 * export the driver correct
137 * DirectX aka ReactX alot api that have been implement in reactos win32k for ReactX shall move to a file call dxg.sys
138 * there from it will really doing the stuff. And we should setup loading of dxg.sys
140 * The Init of Gdi subsystem shall move into NtGdiInit()
142 * The Init of spooler are done in NtGdiInitSpool()
144 * The Init of the User subsystem shall move into NtUserInit()