3 * reactos/lib/gdi32/misc/stubs.c
7 * When you implement one of these functions,
8 * remove its stub from this file.
14 #define SIZEOF_DEVMODEA_300 124
15 #define SIZEOF_DEVMODEA_400 148
16 #define SIZEOF_DEVMODEA_500 156
17 #define SIZEOF_DEVMODEW_300 188
18 #define SIZEOF_DEVMODEW_400 212
19 #define SIZEOF_DEVMODEW_500 220
21 #define UNIMPLEMENTED DbgPrint("GDI32: %s is unimplemented, please try again later.\n", __FUNCTION__);
29 StretchDIBits(HDC hdc
,
39 CONST BITMAPINFO
*lpBitsInfo
,
44 /* FIXME share memory */
45 return NtGdiStretchDIBits(hdc
, XDest
, YDest
, nDestWidth
, nDestHeight
, XSrc
, YSrc
,
46 nSrcWidth
, nSrcHeight
, lpBits
, lpBitsInfo
, iUsage
, dwRop
);
59 CONST BITMAPINFO
*lpbmi
,
62 /* FIXME share memory */
63 return NtGdiSetDIBits(hdc
, hbmp
, uStartScan
, cScanLines
, lpvBits
, lpbmi
, fuColorUse
);
71 SetGraphicsMode(HDC hdc
,
74 /* FIXME share memory */
75 return NtGdiSetGraphicsMode(hdc
, iMode
);
83 SetPolyFillMode(HDC hdc
,
86 /* FIXME share memory */
87 return NtGdiSetPolyFillMode(hdc
, iPolyFillMode
);
95 SetStretchBltMode(HDC hdc
, int iStretchMode
)
97 /* FIXME share memory */
98 return NtGdiSetStretchBltMode(hdc
, iStretchMode
);
106 SetRectRgn(HRGN hrgn
,
112 /* FIXME metadc stuff */
113 return NtGdiSetRectRgn(hrgn
, nLeftRect
, nTopRect
, nRightRect
, nBottomRect
);
121 SetViewportExtEx(HDC hdc
,
126 /* FIXME share memory */
127 return NtGdiSetViewportExtEx(hdc
, nXExtent
, nYExtent
, lpSize
);
135 SetWindowOrgEx(HDC hdc
,
140 /* FIXME share memory */
141 return NtGdiSetWindowOrgEx(hdc
,X
,Y
,lpPoint
);
149 SetWindowExtEx(HDC hdc
,
154 /* FIXME share memory */
155 return NtGdiSetWindowExtEx(hdc
, nXExtent
, nYExtent
, lpSize
);
163 SetViewportOrgEx(HDC hdc
,
168 /* FIXME share memory */
169 return NtGdiSetViewportOrgEx(hdc
,X
,Y
,lpPoint
);
177 PtInRegion(IN HRGN hrgn
,
181 /* FIXME some stuff at user mode need be fixed */
182 return NtGdiPtInRegion(hrgn
,x
,y
);
190 RectInRegion(HRGN hrgn
,
193 /* FIXME some stuff at user mode need be fixed */
194 return NtGdiRectInRegion(hrgn
, (LPRECT
) prcl
);
202 RestoreDC(IN HDC hdc
,
205 /* FIXME Sharememory */
206 return NtGdiRestoreDC(hdc
, iLevel
);
216 /* FIXME Sharememory */
217 return NtGdiSaveDC(hdc
);
230 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
246 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
262 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
271 Escape(HDC hdc
, INT escape
, INT in_count
, LPCSTR in_data
, LPVOID out_data
)
274 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
290 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
306 return NtGdiGetBoundsRect(hdc
,lprcBounds
,flags
& DCB_RESET
);
318 return NtGdiGetRandomRgn(hdc
,hrgn
,2);
334 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
350 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
365 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
380 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
394 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
403 SetBoundsRect(HDC hdc
,
407 /* FIXME add check for vaildate the flags */
408 return NtGdiSetBoundsRect(hdc
, (LPRECT
)prc
, flags
);
423 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
438 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
447 SetTextJustification(
454 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
468 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
486 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
504 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
518 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
536 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
552 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
562 GetEnhMetaFileHeader(
569 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
578 GetEnhMetaFilePaletteEntries(
585 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
603 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
620 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
630 PlayEnhMetaFileRecord(
633 CONST ENHMETARECORD
*a2
,
638 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
654 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
668 CONST METAFILEPICT
*a3
)
671 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
688 if (GDI_HANDLE_GET_TYPE(hDC
) == GDI_OBJECT_TYPE_EMF
)
690 PLDC pLDC
= GdiGetLDC(hDC
);
693 SetLastError(ERROR_INVALID_HANDLE
);
696 if (pLDC
->iType
== LDC_EMFLDC
)
698 return EMFDRV_GdiComment( hDC
, bytes
, buffer
);
721 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
733 CONST COLORADJUSTMENT
*a1
737 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
751 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
766 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
781 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
796 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
812 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
832 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
852 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
862 UnrealizeObject(HGDIOBJ hgdiobj
)
864 BOOL retValue
= TRUE
;
866 if (GDI_HANDLE_GET_TYPE(hgdiobj
) != GDI_OBJECT_TYPE_BRUSH
)
868 retValue
= NtGdiUnrealizeObject(hgdiobj
);
898 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
916 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
926 GetColorSpace(HDC hDc
)
929 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
945 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
954 GetDeviceGammaRamp( HDC hdc
,
957 BOOL retValue
= FALSE
;
958 if (lpGammaRamp
== NULL
)
960 SetLastError(ERROR_INVALID_PARAMETER
);
964 retValue
= NtGdiGetDeviceGammaRamp(hdc
,lpGammaRamp
);
975 SetDeviceGammaRamp(HDC hdc
,
978 BOOL retValue
= FALSE
;
982 retValue
= NtGdiSetDeviceGammaRamp(hdc
, lpGammaRamp
);
986 SetLastError(ERROR_INVALID_PARAMETER
);
1005 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1022 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1037 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1047 wglCreateLayerContext(
1053 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1068 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1078 wglGetCurrentContext(VOID
)
1081 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1091 wglGetCurrentDC(VOID
)
1094 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1109 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1125 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1141 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1151 wglDescribeLayerPlane(
1156 LPLAYERPLANEDESCRIPTOR a4
1160 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1170 wglSetLayerPaletteEntries(
1179 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1189 wglGetLayerPaletteEntries(
1198 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1208 wglRealizeLayerPalette(
1215 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1225 wglSwapLayerBuffers(
1231 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1236 /* === AFTER THIS POINT I GUESS... =========
1237 * (based on stack size in Norlander's .def)
1238 * === WHERE ARE THEY DEFINED? =============
1246 IsValidEnhMetaRecord(
1252 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1262 IsValidEnhMetaRecordOffExt(
1270 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1291 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1310 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1319 AddFontMemResourceEx(
1327 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1336 AddFontResourceTracking(
1342 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1353 ClearBitmapAttributes(HBITMAP hbm
, DWORD dwFlags
)
1356 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1365 ClearBrushAttributes(HBRUSH hbm
, DWORD dwFlags
)
1368 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1377 ColorCorrectPalette(HDC hDC
,HPALETTE hPalette
,DWORD dwFirstEntry
,DWORD dwNumOfEntries
)
1380 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1389 EndFormPage(HDC hdc
)
1392 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1403 GdiAddGlsBounds(HDC hdc
,LPRECT prc
)
1406 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1415 GdiArtificialDecrementDriver(LPWSTR pDriverName
,BOOL unknown
)
1418 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1427 GdiCleanCacheDC(HDC hdc
)
1430 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1439 GdiConvertAndCheckDC(HDC hdc
)
1442 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1451 GdiConvertEnhMetaFile(HENHMETAFILE hmf
)
1454 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1463 GdiDrawStream(HDC dc
, ULONG l
, VOID
*v
)
1466 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1475 GdiIsMetaFileDC(HDC hdc
)
1478 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1487 GdiIsMetaPrintDC(HDC hdc
)
1490 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1499 GdiIsPlayMetafileDC(HDC hdc
)
1502 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1511 GdiValidateHandle(HGDIOBJ hobj
)
1514 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1523 GetBitmapAttributes(HBITMAP hbm
)
1526 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1535 GetBrushAttributes(HBRUSH hbr
)
1538 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1547 GetEUDCTimeStamp(VOID
)
1549 return NtGdiGetEudcTimeStampEx(NULL
,0,TRUE
);
1557 GetFontAssocStatus(HDC hdc
)
1563 retValue
= NtGdiQueryFontAssocInfo(hdc
);
1577 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1590 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1599 GetTextExtentExPointWPri(HDC hdc
,
1607 return NtGdiGetTextExtentExW(hdc
,lpwsz
,cwc
,dxMax
,pcCh
,pdxOut
,psize
,0);
1615 GetTextFaceAliasW(HDC hdc
,
1620 if ((!pszOut
) || (cChar
))
1622 retValue
= NtGdiGetTextFaceW(hdc
,cChar
,pszOut
,TRUE
);
1626 SetLastError(ERROR_INVALID_PARAMETER
);
1638 MirrorRgn(HWND hwnd
,HRGN hrgn
)
1641 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1652 QueryFontAssocStatus(VOID
)
1655 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1664 RemoveFontMemResourceEx(HANDLE fh
)
1670 retValue
= NtGdiRemoveFontMemResourceEx(fh
);
1674 SetLastError(ERROR_INVALID_PARAMETER
);
1684 RemoveFontResourceTracking(LPCSTR lpString
,int unknown
)
1687 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1696 SetBitmapAttributes(HBITMAP hbm
, DWORD dwFlags
)
1699 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1708 SetBrushAttributes(HBRUSH hbm
, DWORD dwFlags
)
1711 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1724 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1733 SetLayoutWidth(HDC hdc
,LONG wox
,DWORD dwLayout
)
1736 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1747 StartFormPage(HDC hdc
)
1749 return StartPage(hdc
);
1757 UnloadNetworkFonts(DWORD unknown
)
1760 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1768 GetTextExtentExPointI(HDC hdc
,
1776 return NtGdiGetTextExtentExW(hdc
,pgiIn
,cgi
,nMaxExtent
,(ULONG
*)lpnFit
, (PULONG
) alpDx
,lpSize
,1);
1784 GetTextExtentPointI(HDC hdc
,
1789 return NtGdiGetTextExtent(hdc
,pgiIn
,cgi
,lpSize
,2);
1801 GdiRealizationInfo(HDC hdc
,
1802 PREALIZATION_INFO pri
)
1805 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1817 EXTTEXTMETRIC
*petm
)
1820 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1829 GdiAddGlsRecord(HDC hdc
,
1835 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1844 GdiConvertMetaFilePict(HGLOBAL hMem
)
1847 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1856 GdiConvertToDevmodeW(DEVMODEA
*dm
)
1860 dmw
= HEAP_alloc(sizeof(DEVMODEW
));
1861 #define COPYS(f,len) MultiByteToWideChar ( CP_THREAD_ACP, 0, (LPSTR)dm->f, len, dmw->f, len )
1862 #define COPYN(f) dmw->f = dm->f
1863 COPYS(dmDeviceName
, CCHDEVICENAME
);
1864 COPYN(dmSpecVersion
);
1865 COPYN(dmDriverVersion
);
1866 switch ( dm
->dmSize
)
1868 case SIZEOF_DEVMODEA_300
:
1869 dmw
->dmSize
= SIZEOF_DEVMODEW_300
;
1871 case SIZEOF_DEVMODEA_400
:
1872 dmw
->dmSize
= SIZEOF_DEVMODEW_400
;
1874 case SIZEOF_DEVMODEA_500
:
1875 default: /* FIXME what to do??? */
1876 dmw
->dmSize
= SIZEOF_DEVMODEW_500
;
1879 COPYN(dmDriverExtra
);
1881 COPYN(dmPosition
.x
);
1882 COPYN(dmPosition
.y
);
1885 COPYN(dmDefaultSource
);
1886 COPYN(dmPrintQuality
);
1889 COPYN(dmYResolution
);
1892 COPYS(dmFormName
,CCHFORMNAME
);
1894 COPYN(dmBitsPerPel
);
1896 COPYN(dmPelsHeight
);
1897 COPYN(dmDisplayFlags
); // aka dmNup
1898 COPYN(dmDisplayFrequency
);
1900 if ( dm
->dmSize
<= SIZEOF_DEVMODEA_300
)
1902 return dmw
; // we're done with 0x300 fields
1908 COPYN(dmDitherType
);
1912 if ( dm
->dmSize
<= SIZEOF_DEVMODEA_400
)
1914 return dmw
; // we're done with 0x400 fields
1917 COPYN(dmPanningWidth
);
1918 COPYN(dmPanningHeight
);
1931 GdiCreateLocalEnhMetaFile(HENHMETAFILE hmo
)
1934 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1943 GdiCreateLocalMetaFilePict(HENHMETAFILE hmo
)
1946 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1956 GdiGetSpoolFileHandle(LPWSTR pwszPrinterName
,
1957 LPDEVMODEW pDevmode
,
1961 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1970 GdiDeleteSpoolFileHandle(HANDLE SpoolFileHandle
)
1973 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1982 GdiGetPageCount(HANDLE SpoolFileHandle
)
1985 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1994 GdiGetDC(HANDLE SpoolFileHandle
)
1997 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2006 GdiGetPageHandle(HANDLE SpoolFileHandle
,
2008 LPDWORD pdwPageType
)
2011 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2020 GdiStartDocEMF(HANDLE SpoolFileHandle
,
2024 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2033 GdiStartPageEMF(HANDLE SpoolFileHandle
)
2036 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2045 GdiPlayPageEMF(HANDLE SpoolFileHandle
,
2047 RECT
*prectDocument
,
2052 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2061 GdiEndPageEMF(HANDLE SpoolFileHandle
,
2062 DWORD dwOptimization
)
2065 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2074 GdiEndDocEMF(HANDLE SpoolFileHandle
)
2077 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2086 GdiGetDevmodeForPage(HANDLE SpoolFileHandle
,
2092 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2101 GdiResetDCEMF(HANDLE SpoolFileHandle
,
2105 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2112 CreateDIBitmap(HDC hDc
,
2113 const BITMAPINFOHEADER
*Header
,
2114 DWORD Init
, LPCVOID Bits
, const BITMAPINFO
*Data
,
2117 /* FIMXE we need do more thing in user mode */
2118 return NtGdiCreateDIBitmap(hDc
, Header
, Init
, Bits
, Data
, ColorUse
);
2126 CombineRgn(HRGN hDest
,
2131 /* FIXME some part should be done in user mode */
2132 return NtGdiCombineRgn(hDest
, hSrc1
, hSrc2
, CombineMode
);
2139 CreateBitmap(INT Width
,
2145 /* FIXME some part should be done in user mode */
2146 return NtGdiCreateBitmap(Width
, Height
, Planes
, BitsPixel
, (LPBYTE
) pUnsafeBits
);
2153 EngGetDriverName(HDEV hdev
)
2156 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2164 XLATEOBJ_iXlate(XLATEOBJ
*XlateObj
,
2168 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2177 XLATEOBJ_piVector(XLATEOBJ
*XlateObj
)
2179 return XlateObj
->pulXlate
;
2187 GdiPlayEMF(LPWSTR pwszPrinterName
,
2188 LPDEVMODEW pDevmode
,
2190 EMFPLAYPROC pfnEMFPlayFn
,
2195 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2206 GdiPlayPrivatePageEMF(HANDLE SpoolFileHandle
,
2208 RECT
*prectDocument
)
2211 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2218 VOID STDCALL
GdiInitializeLanguagePack(DWORD InitParam
)
2221 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2230 ExcludeClipRect(IN HDC hdc
, IN INT xLeft
, IN INT yTop
, IN INT xRight
, IN INT yBottom
)
2232 /* FIXME some part need be done on user mode size */
2233 return NtGdiExcludeClipRect(hdc
, xLeft
, yTop
, xRight
, yBottom
);
2241 ExtSelectClipRgn( IN HDC hdc
, IN HRGN hrgn
, IN INT iMode
)
2243 /* FIXME some part need be done on user mode size */
2244 return NtGdiExtSelectClipRgn(hdc
,hrgn
, iMode
);
2254 IN PTRIVERTEX pVertex
,
2260 /* FIXME some part need be done in user mode */
2261 return NtGdiGradientFill(hdc
, pVertex
, nVertex
, pMesh
, nMesh
, ulMode
);
2270 GdiTransparentBlt(IN HDC hdcDst
,
2280 IN COLORREF TransColor
2283 /* FIXME some part need be done in user mode */
2284 return NtGdiTransparentBlt(hdcDst
, xDst
, yDst
, cxDst
, cyDst
, hdcSrc
, xSrc
, ySrc
, cxSrc
, cySrc
, TransColor
);
2297 /* FIXME figout the protypes, the HUMPD are a STRUCT or COM object */
2298 /* status contain some form of return value that being save, what it is I do not known */
2299 /* unsue seam have zero effect, what it is for I do not known */
2301 // ? return NtGdiSetPUMPDOBJ(humpd->0x10,TRUE, humpd, ?) <- blackbox, OpenRCE info, and api hooks for anylaysing;
2312 HBITMAP in_format_BitMap
,
2317 /* FIXME guessing the prototypes */
2320 * it have create a new bitmap with desired in format,
2321 * then convert it src_bitmap to new format
2322 * and return it as HBITMAP
2335 GetDeviceCaps(HDC hdc
,
2338 /* FIXME some part need be done in user mode */
2339 return NtGdiGetDeviceCaps(hdc
,i
);
2349 GetCurrentPositionEx(HDC hdc
,
2352 /* FIXME some part need be done in user mode */
2353 return NtGdiGetCurrentPositionEx(hdc
, lpPoint
);
2365 /* FIXME some part need be done in user mode */
2366 return NtGdiGetAppClipBox(hdc
, lprc
);
2375 GetFontData(HDC hdc
,
2385 return NtGdiGetFontData(hdc
, dwTable
, dwOffset
, lpvBuffer
, cbData
);
2395 GetRegionData(HRGN hrgn
,
2397 LPRGNDATA lpRgnData
)
2404 return NtGdiGetRegionData(hrgn
,nCount
,lpRgnData
);
2414 GetRgnBox(HRGN hrgn
,
2417 /* FIXME some stuff need be done in user mode */
2418 return NtGdiGetRgnBox(hrgn
, prcOut
);
2428 OffsetRgn( HRGN hrgn
,
2432 /* FIXME some part are done in user mode */
2433 return NtGdiOffsetRgn(hrgn
,nXOffset
,nYOffset
);
2439 GetTextCharsetInfo(HDC hdc
,
2440 LPFONTSIGNATURE lpSig
,
2443 /* FIXME some part are done in user mode */
2444 return NtGdiGetTextCharsetInfo(hdc
, lpSig
, dwFlags
);
2451 IntersectClipRect(HDC hdc
,
2457 /* FIXME some part are done in user mode */
2458 return NtGdiIntersectClipRect(hdc
, nLeftRect
, nTopRect
, nRightRect
, nBottomRect
);
2463 OffsetClipRgn(HDC hdc
,
2467 /* FIXME some part are done in user mode */
2468 return NtGdiOffsetClipRgn( hdc
, nXOffset
, nYOffset
);
2474 NamedEscape(HDC hdc
,
2482 /* FIXME metadc, metadc are done most in user mode, and we do not support it
2483 * Windows 2000/XP/Vista ignore the current hdc, that are being pass and always set hdc to NULL
2484 * when it calls to NtGdiExtEscape from NamedEscape
2486 return NtGdiExtEscape(NULL
,pDriver
,wcslen(pDriver
),iEsc
,cjIn
,pjIn
,cjOut
,pjOut
);