ReactOS 0.4.15-dev-7924-g5949c20
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 */
45typedef struct tagFONTFAMILYINFO
46{
51
52/* Should be using NtGdiEnumFontChunk */
53LONG
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. */
74BOOL
77 HDC hDC,
78 int XOffset,
79 int YOffset,
81 );
82
83/* Needs to be done in user-mode. */
84BOOL
87 HDC hDC,
88 int XOffset,
89 int YOffset,
91 );
92
93/* Needs to be done in user-mode. */
94BOOL
97 HDC hDC,
98 int X,
99 int Y,
101 );
102
103/* Needs to be done in user-mode. */
104BOOL
107 HDC hDC,
108 int X,
109 int Y,
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 */
static HDC hDC
Definition: 3dtext.c:33
#define APIENTRY
Definition: api.h:79
#define Y(I)
unsigned int BOOL
Definition: ntddk_ex.h:94
unsigned long DWORD
Definition: ntddk_ex.h:95
static HDC
Definition: imagelist.c:92
BOOL APIENTRY NtGdiOffsetWindowOrgEx(HDC hDC, int XOffset, int YOffset, LPPOINT Point)
Definition: coord.c:615
BOOL APIENTRY NtGdiGetViewportOrgEx(HDC hDC, LPPOINT viewportOrg)
BOOL APIENTRY NtGdiSetViewportOrgEx(HDC hDC, int X, int Y, LPPOINT Point)
Definition: coord.c:948
BOOL APIENTRY NtGdiGetWindowOrgEx(HDC hDC, LPPOINT windowOrg)
LONG NTAPI NtGdiGetFontFamilyInfo(HDC Dc, const LOGFONTW *LogFont, PFONTFAMILYINFO Info, LPLONG UnsafeInfoCount)
Definition: freetype.c:5757
BOOL APIENTRY NtGdiOffsetViewportOrgEx(HDC hDC, int XOffset, int YOffset, LPPOINT Point)
Definition: coord.c:556
BOOL APIENTRY NtGdiGetWindowExtEx(HDC hDC, LPSIZE windowExt)
BOOL APIENTRY NtGdiSetWindowOrgEx(HDC hDC, int X, int Y, LPPOINT Point)
Definition: coord.c:1000
struct tagFONTFAMILYINFO * PFONTFAMILYINFO
BOOL APIENTRY NtGdiGetViewportExtEx(HDC hDC, LPSIZE viewportExt)
struct tagFONTFAMILYINFO FONTFAMILYINFO
long LONG
Definition: pedump.c:60
NEWTEXTMETRICEXW NewTextMetricEx
Definition: ntgdibad.h:48
ENUMLOGFONTEXW EnumLogFontEx
Definition: ntgdibad.h:47
int32_t * LPLONG
Definition: typedefs.h:58
#define NTAPI
Definition: typedefs.h:36
_Must_inspect_result_ _In_ WDFCHILDLIST _In_ PWDF_CHILD_LIST_ITERATOR _Out_ WDFDEVICE _Inout_opt_ PWDF_CHILD_RETRIEVE_INFO Info
Definition: wdfchildlist.h:690