diff --git a/reactos/dll/win32/gdi32/gdi32.def b/reactos/dll/win32/gdi32/gdi32.def index a64bba444bf..7b1b104b769 100644 --- a/reactos/dll/win32/gdi32/gdi32.def +++ b/reactos/dll/win32/gdi32/gdi32.def @@ -366,6 +366,69 @@ GetRasterizerCaps@8=NtGdiGetRasterizerCaps@8 GetRegionData@12 GetRelAbs@8 GetRgnBox@8 +GetStockObject@4 +GetStretchBltMode@4 +GetStringBitmapA@20 +GetStringBitmapW@20 +GetSystemPaletteEntries@16 +GetSystemPaletteUse@4=NtGdiGetSystemPaletteUse@4 +GetTextAlign@4 +GetTextCharacterExtra@4 +GetTextCharset@4 +GetTextCharsetInfo@12 +GetTextColor@4 +GetTextExtentExPointA@28 +GetTextExtentExPointI@28 +GetTextExtentExPointW@28 +GetTextExtentExPointWPri@28 +GetTextExtentPoint32A@16 +GetTextExtentPoint32W@16 +GetTextExtentPointA@16 +GetTextExtentPointI@16 +GetTextExtentPointW@16 +GetTextFaceA@12 +GetTextFaceAliasW@12 +GetTextFaceW@12 +GetTextMetricsA@8 +GetTextMetricsW@8 +GetTransform@12=NtGdiGetTransform@12 +GetViewportExtEx@8 +GetViewportOrgEx@8 +GetWinMetaFileBits@20 +GetWindowExtEx@8 +GetWindowOrgEx@8 +GetWorldTransform@8 +HT_Get8BPPFormatPalette@16=NtGdiHT_Get8BPPFormatPalette@16 +HT_Get8BPPMaskPalette@24=NtGdiHT_Get8BPPMaskPalette@24 +IntersectClipRect@20 +InvertRgn@8 +IsValidEnhMetaRecord@8 +IsValidEnhMetaRecordOffExt@16 +LPtoDP@12 +LineDDA@24 +LineTo@12 +MaskBlt@48 +MirrorRgn@8 +ModifyWorldTransform@12 +MoveToEx@16 +NamedEscape@28 +OffsetClipRgn@12 +OffsetRgn@12 +OffsetViewportOrgEx@16 +OffsetWindowOrgEx@16 + + + + + + + + + + + + + ClearBitmapAttributes@8 ClearBrushAttributes@8 @@ -429,54 +492,8 @@ GdiDrawStream@12 GetBitmapAttributes@4 GetBrushAttributes@4 GetGlyphIndicesA@20 -GetStockObject@4 -GetStretchBltMode@4=NtGdiGetStretchBltMode@4 -GetStringBitmapA@20 -GetStringBitmapW@20 -GetSystemPaletteEntries@16 -GetSystemPaletteUse@4 -GetTextAlign@4=NtGdiGetTextAlign@4 -GetTextCharacterExtra@4 -GetTextCharset@4 -GetTextCharsetInfo@12=NtGdiGetTextCharsetInfo@12 -GetTextColor@4=NtGdiGetTextColor@4 -GetTextExtentExPointA@28 -GetTextExtentExPointI@28 -GetTextExtentExPointW@28 GetTextExtentExPointWPri@28 GetTextExtentPoint32A@16 -GetTextExtentPoint32W@16 -GetTextExtentPointA@16 -GetTextExtentPointI@16 -GetTextExtentPointW@16 -GetTextFaceA@12 -GetTextFaceW@12 -GetTextFaceAliasW@12 -GetTextMetricsA@8 -GetTextMetricsW@8 -GetTransform@12=NtGdiGetTransform@12 -GetViewportExtEx@8 -GetViewportOrgEx@8 -GetWinMetaFileBits@20 -GetWindowExtEx@8 -GetWindowOrgEx@8 -GetWorldTransform@8 -HT_Get8BPPFormatPalette@16 -HT_Get8BPPMaskPalette@24 -IntersectClipRect@20=NtGdiIntersectClipRect@20 -InvertRgn@8 -LPtoDP@12 -LineDDA@24 -LineTo@12 -MaskBlt@48 -MirrorRgn@8 -ModifyWorldTransform@12 -MoveToEx@16=NtGdiMoveToEx@16 -NamedEscape@32 -OffsetClipRgn@12=NtGdiOffsetClipRgn@12 -OffsetRgn@12=NtGdiOffsetRgn@12 -OffsetViewportOrgEx@16=NtGdiOffsetViewportOrgEx@16 -OffsetWindowOrgEx@16=NtGdiOffsetWindowOrgEx@16 PaintRgn@8 PatBlt@24=NtGdiPatBlt@24 PATHOBJ_bEnum@8 diff --git a/reactos/dll/win32/gdi32/misc/hacks.c b/reactos/dll/win32/gdi32/misc/hacks.c index 960f48416e8..c1a8fc8cb8e 100644 --- a/reactos/dll/win32/gdi32/misc/hacks.c +++ b/reactos/dll/win32/gdi32/misc/hacks.c @@ -140,5 +140,81 @@ GetMapMode(HDC hdc) return NtGdiGetMapMode(hdc); } +/* + * @implemented + * + */ +int +STDCALL +GetStretchBltMode(HDC hdc) +{ + return NtGdiGetStretchBltMode(hdc); +} + +/* + * @implemented + * + */ +UINT +STDCALL +GetTextAlign(HDC hdc) +{ + return NtGdiGetTextAlign(hdc); +} + + +/* + * @implemented + * + */ +COLORREF +STDCALL +GetTextColor(HDC hdc) +{ + return NtGdiGetTextColor(hdc); +} + +/* + * @implemented + * + */ +BOOL +STDCALL +MoveToEx(HDC hdc, + int X, + int Y, + LPPOINT lpPoint) +{ + return MoveToEx(hdc, X, Y, lpPoint); +} + +/* + * @implemented + * + */ +BOOL +STDCALL +OffsetViewportOrgEx(HDC hdc, + int nXOffset, + int nYOffset, + LPPOINT lpPoint) +{ + return OffsetViewportOrgEx(hdc, nXOffset, nYOffset, lpPoint); +} + +/* + * @implemented + * + */ +BOOL +STDCALL +OffsetWindowOrgEx(HDC hdc, + int nXOffset, + int nYOffset, + LPPOINT lpPoint) +{ + return NtGdiOffsetWindowOrgEx(hdc, nXOffset, nYOffset, lpPoint); +} + diff --git a/reactos/dll/win32/gdi32/misc/stubs.c b/reactos/dll/win32/gdi32/misc/stubs.c index d0d38bc737d..732a291e048 100644 --- a/reactos/dll/win32/gdi32/misc/stubs.c +++ b/reactos/dll/win32/gdi32/misc/stubs.c @@ -142,15 +142,7 @@ GetMetaFileBitsEx( return 0; } -/* - * @unimplemented - */ -UINT -STDCALL -GetSystemPaletteUse(HDC hDc) -{ - return NtGdiGetSystemPaletteUse(hDc); -} + /* * @unimplemented @@ -1073,8 +1065,39 @@ wglSwapLayerBuffers( +/* + * @unimplemented + */ +DWORD +STDCALL +IsValidEnhMetaRecord( + DWORD a0, + DWORD a1 + ) +{ + UNIMPLEMENTED; + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return 0; +} +/* + * @unimplemented + */ +DWORD +STDCALL +IsValidEnhMetaRecordOffExt( + DWORD a0, + DWORD a1, + DWORD a2, + DWORD a3 + ) +{ + UNIMPLEMENTED; + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return 0; + +} /* * @unimplemented @@ -1569,29 +1592,7 @@ GetTextFaceAliasW(HDC hdc, return retValue; } -/* - * @unimplemented - */ -LONG -STDCALL -HT_Get8BPPFormatPalette(LPPALETTEENTRY pPaletteEntry, USHORT RedGamma,USHORT GreenGamma, USHORT BlueGamma) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} -/* - * @unimplemented - */ -LONG -STDCALL -HT_Get8BPPMaskPalette(LPPALETTEENTRY pPaletteEntry, BOOL Use8BPPMaskPal,BYTE CMYMask, USHORT RedGamma, USHORT GreenGamma, USHORT BlueGamma) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} /* * @unimplemented @@ -1605,17 +1606,7 @@ MirrorRgn(HWND hwnd,HRGN hrgn) return 0; } -/* - * @unimplemented - */ -int -STDCALL -NamedEscape(HDC hdc,PWCHAR pDriver,int nDriver,int iEsc,int cjIn,LPSTR pjIn,int cjOut,LPSTR pjOut) -{ - UNIMPLEMENTED; - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return 0; -} + /* * @unimplemented @@ -2719,4 +2710,80 @@ GetRgnBox(HRGN hrgn, } +/* + * @implemented + * + */ +INT +STDCALL +OffsetRgn( HRGN hrgn, + int nXOffset, + int nYOffset) +{ + /* FIXME some part are done in user mode */ + return NtGdiOffsetRgn(hrgn,nXOffset,nYOffset); +} + + +INT +STDCALL +GetTextCharsetInfo(HDC hdc, + LPFONTSIGNATURE lpSig, + DWORD dwFlags) +{ + /* FIXME some part are done in user mode */ + return NtGdiGetTextCharsetInfo(hdc, lpSig, dwFlags); +} + + + +INT +STDCALL +IntersectClipRect(HDC hdc, + int nLeftRect, + int nTopRect, + int nRightRect, + int nBottomRect) +{ + /* FIXME some part are done in user mode */ + return NtGdiIntersectClipRect(hdc, nLeftRect, nTopRect, nRightRect, nBottomRect); +} + +INT +STDCALL +OffsetClipRgn(HDC hdc, + int nXOffset, + int nYOffset) +{ + /* FIXME some part are done in user mode */ + return NtGdiOffsetClipRgn( hdc, nXOffset, nYOffset); +} + + +INT +STDCALL +NamedEscape(HDC hdc, + PWCHAR pDriver, + INT iEsc, + INT cjIn, + LPSTR pjIn, + INT cjOut, + LPSTR pjOut) +{ + /* FIXME metadc, metadc are done most in user mode, and we do not support it + * Windows 2000/XP/Vista ignore the current hdc, that are being pass and always set hdc to NULL + * when it calls to NtGdiExtEscape from NamedEscape + */ + return NtGdiExtEscape(NULL,pDriver,wcslen(pDriver),iEsc,cjIn,pjIn,cjOut,pjOut); + +} + + + + + + + + + diff --git a/reactos/dll/win32/gdi32/objects/coord.c b/reactos/dll/win32/gdi32/objects/coord.c index 3502babc7a5..a4aa6bf53fa 100644 --- a/reactos/dll/win32/gdi32/objects/coord.c +++ b/reactos/dll/win32/gdi32/objects/coord.c @@ -143,6 +143,9 @@ LPtoDP ( HDC hDC, LPPOINT Points, INT Count ) } +/* + * @implemented + */ BOOL STDCALL GetWorldTransform( HDC hDC, LPXFORM lpXform )