mirror of
https://github.com/reactos/reactos.git
synced 2024-11-19 21:48:10 +00:00
* redirect EngCopyBits, EngCreateBitmap, EngCreatePalette, EngDeletePalette, EngDeletePath, EngDeleteSurface, EngEraseSurface, EngFillPath, EngMarkBandingSurface, EngPaint, EngPlgBlt, EngStrokeAndFillPath, EngStrokePath, EngTextOut, EngTransparentBlt to win32k.sys
* add smaller code for Ellipse * redirect EngMultiByteToUnicodeN to RtlMultiByteToUnicodeN * redirect EngUnicodeToMultiByteN to RtlUnicodeToMultiByteN svn path=/trunk/; revision=28533
This commit is contained in:
parent
fa0d1f8d20
commit
2b32773575
2 changed files with 61 additions and 318 deletions
|
@ -93,9 +93,10 @@ DeleteEnhMetaFile@4
|
|||
DeleteMetaFile@4
|
||||
DeleteObject@4
|
||||
DescribePixelFormat@16
|
||||
DeviceCapabilitiesExA
|
||||
DeviceCapabilitiesExW
|
||||
DeviceCapabilitiesExA@20
|
||||
DeviceCapabilitiesExW@20
|
||||
DrawEscape@16
|
||||
Ellipse@20
|
||||
EnableEUDC@4=NtGdiEnableEudc@4
|
||||
EndDoc@4
|
||||
EndFormPage@4
|
||||
|
@ -104,20 +105,50 @@ EndPath@4
|
|||
EngAcquireSemaphore@4
|
||||
EngAlphaBlend@28=NtGdiEngAlphaBlend@28
|
||||
EngAssociateSurface@12=NtGdiEngAssociateSurface@12
|
||||
EngBitBlt@44=NtGdiEngBitBlt@44
|
||||
EngCreateClip@0=NtGdiEngCreateClip@0
|
||||
EngDeleteClip@4=NtGdiEngDeleteClip@4
|
||||
EngBitBlt=NtGdiEngBitBlt@44
|
||||
EngCheckAbort@4=NtGdiEngCheckAbort@4
|
||||
EngComputeGlyphSet@12
|
||||
EngCreateSemaphore@0
|
||||
EngCreateBitmap@24
|
||||
EngCreateDeviceSurface@16=NtGdiEngCreateDeviceSurface@16
|
||||
EngCopyBits@24=NtGdiEngCopyBits@24
|
||||
EngCreateBitmap@24=NtGdiEngCreateBitmap@24
|
||||
EngCreateClip@0=NtGdiEngCreateClip@0
|
||||
EngCreateDeviceBitmap@16=NtGdiEngCreateDeviceBitmap@16
|
||||
EngCreateDeviceSurface@16=NtGdiEngCreateDeviceSurface@16
|
||||
EngCreatePalette@24=NtGdiEngCreatePalette@24
|
||||
EngCreateSemaphore@0
|
||||
EngDeleteClip@4=NtGdiEngDeleteClip@4
|
||||
EngDeletePalette@4=NtGdiEngDeletePalette@4
|
||||
EngDeletePath@4=NtGdiEngDeletePath@4
|
||||
EngDeleteSemaphore@4
|
||||
EngDeleteSurface@4=NtGdiEngDeleteSurface@4
|
||||
EngEraseSurface@12=NtGdiEngEraseSurface@12
|
||||
EngFillPath@28=NtGdiEngFillPath@28
|
||||
EngFindResource@16
|
||||
EngFreeModule@4
|
||||
EngGetCurrentCodePage@8
|
||||
EngGetDriverName@4
|
||||
EngGetPrinterDataFileName@4
|
||||
EngGradientFill@40=NtGdiEngGradientFill@40
|
||||
EngLineTo@36=NtGdiEngLineTo@36
|
||||
EngLoadModule@4
|
||||
EngLockSurface@4=NtGdiEngLockSurface@4
|
||||
EngMarkBandingSurface@4=NtGdiEngMarkBandingSurface@4
|
||||
EngMultiByteToUnicodeN@20=RtlMultiByteToUnicodeN@20
|
||||
EngMultiByteToWideChar@20
|
||||
EngPaint@20=NtGdiEngPaint@20
|
||||
EngPlgBlt@44=NtGdiEngPlgBlt@44
|
||||
EngQueryEMFInfo@8
|
||||
EngQueryLocalTime@4
|
||||
EngReleaseSemaphore@4
|
||||
EngStretchBlt@44=NtGdiEngStretchBlt@44
|
||||
EngStretchBltROP@52=NtGdiEngStretchBltROP@52
|
||||
EngStrokeAndFillPath@40=NtGdiEngStrokeAndFillPath@40
|
||||
EngStrokePath@32=NtGdiEngStrokePath@32
|
||||
EngTextOut@40=NtGdiEngTextOut@40
|
||||
EngTransparentBlt@32=NtGdiEngTransparentBlt@32
|
||||
EngUnicodeToMultiByteN@20=RtlUnicodeToMultiByteN@20
|
||||
|
||||
ClearBitmapAttributes@8
|
||||
ClearBrushAttributes@8
|
||||
DeleteObject@4
|
||||
DescribePixelFormat@16
|
||||
DdEntry1@16=NtGdiD3dContextCreate@16
|
||||
DdEntry2@4=NtGdiD3dContextDestroy@4
|
||||
DdEntry3@4=NtGdiD3dContextDestroyAll@4
|
||||
|
@ -174,39 +205,6 @@ DdEntry53@8=NtGdiDdUnlock@8
|
|||
DdEntry54@8=NtGdiDdUnlockD3D@8
|
||||
DdEntry55@12=NtGdiDdUpdateOverlay@12
|
||||
DdEntry56@8=NtGdiDdWaitForVerticalBlank@8
|
||||
Ellipse@20=NtGdiEllipse@20
|
||||
EngCopyBits@24
|
||||
EngCreatePalette@24
|
||||
EngDeletePalette@4
|
||||
EngDeletePath@4
|
||||
EngDeleteSemaphore@4
|
||||
EngDeleteSurface@4
|
||||
EngEraseSurface@12
|
||||
EngFillPath@28
|
||||
EngFindResource@16
|
||||
EngFreeModule@4
|
||||
EngGetCurrentCodePage@8
|
||||
EngGetDriverName@4
|
||||
EngGetPrinterDataFileName@4
|
||||
EngGradientFill@40
|
||||
EngLineTo@36
|
||||
EngLoadModule@4
|
||||
EngLockSurface@4=NtGdiEngLockSurface@4
|
||||
EngMarkBandingSurface@4
|
||||
EngMultiByteToUnicodeN@20
|
||||
EngMultiByteToWideChar@20
|
||||
EngPaint@20
|
||||
EngPlgBlt@44
|
||||
EngQueryEMFInfo@8
|
||||
EngQueryLocalTime@4
|
||||
EngReleaseSemaphore@4
|
||||
EngStretchBlt@44=NtGdiEngStretchBlt@44
|
||||
EngStretchBltROP@52
|
||||
EngStrokeAndFillPath@40
|
||||
EngStrokePath@32
|
||||
EngTextOut@40
|
||||
EngTransparentBlt@32
|
||||
EngUnicodeToMultiByteN@20
|
||||
EngUnlockSurface@4
|
||||
EngWideCharToMultiByte@20
|
||||
EnumEnhMetaFile@20
|
||||
|
|
|
@ -2465,54 +2465,6 @@ EngComputeGlyphSet(INT nCodePage,INT nFirstChar,INT cChars)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngCopyBits(SURFOBJ *Dest,
|
||||
SURFOBJ *Source,
|
||||
CLIPOBJ *Clip,
|
||||
XLATEOBJ *ColorTranslation,
|
||||
RECTL *DestRect,
|
||||
POINTL *SourcePoint)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
HBITMAP STDCALL
|
||||
EngCreateBitmap(IN SIZEL Size,
|
||||
IN LONG Width,
|
||||
IN ULONG Format,
|
||||
IN ULONG Flags,
|
||||
IN PVOID Bits)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
HPALETTE STDCALL
|
||||
EngCreatePalette(IN ULONG Mode,
|
||||
IN ULONG NumColors,
|
||||
IN ULONG *Colors,
|
||||
IN ULONG Red,
|
||||
IN ULONG Green,
|
||||
IN ULONG Blue)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
|
@ -2528,26 +2480,7 @@ EngCreateSemaphore ( VOID )
|
|||
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngDeletePalette(IN HPALETTE Palette)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID STDCALL
|
||||
EngDeletePath(PATHOBJ *ppo)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
|
@ -2562,40 +2495,11 @@ EngDeleteSemaphore ( IN HSEMAPHORE hsem )
|
|||
RtlFreeHeap( GetProcessHeap(), 0, hsem );
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngDeleteSurface(IN HSURF Surface)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngEraseSurface(SURFOBJ *Surface,
|
||||
RECTL *Rect,
|
||||
ULONG iColor)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngFillPath(SURFOBJ *pso,PATHOBJ *ppo,CLIPOBJ *pco,BRUSHOBJ *pbo,POINTL *pptlBrushOrg,MIX mix,FLONG flOptions)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
|
@ -2656,48 +2560,16 @@ EngGetDriverName(HDEV hdev)
|
|||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
LPWSTR STDCALL
|
||||
EngGetPrinterDataFileName(HDEV hdev)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
return EngGetDriverName(hdev);
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngGradientFill(SURFOBJ *psoDest,CLIPOBJ *pco,XLATEOBJ *pxlo,TRIVERTEX *pVertex,ULONG nVertex,PVOID pMesh,ULONG nMesh,RECTL *prclExtents,POINTL *pptlDitherOrg,ULONG ulMode)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngLineTo(SURFOBJ *Surface,
|
||||
CLIPOBJ *Clip,
|
||||
BRUSHOBJ *Brush,
|
||||
LONG x1,
|
||||
LONG y1,
|
||||
LONG x2,
|
||||
LONG y2,
|
||||
RECTL *RectBounds,
|
||||
MIX mix)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
HANDLE STDCALL
|
||||
EngLoadModule(LPWSTR pwsz)
|
||||
|
@ -2707,37 +2579,7 @@ EngLoadModule(LPWSTR pwsz)
|
|||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngMarkBandingSurface(HSURF hsurf)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID STDCALL
|
||||
EngMultiByteToUnicodeN(OUT LPWSTR UnicodeString,
|
||||
IN ULONG MaxBytesInUnicodeString,
|
||||
OUT PULONG BytesInUnicodeString,
|
||||
IN PCHAR MultiByteString,
|
||||
IN ULONG BytesInMultiByteString)
|
||||
{
|
||||
RtlMultiByteToUnicodeN(
|
||||
UnicodeString,
|
||||
MaxBytesInUnicodeString,
|
||||
BytesInUnicodeString,
|
||||
MultiByteString,
|
||||
BytesInMultiByteString
|
||||
);
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
INT STDCALL
|
||||
EngMultiByteToWideChar(UINT CodePage,
|
||||
|
@ -2746,41 +2588,11 @@ EngMultiByteToWideChar(UINT CodePage,
|
|||
LPSTR MultiByteString,
|
||||
INT BytesInMultiByteString)
|
||||
{
|
||||
return MultiByteToWideChar(
|
||||
CodePage,
|
||||
0,
|
||||
MultiByteString,
|
||||
BytesInMultiByteString,
|
||||
WideCharString,
|
||||
(BytesInWideCharString/sizeof(WCHAR)) /* Bytes to (in WCHARs) */
|
||||
);
|
||||
return MultiByteToWideChar(CodePage,0,MultiByteString,BytesInMultiByteString,WideCharString,BytesInWideCharString / sizeof(WCHAR));
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngPaint(IN SURFOBJ *Surface,
|
||||
IN CLIPOBJ *ClipRegion,
|
||||
IN BRUSHOBJ *Brush,
|
||||
IN POINTL *BrushOrigin,
|
||||
IN MIX Mix)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngPlgBlt(SURFOBJ *psoTrg,SURFOBJ *psoSrc,SURFOBJ *psoMsk,CLIPOBJ *pco,XLATEOBJ *pxlo,COLORADJUSTMENT *pca,POINTL *pptlBrushOrg,POINTFIX *pptfx,RECTL *prcl,POINTL *pptl,ULONG iMode)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
* @implemented
|
||||
|
@ -2821,87 +2633,20 @@ EngReleaseSemaphore ( IN HSEMAPHORE hsem )
|
|||
RtlLeaveCriticalSection( (PRTL_CRITICAL_SECTION) hsem);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
* @implemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngStretchBltROP(SURFOBJ *psoDest,SURFOBJ *psoSrc,SURFOBJ *psoMask,CLIPOBJ *pco,XLATEOBJ *pxlo,COLORADJUSTMENT *pca,POINTL *pptlHTOrg,RECTL *prclDest,RECTL *prclSrc,POINTL *pptlMask,ULONG iMode,BRUSHOBJ *pbo,DWORD rop4)
|
||||
BOOL
|
||||
STDCALL
|
||||
Ellipse(
|
||||
HDC hdc,
|
||||
int nLeftRect,
|
||||
int nTopRect,
|
||||
int nRightRect,
|
||||
int nBottomRect)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngStrokeAndFillPath(SURFOBJ *pso,PATHOBJ *ppo,CLIPOBJ *pco,XFORMOBJ *pxo,BRUSHOBJ *pboStroke,LINEATTRS *plineattrs,BRUSHOBJ *pboFill,POINTL *pptlBrushOrg,MIX mixFill,FLONG flOptions)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngStrokePath(SURFOBJ *pso,PATHOBJ *ppo,CLIPOBJ *pco,XFORMOBJ *pxo,BRUSHOBJ *pbo,POINTL *pptlBrushOrg,LINEATTRS *plineattrs,MIX mix)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngTextOut(SURFOBJ *pso,STROBJ *pstro,FONTOBJ *pfo,CLIPOBJ *pco,RECTL *prclExtra,RECTL *prclOpaque,BRUSHOBJ *pboFore,BRUSHOBJ *pboOpaque,POINTL *pptlOrg,MIX mix)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
BOOL STDCALL
|
||||
EngTransparentBlt(IN SURFOBJ *Dest,
|
||||
IN SURFOBJ *Source,
|
||||
IN CLIPOBJ *Clip,
|
||||
IN XLATEOBJ *ColorTranslation,
|
||||
IN PRECTL DestRect,
|
||||
IN PRECTL SourceRect,
|
||||
IN ULONG TransparentColor,
|
||||
IN ULONG Reserved)
|
||||
{
|
||||
UNIMPLEMENTED;
|
||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*
|
||||
* @unimplemented
|
||||
*/
|
||||
VOID STDCALL
|
||||
EngUnicodeToMultiByteN(OUT PCHAR MultiByteString,
|
||||
IN ULONG MaxBytesInMultiByteString,
|
||||
OUT PULONG BytesInMultiByteString,
|
||||
IN PWSTR UnicodeString,
|
||||
IN ULONG BytesInUnicodeString)
|
||||
{
|
||||
RtlUnicodeToMultiByteN(
|
||||
MultiByteString,
|
||||
MaxBytesInMultiByteString,
|
||||
BytesInMultiByteString,
|
||||
UnicodeString,
|
||||
BytesInUnicodeString
|
||||
);
|
||||
/* FIXME some parts need be done in user mode */
|
||||
return NtGdiEllipse(hdc,nLeftRect,nTopRect,nRightRect,nBottomRect);
|
||||
}
|
||||
|
||||
/*
|
||||
|
|
Loading…
Reference in a new issue