ReactOS  0.4.14-dev-991-g696cdc6
ntgdibad.h
Go to the documentation of this file.
1 #ifndef WIN32K_NTGDI_BAD_INCLUDED
2 #define WIN32K_NTGDI_BAD_INCLUDED
3 
4 /*
5  *
6  * If you want to help, please read this:
7  *
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.
12  *
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
24  * ntgdityp.h
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
42  * call.
43  */
44 /* Should be using ENUMFONTDATAW */
45 typedef struct tagFONTFAMILYINFO
46 {
51 
52 /* Should be using NtGdiEnumFontChunk */
53 LONG
54 NTAPI
56  HDC Dc,
57  const LOGFONTW *LogFont,
59  LPLONG UnsafeInfoCount);
60 
61 /* Use NtGdiGetDCPoint with GdiGetViewPortExt */
63 
64 /* Needs to be done in user-mode. */
66 
67 /* Needs to be done in user-mode. */
69 
70 /* Needs to be done in user-mode. */
72 
73 /* Needs to be done in user-mode. */
74 BOOL
77  HDC hDC,
78  int XOffset,
79  int YOffset,
81  );
82 
83 /* Needs to be done in user-mode. */
84 BOOL
87  HDC hDC,
88  int XOffset,
89  int YOffset,
91  );
92 
93 /* Needs to be done in user-mode. */
94 BOOL
97  HDC hDC,
98  int X,
99  int Y,
100  LPPOINT Point
101  );
102 
103 /* Needs to be done in user-mode. */
104 BOOL
105 APIENTRY
107  HDC hDC,
108  int X,
109  int Y,
110  LPPOINT Point
111  );
112 
113 #endif /* WIN32K_NTGDI_BAD_INCLUDED */
114 
115 
116 /* Follow thing need be rewriten
117  *
118  * Opengl icd are complete hacked in reactos and are using own way, this need be rewriten and be setup with the correct syscall
119  * and the opengl32 shall using correct syscall to optain then driver interface or using the correct version in gdi32.
120  * it mean whole icd are hacked in frist place and need be rewtiten from scrash. and it need enum the opengl correct way and
121  * export the driver correct
122  *
123  * DirectX aka ReactX alot api that have been implement in reactos win32k for ReactX shall move to a file call dxg.sys
124  * there from it will really doing the stuff. And we should setup loading of dxg.sys
125  *
126  * The Init of Gdi subsystem shall move into NtGdiInit()
127  *
128  * The Init of spooler are done in NtGdiInitSpool()
129  *
130  * The Init of the User subsystem shall move into NtUserInit()
131  */
BOOL APIENTRY NtGdiOffsetWindowOrgEx(HDC hDC, int XOffset, int YOffset, LPPOINT Point)
Definition: coord.c:612
#define Y(I)
BOOL APIENTRY NtGdiGetViewportOrgEx(HDC hDC, LPPOINT viewportOrg)
BOOL APIENTRY NtGdiGetWindowOrgEx(HDC hDC, LPPOINT windowOrg)
BOOL APIENTRY NtGdiGetViewportExtEx(HDC hDC, LPSIZE viewportExt)
static HDC
Definition: imagelist.c:92
BOOL APIENTRY NtGdiGetWindowExtEx(HDC hDC, LPSIZE windowExt)
BOOL APIENTRY NtGdiSetViewportOrgEx(HDC hDC, int X, int Y, LPPOINT Point)
Definition: coord.c:945
struct TraceInfo Info
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
unsigned int BOOL
Definition: ntddk_ex.h:94
long LONG
Definition: pedump.c:60
LONG NTAPI NtGdiGetFontFamilyInfo(HDC Dc, const LOGFONTW *LogFont, PFONTFAMILYINFO Info, LPLONG UnsafeInfoCount)
Definition: freetype.c:5844
unsigned long DWORD
Definition: ntddk_ex.h:95
NEWTEXTMETRICEXW NewTextMetricEx
Definition: ntgdibad.h:48
BOOL APIENTRY NtGdiOffsetViewportOrgEx(HDC hDC, int XOffset, int YOffset, LPPOINT Point)
Definition: coord.c:553
ENUMLOGFONTEXW EnumLogFontEx
Definition: ntgdibad.h:47
static HDC hDC
Definition: 3dtext.c:33
int32_t * LPLONG
Definition: typedefs.h:57
struct tagFONTFAMILYINFO FONTFAMILYINFO
struct tagFONTFAMILYINFO * PFONTFAMILYINFO
BOOL APIENTRY NtGdiSetWindowOrgEx(HDC hDC, int X, int Y, LPPOINT Point)
Definition: coord.c:997
#define APIENTRY
Definition: api.h:79