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
);
268 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
285 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
303 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
317 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
335 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
351 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
361 GetEnhMetaFileHeader(
368 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
377 GetEnhMetaFilePaletteEntries(
384 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
402 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
419 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
429 PlayEnhMetaFileRecord(
432 CONST ENHMETARECORD
*a2
,
437 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
453 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
467 CONST METAFILEPICT
*a3
)
470 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
487 if (GDI_HANDLE_GET_TYPE(hDC
) == GDI_OBJECT_TYPE_EMF
)
489 PLDC pLDC
= GdiGetLDC(hDC
);
492 SetLastError(ERROR_INVALID_HANDLE
);
495 if (pLDC
->iType
== LDC_EMFLDC
)
497 return EMFDRV_GdiComment( hDC
, bytes
, buffer
);
520 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
532 CONST COLORADJUSTMENT
*a1
536 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
550 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
565 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
580 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
595 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
607 ABORTPROC lpAbortProc
)
610 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
619 UnrealizeObject(HGDIOBJ hgdiobj
)
621 BOOL retValue
= TRUE
;
623 if (GDI_HANDLE_GET_TYPE(hgdiobj
) != GDI_OBJECT_TYPE_BRUSH
)
625 retValue
= NtGdiUnrealizeObject(hgdiobj
);
655 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
673 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
683 GetColorSpace(HDC hDc
)
686 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
702 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
711 GetDeviceGammaRamp( HDC hdc
,
714 BOOL retValue
= FALSE
;
715 if (lpGammaRamp
== NULL
)
717 SetLastError(ERROR_INVALID_PARAMETER
);
721 retValue
= NtGdiGetDeviceGammaRamp(hdc
,lpGammaRamp
);
732 SetDeviceGammaRamp(HDC hdc
,
735 BOOL retValue
= FALSE
;
739 retValue
= NtGdiSetDeviceGammaRamp(hdc
, lpGammaRamp
);
743 SetLastError(ERROR_INVALID_PARAMETER
);
762 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
779 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
794 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
804 wglCreateLayerContext(
810 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
825 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
835 wglGetCurrentContext(VOID
)
838 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
848 wglGetCurrentDC(VOID
)
851 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
866 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
882 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
898 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
908 wglDescribeLayerPlane(
913 LPLAYERPLANEDESCRIPTOR a4
917 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
927 wglSetLayerPaletteEntries(
936 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
946 wglGetLayerPaletteEntries(
955 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
965 wglRealizeLayerPalette(
972 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
988 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
993 /* === AFTER THIS POINT I GUESS... =========
994 * (based on stack size in Norlander's .def)
995 * === WHERE ARE THEY DEFINED? =============
1003 IsValidEnhMetaRecord(
1009 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1019 IsValidEnhMetaRecordOffExt(
1027 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1048 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1067 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1076 AddFontMemResourceEx(
1084 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1093 AddFontResourceTracking(
1099 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1110 ClearBitmapAttributes(HBITMAP hbm
, DWORD dwFlags
)
1113 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1122 ClearBrushAttributes(HBRUSH hbm
, DWORD dwFlags
)
1125 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1134 ColorCorrectPalette(HDC hDC
,HPALETTE hPalette
,DWORD dwFirstEntry
,DWORD dwNumOfEntries
)
1137 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1146 EndFormPage(HDC hdc
)
1149 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1160 GdiAddGlsBounds(HDC hdc
,LPRECT prc
)
1163 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1172 GdiArtificialDecrementDriver(LPWSTR pDriverName
,BOOL unknown
)
1175 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1184 GdiCleanCacheDC(HDC hdc
)
1187 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1196 GdiConvertAndCheckDC(HDC hdc
)
1199 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1208 GdiConvertEnhMetaFile(HENHMETAFILE hmf
)
1211 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1220 GdiDrawStream(HDC dc
, ULONG l
, VOID
*v
)
1223 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1232 GdiIsMetaFileDC(HDC hdc
)
1235 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1244 GdiIsMetaPrintDC(HDC hdc
)
1247 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1256 GdiIsPlayMetafileDC(HDC hdc
)
1259 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1268 GdiValidateHandle(HGDIOBJ hobj
)
1271 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1280 GetBitmapAttributes(HBITMAP hbm
)
1283 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1292 GetBrushAttributes(HBRUSH hbr
)
1295 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1304 GetEUDCTimeStamp(VOID
)
1306 return NtGdiGetEudcTimeStampEx(NULL
,0,TRUE
);
1314 GetFontAssocStatus(HDC hdc
)
1320 retValue
= NtGdiQueryFontAssocInfo(hdc
);
1331 GetTextExtentExPointWPri(HDC hdc
,
1339 return NtGdiGetTextExtentExW(hdc
,lpwsz
,cwc
,dxMax
,pcCh
,pdxOut
,psize
,0);
1347 GetTextFaceAliasW(HDC hdc
,
1352 if ((!pszOut
) || (cChar
))
1354 retValue
= NtGdiGetTextFaceW(hdc
,cChar
,pszOut
,TRUE
);
1358 SetLastError(ERROR_INVALID_PARAMETER
);
1368 QueryFontAssocStatus(VOID
)
1371 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1380 RemoveFontMemResourceEx(HANDLE fh
)
1386 retValue
= NtGdiRemoveFontMemResourceEx(fh
);
1390 SetLastError(ERROR_INVALID_PARAMETER
);
1400 RemoveFontResourceTracking(LPCSTR lpString
,int unknown
)
1403 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1412 SetBitmapAttributes(HBITMAP hbm
, DWORD dwFlags
)
1415 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1424 SetBrushAttributes(HBRUSH hbm
, DWORD dwFlags
)
1427 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1436 StartFormPage(HDC hdc
)
1438 return StartPage(hdc
);
1446 UnloadNetworkFonts(DWORD unknown
)
1449 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1457 GdiRealizationInfo(HDC hdc
,
1458 PREALIZATION_INFO pri
)
1460 // ATM we do not support local font data and Language Pack.
1461 return NtGdiGetRealizationInfo(hdc
, pri
, (HFONT
) NULL
);
1470 EXTTEXTMETRIC
*petm
)
1472 BOOL Ret
= NtGdiGetETM(hdc
, petm
);
1475 petm
->emKernPairs
= GetKerningPairsA(hdc
, 0, 0);
1485 Escape(HDC hdc
, INT nEscape
, INT cbInput
, LPCSTR lpvInData
, LPVOID lpvOutData
)
1487 int retValue
= SP_ERROR
;
1488 HGDIOBJ hObject
= hdc
;
1490 LPVOID pUserData
= NULL
;
1492 Type
= GDI_HANDLE_GET_TYPE(hObject
);
1494 if (Type
== GDI_OBJECT_TYPE_METADC
)
1496 /* FIXME we do not support metafile */
1498 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1505 /* Note Winodws check see if the handle have any user data for ABORTDOC command
1506 * ReactOS copy this behavior to be compatible with windows 2003
1508 if ( (!GdiGetHandleUserData(hObject
, (DWORD
)Type
, (PVOID
) &pUserData
)) ||
1509 (pUserData
== NULL
) )
1511 GdiSetLastError(ERROR_INVALID_HANDLE
);
1516 retValue
= AbortDoc(hdc
);
1523 /* Note 1: DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE is outdated and been replace with other api */
1524 /* Note 2: Winodws check see if the handle have any user data for DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE command
1525 * ReactOS copy this behavior to be compatible with windows 2003
1527 if ( (!GdiGetHandleUserData(hObject
, (DWORD
)Type
, (PVOID
) &pUserData
)) ||
1528 (pUserData
== NULL
) )
1530 GdiSetLastError(ERROR_INVALID_HANDLE
);
1536 /* Note : Winodws check see if the handle have any user data for DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE command
1537 * ReactOS copy this behavior to be compatible with windows 2003
1539 if ( (!GdiGetHandleUserData(hObject
, (DWORD
)Type
, (PVOID
) &pUserData
)) ||
1540 (pUserData
== NULL
) )
1542 GdiSetLastError(ERROR_INVALID_HANDLE
);
1545 retValue
= SetAbortProc(hdc
, (ABORTPROC
)lpvInData
);
1549 retValue
= GetSystemPaletteEntries(hdc
, (UINT
)*lpvInData
, 1, (LPPALETTEENTRY
)lpvOutData
);
1552 retValue
= SP_ERROR
;
1557 /* Note : Winodws check see if the handle have any user data for DRAFTMODE, FLUSHOUTPUT, SETCOLORTABLE command
1558 * ReactOS copy this behavior to be compatible with windows 2003
1560 if ( (!GdiGetHandleUserData(hObject
, (DWORD
)Type
, (PVOID
) &pUserData
)) ||
1561 (pUserData
== NULL
) )
1563 GdiSetLastError(ERROR_INVALID_HANDLE
);
1566 retValue
= EndDoc(hdc
);
1570 case GETSCALINGFACTOR
:
1571 /* Note GETSCALINGFACTOR is outdated have been replace by GetDeviceCaps */
1572 if ( Type
== GDI_OBJECT_TYPE_DC
)
1576 PPOINT ptr
= (PPOINT
) lpvOutData
;
1584 case GETEXTENDEDTEXTMETRICS
:
1585 retValue
= (int) GetETM( hdc
, (EXTTEXTMETRIC
*) lpvOutData
) != 0;
1590 DOCINFOA
*pUserDatalpdi
;
1593 /* Note : Winodws check see if the handle have any user data for STARTDOC command
1594 * ReactOS copy this behavior to be compatible with windows 2003
1596 if ( (!GdiGetHandleUserData(hObject
, (DWORD
)Type
, (PVOID
) &pUserDatalpdi
)) ||
1597 (pUserData
== NULL
) )
1599 GdiSetLastError(ERROR_INVALID_HANDLE
);
1603 lpdi
.cbSize
= sizeof(DOCINFOA
);
1605 /* NOTE lpszOutput will be store in handle userdata */
1606 lpdi
.lpszOutput
= 0;
1608 lpdi
.lpszDatatype
= 0;
1610 lpdi
.lpszDocName
= lpvInData
;
1612 /* NOTE : doc for StartDocA/W at msdn http://msdn2.microsoft.com/en-us/library/ms535793(VS.85).aspx */
1613 retValue
= StartDocA(hdc
, &lpdi
);
1615 /* StartDocA fail */
1618 /* check see if outbuffer contain any data, if it does abort */
1619 if ( (pUserDatalpdi
->lpszOutput
!= 0) &&
1620 ( (*(WCHAR
*)pUserDatalpdi
->lpszOutput
) != UNICODE_NULL
) )
1622 retValue
= SP_APPABORT
;
1626 retValue
= GetLastError();
1628 /* Translate StartDocA error code to STARTDOC error code
1629 * see msdn http://msdn2.microsoft.com/en-us/library/ms535472.aspx
1633 case ERROR_NOT_ENOUGH_MEMORY
:
1634 retValue
= SP_OUTOFMEMORY
;
1637 case ERROR_PRINT_CANCELLED
:
1638 retValue
= SP_USERABORT
;
1641 case ERROR_DISK_FULL
:
1642 retValue
= SP_OUTOFDISK
;
1646 retValue
= SP_ERROR
;
1659 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1671 GdiAddGlsRecord(HDC hdc
,
1677 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1686 GdiConvertMetaFilePict(HGLOBAL hMem
)
1689 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1698 GdiConvertToDevmodeW(DEVMODEA
*dm
)
1702 dmw
= HEAP_alloc(sizeof(DEVMODEW
));
1703 #define COPYS(f,len) MultiByteToWideChar ( CP_THREAD_ACP, 0, (LPSTR)dm->f, len, dmw->f, len )
1704 #define COPYN(f) dmw->f = dm->f
1705 COPYS(dmDeviceName
, CCHDEVICENAME
);
1706 COPYN(dmSpecVersion
);
1707 COPYN(dmDriverVersion
);
1708 switch ( dm
->dmSize
)
1710 case SIZEOF_DEVMODEA_300
:
1711 dmw
->dmSize
= SIZEOF_DEVMODEW_300
;
1713 case SIZEOF_DEVMODEA_400
:
1714 dmw
->dmSize
= SIZEOF_DEVMODEW_400
;
1716 case SIZEOF_DEVMODEA_500
:
1717 default: /* FIXME what to do??? */
1718 dmw
->dmSize
= SIZEOF_DEVMODEW_500
;
1721 COPYN(dmDriverExtra
);
1723 COPYN(dmPosition
.x
);
1724 COPYN(dmPosition
.y
);
1727 COPYN(dmDefaultSource
);
1728 COPYN(dmPrintQuality
);
1731 COPYN(dmYResolution
);
1734 COPYS(dmFormName
,CCHFORMNAME
);
1736 COPYN(dmBitsPerPel
);
1738 COPYN(dmPelsHeight
);
1739 COPYN(dmDisplayFlags
); // aka dmNup
1740 COPYN(dmDisplayFrequency
);
1742 if ( dm
->dmSize
<= SIZEOF_DEVMODEA_300
)
1744 return dmw
; // we're done with 0x300 fields
1750 COPYN(dmDitherType
);
1754 if ( dm
->dmSize
<= SIZEOF_DEVMODEA_400
)
1756 return dmw
; // we're done with 0x400 fields
1759 COPYN(dmPanningWidth
);
1760 COPYN(dmPanningHeight
);
1773 GdiCreateLocalEnhMetaFile(HENHMETAFILE hmo
)
1776 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1785 GdiCreateLocalMetaFilePict(HENHMETAFILE hmo
)
1788 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1798 GdiGetSpoolFileHandle(LPWSTR pwszPrinterName
,
1799 LPDEVMODEW pDevmode
,
1803 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1812 GdiDeleteSpoolFileHandle(HANDLE SpoolFileHandle
)
1815 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1824 GdiGetPageCount(HANDLE SpoolFileHandle
)
1827 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1836 GdiGetDC(HANDLE SpoolFileHandle
)
1839 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1848 GdiGetPageHandle(HANDLE SpoolFileHandle
,
1850 LPDWORD pdwPageType
)
1853 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1862 GdiStartDocEMF(HANDLE SpoolFileHandle
,
1866 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1875 GdiStartPageEMF(HANDLE SpoolFileHandle
)
1878 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1887 GdiPlayPageEMF(HANDLE SpoolFileHandle
,
1889 RECT
*prectDocument
,
1894 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1903 GdiEndPageEMF(HANDLE SpoolFileHandle
,
1904 DWORD dwOptimization
)
1907 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1916 GdiEndDocEMF(HANDLE SpoolFileHandle
)
1919 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1928 GdiGetDevmodeForPage(HANDLE SpoolFileHandle
,
1934 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1943 GdiResetDCEMF(HANDLE SpoolFileHandle
,
1947 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1957 CombineRgn(HRGN hDest
,
1962 /* FIXME some part should be done in user mode */
1963 return NtGdiCombineRgn(hDest
, hSrc1
, hSrc2
, CombineMode
);
1970 CreateBitmap(INT Width
,
1976 /* FIXME some part should be done in user mode */
1977 return NtGdiCreateBitmap(Width
, Height
, Planes
, BitsPixel
, (LPBYTE
) pUnsafeBits
);
1984 EngGetDriverName(HDEV hdev
)
1987 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
1995 XLATEOBJ_iXlate(XLATEOBJ
*XlateObj
,
1999 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2008 XLATEOBJ_piVector(XLATEOBJ
*XlateObj
)
2010 return XlateObj
->pulXlate
;
2018 GdiPlayEMF(LPWSTR pwszPrinterName
,
2019 LPDEVMODEW pDevmode
,
2021 EMFPLAYPROC pfnEMFPlayFn
,
2026 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2037 GdiPlayPrivatePageEMF(HANDLE SpoolFileHandle
,
2039 RECT
*prectDocument
)
2042 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2049 VOID STDCALL
GdiInitializeLanguagePack(DWORD InitParam
)
2052 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);
2061 ExcludeClipRect(IN HDC hdc
, IN INT xLeft
, IN INT yTop
, IN INT xRight
, IN INT yBottom
)
2063 /* FIXME some part need be done on user mode size */
2064 return NtGdiExcludeClipRect(hdc
, xLeft
, yTop
, xRight
, yBottom
);
2072 ExtSelectClipRgn( IN HDC hdc
, IN HRGN hrgn
, IN INT iMode
)
2074 /* FIXME some part need be done on user mode size */
2075 return NtGdiExtSelectClipRgn(hdc
,hrgn
, iMode
);
2085 IN PTRIVERTEX pVertex
,
2091 /* FIXME some part need be done in user mode */
2092 return NtGdiGradientFill(hdc
, pVertex
, nVertex
, pMesh
, nMesh
, ulMode
);
2101 GdiTransparentBlt(IN HDC hdcDst
,
2111 IN COLORREF TransColor
2114 /* FIXME some part need be done in user mode */
2115 return NtGdiTransparentBlt(hdcDst
, xDst
, yDst
, cxDst
, cyDst
, hdcSrc
, xSrc
, ySrc
, cxSrc
, cySrc
, TransColor
);
2128 /* FIXME figout the protypes, the HUMPD are a STRUCT or COM object */
2129 /* status contain some form of return value that being save, what it is I do not known */
2130 /* unsue seam have zero effect, what it is for I do not known */
2132 // ? return NtGdiSetPUMPDOBJ(humpd->0x10,TRUE, humpd, ?) <- blackbox, OpenRCE info, and api hooks for anylaysing;
2143 HBITMAP in_format_BitMap
,
2148 /* FIXME guessing the prototypes */
2151 * it have create a new bitmap with desired in format,
2152 * then convert it src_bitmap to new format
2153 * and return it as HBITMAP
2166 GetDeviceCaps(HDC hdc
,
2169 /* FIXME some part need be done in user mode */
2170 return NtGdiGetDeviceCaps(hdc
,i
);
2182 /* FIXME some part need be done in user mode */
2183 return NtGdiGetAppClipBox(hdc
, lprc
);
2192 GetFontData(HDC hdc
,
2202 return NtGdiGetFontData(hdc
, dwTable
, dwOffset
, lpvBuffer
, cbData
);
2212 GetRegionData(HRGN hrgn
,
2214 LPRGNDATA lpRgnData
)
2221 return NtGdiGetRegionData(hrgn
,nCount
,lpRgnData
);
2231 GetRgnBox(HRGN hrgn
,
2234 /* FIXME some stuff need be done in user mode */
2235 return NtGdiGetRgnBox(hrgn
, prcOut
);
2245 OffsetRgn( HRGN hrgn
,
2249 /* FIXME some part are done in user mode */
2250 return NtGdiOffsetRgn(hrgn
,nXOffset
,nYOffset
);
2256 GetTextCharsetInfo(HDC hdc
,
2257 LPFONTSIGNATURE lpSig
,
2260 /* FIXME some part are done in user mode */
2261 return NtGdiGetTextCharsetInfo(hdc
, lpSig
, dwFlags
);
2268 IntersectClipRect(HDC hdc
,
2274 /* FIXME some part are done in user mode */
2275 return NtGdiIntersectClipRect(hdc
, nLeftRect
, nTopRect
, nRightRect
, nBottomRect
);
2280 OffsetClipRgn(HDC hdc
,
2284 /* FIXME some part are done in user mode */
2285 return NtGdiOffsetClipRgn( hdc
, nXOffset
, nYOffset
);
2291 NamedEscape(HDC hdc
,
2299 /* FIXME metadc, metadc are done most in user mode, and we do not support it
2300 * Windows 2000/XP/Vista ignore the current hdc, that are being pass and always set hdc to NULL
2301 * when it calls to NtGdiExtEscape from NamedEscape
2303 return NtGdiExtEscape(NULL
,pDriver
,wcslen(pDriver
),iEsc
,cjIn
,pjIn
,cjOut
,pjOut
);
2312 /* FIXME wrong protypes, it is a fastcall api */
2315 cGetTTFFromFOT(DWORD x1
,DWORD x2
,DWORD x3
, DWORD x4
, DWORD x5
, DWORD x6
, DWORD x7
)
2318 SetLastError(ERROR_CALL_NOT_IMPLEMENTED
);