Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenntgdibad.h
Go to the documentation of this file.
00001 #ifndef WIN32K_NTGDI_BAD_INCLUDED 00002 #define WIN32K_NTGDI_BAD_INCLUDED 00003 00004 /* 00005 * 00006 * If you want to help, please read this: 00007 * 00008 * This file contains NtGdi APIs which are specific to ROS, including 00009 * a short comment describing the solution on how to use the actual NtGdi 00010 * call documented in ntgdi.h. Here are the main cases and information on 00011 * how to remove them from this header. 00012 * 00013 * - Simple rename. This deals with an API simply having a different name, 00014 * with absolutely no other changes needed. 00015 * - Rename and new parameters. This deals with a case similar to the one 00016 * above, except that new parameters have now 00017 * been added. This is also usually extremly 00018 * simple to fix. Either pass the right params 00019 * or pass null/0 values that you ignore. 00020 * - Rename and new structure. This is similar to the above, except that the 00021 * information is now passed in a differently 00022 * named and organized structure. Ask Alex for 00023 * the structure you need and he will add it to 00024 * ntgdityp.h 00025 * - Rename and different semantics. Similar to the previous examples, except 00026 * that parameters have usually been removed 00027 * or need to be converted in user-mode in 00028 * one form of another. 00029 * - Does not exist: user-mode. This means that the API can be fully done in 00030 * user mode. In 80% of cases, our API was already 00031 * returning NOT_IMPLEMENTED in kernel-mode, so 00032 * the work to be done is minimal. A good example 00033 * are the ICM and Metafile APIs, which can simply 00034 * be removed and added into gdi32. 00035 * - Does not exist: GDI Shared Objects. This is by far the hardest case. This 00036 * class cannot be fixed until ReactOS 00037 * has a working Shared GDI Object table 00038 * and a DC_ATTR structure in which the 00039 * attributes, selection and deletion of 00040 * objects can be quickly done from user- 00041 * mode without requiring a kernel mode 00042 * call. 00043 */ 00044 /* Should be using ENUMFONTDATAW */ 00045 typedef struct tagFONTFAMILYINFO 00046 { 00047 ENUMLOGFONTEXW EnumLogFontEx; 00048 NEWTEXTMETRICEXW NewTextMetricEx; 00049 DWORD FontType; 00050 } FONTFAMILYINFO, *PFONTFAMILYINFO; 00051 00052 /* Should be using NtGdiEnumFontChunk */ 00053 INT 00054 NTAPI 00055 NtGdiGetFontFamilyInfo( 00056 HDC Dc, 00057 LPLOGFONTW LogFont, 00058 PFONTFAMILYINFO Info, 00059 DWORD Size 00060 ); 00061 00062 /* Use NtGdiGetDCPoint with GdiGetViewPortExt */ 00063 BOOL APIENTRY NtGdiGetViewportExtEx(HDC hDC, LPSIZE viewportExt); 00064 00065 /* Needs to be done in user-mode. */ 00066 BOOL APIENTRY NtGdiGetViewportOrgEx(HDC hDC, LPPOINT viewportOrg); 00067 00068 /* Needs to be done in user-mode. */ 00069 BOOL APIENTRY NtGdiGetWindowExtEx(HDC hDC, LPSIZE windowExt); 00070 00071 /* Needs to be done in user-mode. */ 00072 BOOL APIENTRY NtGdiGetWindowOrgEx(HDC hDC, LPPOINT windowOrg); 00073 00074 /* Needs to be done in user-mode. */ 00075 BOOL 00076 APIENTRY 00077 NtGdiOffsetViewportOrgEx ( 00078 HDC hDC, 00079 int XOffset, 00080 int YOffset, 00081 LPPOINT Point 00082 ); 00083 00084 /* Needs to be done in user-mode. */ 00085 BOOL 00086 APIENTRY 00087 NtGdiOffsetWindowOrgEx ( 00088 HDC hDC, 00089 int XOffset, 00090 int YOffset, 00091 LPPOINT Point 00092 ); 00093 00094 /* Needs to be done in user-mode. */ 00095 BOOL 00096 APIENTRY 00097 NtGdiSetViewportOrgEx ( 00098 HDC hDC, 00099 int X, 00100 int Y, 00101 LPPOINT Point 00102 ); 00103 00104 /* Needs to be done in user-mode. */ 00105 BOOL 00106 APIENTRY 00107 NtGdiSetWindowOrgEx ( 00108 HDC hDC, 00109 int X, 00110 int Y, 00111 LPPOINT Point 00112 ); 00113 00114 #endif /* WIN32K_NTGDI_BAD_INCLUDED */ 00115 00116 00117 /* Follow thing need be rewriten 00118 * 00119 * Opengl icd are complete hacked in reactos and are using own way, this need be rewriten and be setup with the correct syscall 00120 * and the opengl32 shall using correct syscall to optain then driver interface or using the correct version in gdi32. 00121 * it mean whole icd are hacked in frist place and need be rewtiten from scrash. and it need enum the opengl correct way and 00122 * export the driver correct 00123 * 00124 * DirectX aka ReactX alot api that have been implement in reactos win32k for ReactX shall move to a file call dxg.sys 00125 * there from it will really doing the stuff. And we should setup loading of dxg.sys 00126 * 00127 * The Init of Gdi subsystem shall move into NtGdiInit() 00128 * 00129 * The Init of spooler are done in NtGdiInitSpool() 00130 * 00131 * The Init of the User subsystem shall move into NtUserInit() 00132 */ Generated on Sun May 27 2012 04:38:27 for ReactOS by
1.7.6.1
|