add stub for : IsValidEnhMetaRecord and IsValidEnhMetaRecordOffExt, I have not search after any info about thuse api

follow api need have some part done in user mode : OffsetRgn, GetTextCharsetInfo, IntersectClipRect, OffsetClipRgn.
Implement partly NamedEscape we need metadc support to finish full implement 
follow api have been move from redirect to smaller code into hacks.c for they are ros own syscall and 
does not exists in windows, GetStretchBltMode, GetTextAlign, GetTextColor, MoveToEx, OffsetViewportOrgEx, OffsetWindowOrgEx.
redirect HT_Get8BPPMaskPalette, HT_Get8BPPFormatPalette, GetSystemPaletteUse to win32k

svn path=/trunk/; revision=28738
This commit is contained in:
Magnus Olsen 2007-09-01 12:52:23 +00:00
parent 26eaf001f3
commit 01758ff86f
4 changed files with 251 additions and 88 deletions

View file

@ -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

View file

@ -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);
}

View file

@ -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);
}

View file

@ -143,6 +143,9 @@ LPtoDP ( HDC hDC, LPPOINT Points, INT Count )
}
/*
* @implemented
*/
BOOL
STDCALL
GetWorldTransform( HDC hDC, LPXFORM lpXform )