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 NtGdiStretchDIBitsInternal(hdc
, XDest
, YDest
, nDestWidth
, nDestHeight
, XSrc
, YSrc
,
46 nSrcWidth
, nSrcHeight
, (LPBYTE
)lpBits
, (LPBITMAPINFO
)lpBitsInfo
, (DWORD
)iUsage
, dwRop
, 0, 0, NULL
);
66 CONST BITMAPINFO
*lpbmi
,
69 return NtGdiSetDIBitsToDeviceInternal(hDC
,
81 lpbmi
->bmiHeader
.biSizeImage
,
82 lpbmi
->bmiHeader
.biSize
,
92 PtInRegion(IN HRGN hrgn
,
96 /* FIXME some stuff at user mode need be fixed */
97 return NtGdiPtInRegion(hrgn
,x
,y
);
105 RectInRegion(HRGN hrgn
,
108 /* FIXME some stuff at user mode need be fixed */
109 return NtGdiRectInRegion(hrgn
, (LPRECT
) prcl
);
117 RestoreDC(IN HDC hdc
,
120 /* FIXME Sharememory */
121 return NtGdiRestoreDC(hdc
, iLevel
);
131 /* FIXME Sharememory */
132 return NtGdiSaveDC(hdc
);
145 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
161 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
177 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
194 return NtGdiGetBoundsRect(hdc
,lprcBounds
,flags
& DCB_RESET
);
210 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
225 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
240 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
249 SetBoundsRect(HDC hdc
,
253 /* FIXME add check for vaildate the flags */
254 return NtGdiSetBoundsRect(hdc
, (LPRECT
)prc
, flags
);
269 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
284 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
301 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
319 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
333 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
351 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
367 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
377 GetEnhMetaFileHeader(
384 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
393 GetEnhMetaFilePaletteEntries(
400 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
418 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
435 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
445 PlayEnhMetaFileRecord(
448 CONST ENHMETARECORD
*a2
,
453 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
469 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
483 CONST METAFILEPICT
*a3
)
486 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
503 if (GDI_HANDLE_GET_TYPE(hDC
) == GDI_OBJECT_TYPE_EMF
)
505 PLDC pLDC
= GdiGetLDC(hDC
);
508 SetLastError(ERROR_INVALID_HANDLE
);
511 if (pLDC
->iType
== LDC_EMFLDC
)
513 return EMFDRV_GdiComment( hDC
, bytes
, buffer
);
536 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
548 CONST COLORADJUSTMENT
*a1
552 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
566 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
581 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
596 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
611 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
623 ABORTPROC lpAbortProc
)
626 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
635 UnrealizeObject(HGDIOBJ hgdiobj
)
637 BOOL retValue
= TRUE
;
639 if (GDI_HANDLE_GET_TYPE(hgdiobj
) != GDI_OBJECT_TYPE_BRUSH
)
641 retValue
= NtGdiUnrealizeObject(hgdiobj
);
671 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
689 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
699 GetColorSpace(HDC hDc
)
702 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
718 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
727 GetDeviceGammaRamp( HDC hdc
,
730 BOOL retValue
= FALSE
;
731 if (lpGammaRamp
== NULL
)
733 SetLastError(ERROR_INVALID_PARAMETER
);
737 retValue
= NtGdiGetDeviceGammaRamp(hdc
,lpGammaRamp
);
748 SetDeviceGammaRamp(HDC hdc
,
751 BOOL retValue
= FALSE
;
755 retValue
= NtGdiSetDeviceGammaRamp(hdc
, lpGammaRamp
);
759 SetLastError(ERROR_INVALID_PARAMETER
);
778 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
795 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
810 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
820 wglCreateLayerContext(
826 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
841 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
851 wglGetCurrentContext(VOID
)
854 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
864 wglGetCurrentDC(VOID
)
867 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
882 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
898 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
914 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
924 wglDescribeLayerPlane(
929 LPLAYERPLANEDESCRIPTOR a4
933 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
943 wglSetLayerPaletteEntries(
952 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
962 wglGetLayerPaletteEntries(
971 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
981 wglRealizeLayerPalette(
988 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1004 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1009 /* === AFTER THIS POINT I GUESS... =========
1010 * (based on stack size in Norlander's .def)
1011 * === WHERE ARE THEY DEFINED? =============
1019 IsValidEnhMetaRecord(
1025 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1035 IsValidEnhMetaRecordOffExt(
1043 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1064 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1083 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1092 AddFontMemResourceEx(
1100 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1109 AddFontResourceTracking(
1115 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1126 ClearBitmapAttributes(HBITMAP hbm
, DWORD dwFlags
)
1129 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1138 ClearBrushAttributes(HBRUSH hbm
, DWORD dwFlags
)
1141 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1150 ColorCorrectPalette(HDC hDC
,HPALETTE hPalette
,DWORD dwFirstEntry
,DWORD dwNumOfEntries
)
1153 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1162 EndFormPage(HDC hdc
)
1165 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1176 GdiAddGlsBounds(HDC hdc
,LPRECT prc
)
1179 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1188 GdiArtificialDecrementDriver(LPWSTR pDriverName
,BOOL unknown
)
1191 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1200 GdiCleanCacheDC(HDC hdc
)
1203 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1212 GdiConvertAndCheckDC(HDC hdc
)
1215 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1224 GdiConvertEnhMetaFile(HENHMETAFILE hmf
)
1227 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1236 GdiDrawStream(HDC dc
, ULONG l
, VOID
*v
)
1239 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1248 GdiIsMetaFileDC(HDC hdc
)
1251 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1260 GdiIsMetaPrintDC(HDC hdc
)
1263 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1272 GdiIsPlayMetafileDC(HDC hdc
)
1275 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1284 GdiValidateHandle(HGDIOBJ hobj
)
1287 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1296 GetBitmapAttributes(HBITMAP hbm
)
1299 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1308 GetBrushAttributes(HBRUSH hbr
)
1311 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1320 GetEUDCTimeStamp(VOID
)
1322 return NtGdiGetEudcTimeStampEx(NULL
,0,TRUE
);
1330 GetFontAssocStatus(HDC hdc
)
1336 retValue
= NtGdiQueryFontAssocInfo(hdc
);
1347 GetTextExtentExPointWPri(HDC hdc
,
1355 return NtGdiGetTextExtentExW(hdc
,lpwsz
,cwc
,dxMax
,pcCh
,pdxOut
,psize
,0);
1363 GetTextFaceAliasW(HDC hdc
,
1368 if ((!pszOut
) || (cChar
))
1370 retValue
= NtGdiGetTextFaceW(hdc
,cChar
,pszOut
,TRUE
);
1374 SetLastError(ERROR_INVALID_PARAMETER
);
1384 QueryFontAssocStatus(VOID
)
1387 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1396 RemoveFontMemResourceEx(HANDLE fh
)
1402 retValue
= NtGdiRemoveFontMemResourceEx(fh
);
1406 SetLastError(ERROR_INVALID_PARAMETER
);
1416 RemoveFontResourceTracking(LPCSTR lpString
,int unknown
)
1419 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1428 SetBitmapAttributes(HBITMAP hbm
, DWORD dwFlags
)
1431 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1440 SetBrushAttributes(HBRUSH hbm
, DWORD dwFlags
)
1443 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1452 StartFormPage(HDC hdc
)
1454 return StartPage(hdc
);
1462 UnloadNetworkFonts(DWORD unknown
)
1465 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1473 GdiRealizationInfo(HDC hdc
,
1474 PREALIZATION_INFO pri
)
1477 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1487 EXTTEXTMETRIC
*petm
)
1489 BOOL Ret
= NtGdiGetETM(hdc
, petm
);
1492 petm
->emKernPairs
= GetKerningPairsA(hdc
, 0, 0);
1502 Escape(HDC hdc
, INT nEscape
, INT cbInput
, LPCSTR lpvInData
, LPVOID lpvOutData
)
1505 HGDIOBJ hObject
= hdc
;
1507 LPVOID pUserData
= NULL
;
1509 Type
= GDI_HANDLE_GET_TYPE(hObject
);
1511 if (Type
== GDI_OBJECT_TYPE_METADC
)
1513 /* FIXME we do not support metafile */
1515 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1522 /* Note Winodws check see if the handle have any user data for ABORTDOC command
1523 * ReactOS copy this behoir to be compatible with windows 2003
1525 if ( (!GdiGetHandleUserData(hObject
, (DWORD
)Type
, (PVOID
) &pUserData
)) ||
1526 (pUserData
== NULL
) )
1528 GdiSetLastError(ERROR_INVALID_HANDLE
);
1533 retValue
= AbortDoc(hdc
);
1540 /* Note 1: DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE is outdated and been replace with other api */
1541 /* Note 2: Winodws check see if the handle have any user data for DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE command
1542 * ReactOS copy this behoir to be compatible with windows 2003
1544 if ( (!GdiGetHandleUserData(hObject
, (DWORD
)Type
, (PVOID
) &pUserData
)) ||
1545 (pUserData
== NULL
) )
1547 GdiSetLastError(ERROR_INVALID_HANDLE
);
1553 /* Note : Winodws check see if the handle have any user data for DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE command
1554 * ReactOS copy this behoir to be compatible with windows 2003
1556 if ( (!GdiGetHandleUserData(hObject
, (DWORD
)Type
, (PVOID
) &pUserData
)) ||
1557 (pUserData
== NULL
) )
1559 GdiSetLastError(ERROR_INVALID_HANDLE
);
1562 retValue
= SetAbortProc(hdc
, (ABORTPROC
)lpvInData
);
1566 retValue
= GetSystemPaletteEntries(hdc
, (UINT
)*lpvInData
, 1, (LPPALETTEENTRY
)lpvOutData
);
1574 /* Note : Winodws check see if the handle have any user data for DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE command
1575 * ReactOS copy this behoir to be compatible with windows 2003
1577 if ( (!GdiGetHandleUserData(hObject
, (DWORD
)Type
, (PVOID
) &pUserData
)) ||
1578 (pUserData
== NULL
) )
1580 GdiSetLastError(ERROR_INVALID_HANDLE
);
1583 retValue
= EndDoc(hdc
);
1587 case GETSCALINGFACTOR
:
1588 /* Note GETSCALINGFACTOR is outdated have been replace by GetDeviceCaps */
1589 if ( Type
== GDI_OBJECT_TYPE_DC
)
1593 PPOINT ptr
= (PPOINT
) lpvOutData
;
1601 case GETEXTENDEDTEXTMETRICS
:
1602 retValue
= (int) GetETM( hdc
, (EXTTEXTMETRIC
*) lpvOutData
) != 0;
1610 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1622 GdiAddGlsRecord(HDC hdc
,
1628 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1637 GdiConvertMetaFilePict(HGLOBAL hMem
)
1640 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1649 GdiConvertToDevmodeW(DEVMODEA
*dm
)
1653 dmw
= HEAP_alloc(sizeof(DEVMODEW
));
1654 #define COPYS(f,len) MultiByteToWideChar ( CP_THREAD_ACP, 0, (LPSTR)dm->f, len, dmw->f, len )
1655 #define COPYN(f) dmw->f = dm->f
1656 COPYS(dmDeviceName
, CCHDEVICENAME
);
1657 COPYN(dmSpecVersion
);
1658 COPYN(dmDriverVersion
);
1659 switch ( dm
->dmSize
)
1661 case SIZEOF_DEVMODEA_300
:
1662 dmw
->dmSize
= SIZEOF_DEVMODEW_300
;
1664 case SIZEOF_DEVMODEA_400
:
1665 dmw
->dmSize
= SIZEOF_DEVMODEW_400
;
1667 case SIZEOF_DEVMODEA_500
:
1668 default: /* FIXME what to do??? */
1669 dmw
->dmSize
= SIZEOF_DEVMODEW_500
;
1672 COPYN(dmDriverExtra
);
1674 COPYN(dmPosition
.x
);
1675 COPYN(dmPosition
.y
);
1678 COPYN(dmDefaultSource
);
1679 COPYN(dmPrintQuality
);
1682 COPYN(dmYResolution
);
1685 COPYS(dmFormName
,CCHFORMNAME
);
1687 COPYN(dmBitsPerPel
);
1689 COPYN(dmPelsHeight
);
1690 COPYN(dmDisplayFlags
); // aka dmNup
1691 COPYN(dmDisplayFrequency
);
1693 if ( dm
->dmSize
<= SIZEOF_DEVMODEA_300
)
1695 return dmw
; // we're done with 0x300 fields
1701 COPYN(dmDitherType
);
1705 if ( dm
->dmSize
<= SIZEOF_DEVMODEA_400
)
1707 return dmw
; // we're done with 0x400 fields
1710 COPYN(dmPanningWidth
);
1711 COPYN(dmPanningHeight
);
1724 GdiCreateLocalEnhMetaFile(HENHMETAFILE hmo
)
1727 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1736 GdiCreateLocalMetaFilePict(HENHMETAFILE hmo
)
1739 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1749 GdiGetSpoolFileHandle(LPWSTR pwszPrinterName
,
1750 LPDEVMODEW pDevmode
,
1754 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1763 GdiDeleteSpoolFileHandle(HANDLE SpoolFileHandle
)
1766 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1775 GdiGetPageCount(HANDLE SpoolFileHandle
)
1778 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1787 GdiGetDC(HANDLE SpoolFileHandle
)
1790 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1799 GdiGetPageHandle(HANDLE SpoolFileHandle
,
1801 LPDWORD pdwPageType
)
1804 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1813 GdiStartDocEMF(HANDLE SpoolFileHandle
,
1817 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1826 GdiStartPageEMF(HANDLE SpoolFileHandle
)
1829 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1838 GdiPlayPageEMF(HANDLE SpoolFileHandle
,
1840 RECT
*prectDocument
,
1845 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1854 GdiEndPageEMF(HANDLE SpoolFileHandle
,
1855 DWORD dwOptimization
)
1858 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1867 GdiEndDocEMF(HANDLE SpoolFileHandle
)
1870 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1879 GdiGetDevmodeForPage(HANDLE SpoolFileHandle
,
1885 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1894 GdiResetDCEMF(HANDLE SpoolFileHandle
,
1898 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1908 CombineRgn(HRGN hDest
,
1913 /* FIXME some part should be done in user mode */
1914 return NtGdiCombineRgn(hDest
, hSrc1
, hSrc2
, CombineMode
);
1921 CreateBitmap(INT Width
,
1927 /* FIXME some part should be done in user mode */
1928 return NtGdiCreateBitmap(Width
, Height
, Planes
, BitsPixel
, (LPBYTE
) pUnsafeBits
);
1935 EngGetDriverName(HDEV hdev
)
1938 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1946 XLATEOBJ_iXlate(XLATEOBJ
*XlateObj
,
1950 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1959 XLATEOBJ_piVector(XLATEOBJ
*XlateObj
)
1961 return XlateObj
->pulXlate
;
1969 GdiPlayEMF(LPWSTR pwszPrinterName
,
1970 LPDEVMODEW pDevmode
,
1972 EMFPLAYPROC pfnEMFPlayFn
,
1977 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1988 GdiPlayPrivatePageEMF(HANDLE SpoolFileHandle
,
1990 RECT
*prectDocument
)
1993 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2000 VOID STDCALL
GdiInitializeLanguagePack(DWORD InitParam
)
2003 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2012 ExcludeClipRect(IN HDC hdc
, IN INT xLeft
, IN INT yTop
, IN INT xRight
, IN INT yBottom
)
2014 /* FIXME some part need be done on user mode size */
2015 return NtGdiExcludeClipRect(hdc
, xLeft
, yTop
, xRight
, yBottom
);
2023 ExtSelectClipRgn( IN HDC hdc
, IN HRGN hrgn
, IN INT iMode
)
2025 /* FIXME some part need be done on user mode size */
2026 return NtGdiExtSelectClipRgn(hdc
,hrgn
, iMode
);
2036 IN PTRIVERTEX pVertex
,
2042 /* FIXME some part need be done in user mode */
2043 return NtGdiGradientFill(hdc
, pVertex
, nVertex
, pMesh
, nMesh
, ulMode
);
2052 GdiTransparentBlt(IN HDC hdcDst
,
2062 IN COLORREF TransColor
2065 /* FIXME some part need be done in user mode */
2066 return NtGdiTransparentBlt(hdcDst
, xDst
, yDst
, cxDst
, cyDst
, hdcSrc
, xSrc
, ySrc
, cxSrc
, cySrc
, TransColor
);
2079 /* FIXME figout the protypes, the HUMPD are a STRUCT or COM object */
2080 /* status contain some form of return value that being save, what it is I do not known */
2081 /* unsue seam have zero effect, what it is for I do not known */
2083 // ? return NtGdiSetPUMPDOBJ(humpd->0x10,TRUE, humpd, ?) <- blackbox, OpenRCE info, and api hooks for anylaysing;
2094 HBITMAP in_format_BitMap
,
2099 /* FIXME guessing the prototypes */
2102 * it have create a new bitmap with desired in format,
2103 * then convert it src_bitmap to new format
2104 * and return it as HBITMAP
2117 GetDeviceCaps(HDC hdc
,
2120 /* FIXME some part need be done in user mode */
2121 return NtGdiGetDeviceCaps(hdc
,i
);
2133 /* FIXME some part need be done in user mode */
2134 return NtGdiGetAppClipBox(hdc
, lprc
);
2143 GetFontData(HDC hdc
,
2153 return NtGdiGetFontData(hdc
, dwTable
, dwOffset
, lpvBuffer
, cbData
);
2163 GetRegionData(HRGN hrgn
,
2165 LPRGNDATA lpRgnData
)
2172 return NtGdiGetRegionData(hrgn
,nCount
,lpRgnData
);
2182 GetRgnBox(HRGN hrgn
,
2185 /* FIXME some stuff need be done in user mode */
2186 return NtGdiGetRgnBox(hrgn
, prcOut
);
2196 OffsetRgn( HRGN hrgn
,
2200 /* FIXME some part are done in user mode */
2201 return NtGdiOffsetRgn(hrgn
,nXOffset
,nYOffset
);
2207 GetTextCharsetInfo(HDC hdc
,
2208 LPFONTSIGNATURE lpSig
,
2211 /* FIXME some part are done in user mode */
2212 return NtGdiGetTextCharsetInfo(hdc
, lpSig
, dwFlags
);
2219 IntersectClipRect(HDC hdc
,
2225 /* FIXME some part are done in user mode */
2226 return NtGdiIntersectClipRect(hdc
, nLeftRect
, nTopRect
, nRightRect
, nBottomRect
);
2231 OffsetClipRgn(HDC hdc
,
2235 /* FIXME some part are done in user mode */
2236 return NtGdiOffsetClipRgn( hdc
, nXOffset
, nYOffset
);
2242 NamedEscape(HDC hdc
,
2250 /* FIXME metadc, metadc are done most in user mode, and we do not support it
2251 * Windows 2000/XP/Vista ignore the current hdc, that are being pass and always set hdc to NULL
2252 * when it calls to NtGdiExtEscape from NamedEscape
2254 return NtGdiExtEscape(NULL
,pDriver
,wcslen(pDriver
),iEsc
,cjIn
,pjIn
,cjOut
,pjOut
);
2263 /* FIXME wrong protypes, it is a fastcall api */
2266 cGetTTFFromFOT(DWORD x1
,DWORD x2
,DWORD x3
, DWORD x4
, DWORD x5
, DWORD x6
, DWORD x7
)
2269 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);