mirror of
https://github.com/reactos/reactos.git
synced 2024-07-01 02:10:07 +00:00
win32k
Implement NtGdiEngStretchBlt, NtGdiEngLockSurface gdi32 Implement EngStretchBlt, EngLockSurface Fix small typo in NtGdiEngBitBlt svn path=/trunk/; revision=28261
This commit is contained in:
parent
b7aca87de2
commit
e915e72713
|
@ -189,7 +189,7 @@ EngGetPrinterDataFileName@4
|
||||||
EngGradientFill@40
|
EngGradientFill@40
|
||||||
EngLineTo@36
|
EngLineTo@36
|
||||||
EngLoadModule@4
|
EngLoadModule@4
|
||||||
EngLockSurface@4
|
EngLockSurface@4=NtGdiEngLockSurface@4
|
||||||
EngMarkBandingSurface@4
|
EngMarkBandingSurface@4
|
||||||
EngMultiByteToUnicodeN@20
|
EngMultiByteToUnicodeN@20
|
||||||
EngMultiByteToWideChar@20
|
EngMultiByteToWideChar@20
|
||||||
|
@ -198,7 +198,7 @@ EngPlgBlt@44
|
||||||
EngQueryEMFInfo@8
|
EngQueryEMFInfo@8
|
||||||
EngQueryLocalTime@4
|
EngQueryLocalTime@4
|
||||||
EngReleaseSemaphore@4
|
EngReleaseSemaphore@4
|
||||||
EngStretchBlt@44
|
EngStretchBlt@44=NtGdiEngStretchBlt@44
|
||||||
EngStretchBltROP@52
|
EngStretchBltROP@52
|
||||||
EngStrokeAndFillPath@40
|
EngStrokeAndFillPath@40
|
||||||
EngStrokePath@32
|
EngStrokePath@32
|
||||||
|
|
|
@ -2842,16 +2842,6 @@ EngLoadModule(LPWSTR pwsz)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* @unimplemented
|
|
||||||
*/
|
|
||||||
SURFOBJ * STDCALL
|
|
||||||
EngLockSurface(IN HSURF Surface)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED;
|
|
||||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @unimplemented
|
||||||
|
@ -2947,16 +2937,7 @@ EngReleaseSemaphore ( IN HSEMAPHORE hsem )
|
||||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* @unimplemented
|
|
||||||
*/
|
|
||||||
BOOL STDCALL
|
|
||||||
EngStretchBlt(SURFOBJ *psoDest,SURFOBJ *psoSrc,SURFOBJ *psoMask,CLIPOBJ *pco,XLATEOBJ *pxlo,COLORADJUSTMENT *pca,POINTL *pptlHTOrg,RECTL *prclDest,RECTL *prclSrc,POINTL *pptlMask,ULONG iMode)
|
|
||||||
{
|
|
||||||
UNIMPLEMENTED;
|
|
||||||
SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @unimplemented
|
* @unimplemented
|
||||||
|
|
|
@ -249,6 +249,9 @@ CallDibBitBlt(SURFOBJ* OutputObj,
|
||||||
INT __cdecl abs(INT nm);
|
INT __cdecl abs(INT nm);
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
BOOL STDCALL
|
BOOL STDCALL
|
||||||
NtGdiEngBitBlt(
|
NtGdiEngBitBlt(
|
||||||
IN SURFOBJ *psoTrg,
|
IN SURFOBJ *psoTrg,
|
||||||
|
@ -271,15 +274,15 @@ NtGdiEngBitBlt(
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
ProbeForRead(prclTrg, sizeof(RECTL), 1);
|
ProbeForRead(prclTrg, sizeof(RECTL), 1);
|
||||||
RtlCopyMemory(&rclTrg,prclTrg, sizeof(POINTL));
|
RtlCopyMemory(&rclTrg,prclTrg, sizeof(RECTL));
|
||||||
|
|
||||||
ProbeForRead(pptlSrc, sizeof(RECTL), 1);
|
ProbeForRead(pptlSrc, sizeof(POINTL), 1);
|
||||||
RtlCopyMemory(&ptlSrc, pptlSrc, sizeof(POINTL));
|
RtlCopyMemory(&ptlSrc, pptlSrc, sizeof(POINTL));
|
||||||
|
|
||||||
ProbeForRead(pptlMask, sizeof(RECTL), 1);
|
ProbeForRead(pptlMask, sizeof(POINTL), 1);
|
||||||
RtlCopyMemory(&ptlMask, pptlMask, sizeof(POINTL));
|
RtlCopyMemory(&ptlMask, pptlMask, sizeof(POINTL));
|
||||||
|
|
||||||
ProbeForRead(pptlBrush, sizeof(RECTL), 1);
|
ProbeForRead(pptlBrush, sizeof(POINTL), 1);
|
||||||
RtlCopyMemory(&ptlBrush, pptlBrush, sizeof(POINTL));
|
RtlCopyMemory(&ptlBrush, pptlBrush, sizeof(POINTL));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -756,6 +759,55 @@ CallDibStretchBlt(SURFOBJ* OutputObj,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
BOOL
|
||||||
|
STDCALL
|
||||||
|
NtGdiEngStretchBlt(
|
||||||
|
IN SURFOBJ *DestObj,
|
||||||
|
IN SURFOBJ *SourceObj,
|
||||||
|
IN SURFOBJ *Mask,
|
||||||
|
IN CLIPOBJ *ClipRegion,
|
||||||
|
IN XLATEOBJ *ColorTranslation,
|
||||||
|
IN COLORADJUSTMENT *pca,
|
||||||
|
IN POINTL *BrushOrigin,
|
||||||
|
IN RECTL *prclDest,
|
||||||
|
IN RECTL *prclSrc,
|
||||||
|
IN POINTL *MaskOrigin,
|
||||||
|
IN ULONG Mode
|
||||||
|
)
|
||||||
|
{
|
||||||
|
COLORADJUSTMENT ca;
|
||||||
|
POINTL lBrushOrigin;
|
||||||
|
RECTL rclDest;
|
||||||
|
RECTL rclSrc;
|
||||||
|
POINTL lMaskOrigin;
|
||||||
|
|
||||||
|
_SEH_TRY
|
||||||
|
{
|
||||||
|
ProbeForRead(pca, sizeof(COLORADJUSTMENT), 1);
|
||||||
|
RtlCopyMemory(&ca,pca, sizeof(COLORADJUSTMENT));
|
||||||
|
|
||||||
|
ProbeForRead(BrushOrigin, sizeof(POINTL), 1);
|
||||||
|
RtlCopyMemory(&lBrushOrigin, BrushOrigin, sizeof(POINTL));
|
||||||
|
|
||||||
|
ProbeForRead(prclDest, sizeof(RECTL), 1);
|
||||||
|
RtlCopyMemory(&rclDest, prclDest, sizeof(RECTL));
|
||||||
|
|
||||||
|
ProbeForRead(prclSrc, sizeof(RECTL), 1);
|
||||||
|
RtlCopyMemory(&rclSrc, prclSrc, sizeof(RECTL));
|
||||||
|
|
||||||
|
ProbeForRead(MaskOrigin, sizeof(POINTL), 1);
|
||||||
|
RtlCopyMemory(&lMaskOrigin, MaskOrigin, sizeof(POINTL));
|
||||||
|
|
||||||
|
}
|
||||||
|
_SEH_HANDLE
|
||||||
|
{
|
||||||
|
_SEH_YIELD(return FALSE);
|
||||||
|
}
|
||||||
|
_SEH_END;
|
||||||
|
|
||||||
|
return EngStretchBlt(DestObj, SourceObj, Mask, ClipRegion, ColorTranslation, &ca, &lBrushOrigin, &rclDest, &rclSrc, &lMaskOrigin, Mode);
|
||||||
|
}
|
||||||
|
|
||||||
BOOL
|
BOOL
|
||||||
STDCALL
|
STDCALL
|
||||||
EngStretchBlt(
|
EngStretchBlt(
|
||||||
|
@ -937,6 +989,9 @@ IntEngStretchBlt(SURFOBJ *DestSurf,
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
BOOL
|
BOOL
|
||||||
STDCALL
|
STDCALL
|
||||||
NtGdiEngAlphaBlend(IN SURFOBJ *Dest,
|
NtGdiEngAlphaBlend(IN SURFOBJ *Dest,
|
||||||
|
@ -954,6 +1009,7 @@ NtGdiEngAlphaBlend(IN SURFOBJ *Dest,
|
||||||
{
|
{
|
||||||
ProbeForRead(upDestRect, sizeof(RECTL), 1);
|
ProbeForRead(upDestRect, sizeof(RECTL), 1);
|
||||||
RtlCopyMemory(&DestRect,upDestRect, sizeof(RECTL));
|
RtlCopyMemory(&DestRect,upDestRect, sizeof(RECTL));
|
||||||
|
|
||||||
ProbeForRead(upSourceRect, sizeof(RECTL), 1);
|
ProbeForRead(upSourceRect, sizeof(RECTL), 1);
|
||||||
RtlCopyMemory(&SourceRect, upSourceRect, sizeof(RECTL));
|
RtlCopyMemory(&SourceRect, upSourceRect, sizeof(RECTL));
|
||||||
|
|
||||||
|
@ -967,6 +1023,9 @@ NtGdiEngAlphaBlend(IN SURFOBJ *Dest,
|
||||||
return EngAlphaBlend(Dest, Source, ClipRegion, ColorTranslation, &DestRect, &SourceRect, BlendObj);
|
return EngAlphaBlend(Dest, Source, ClipRegion, ColorTranslation, &DestRect, &SourceRect, BlendObj);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
BOOL
|
BOOL
|
||||||
STDCALL
|
STDCALL
|
||||||
EngAlphaBlend(IN SURFOBJ *Dest,
|
EngAlphaBlend(IN SURFOBJ *Dest,
|
||||||
|
|
|
@ -533,6 +533,17 @@ EngEraseSurface(SURFOBJ *Surface,
|
||||||
#define GDIBdyToHdr(body) \
|
#define GDIBdyToHdr(body) \
|
||||||
((PGDIOBJHDR)(body) - 1)
|
((PGDIOBJHDR)(body) - 1)
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* @implemented
|
||||||
|
*/
|
||||||
|
SURFOBJ * STDCALL
|
||||||
|
NtGdiEngLockSurface(IN HSURF Surface)
|
||||||
|
{
|
||||||
|
return EngLockSurface(Surface);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* @implemented
|
* @implemented
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -616,9 +616,9 @@ NtUserYieldTask 0
|
||||||
# NtGdiEngDeleteSurface 1
|
# NtGdiEngDeleteSurface 1
|
||||||
# NtGdiEngEraseSurface 3
|
# NtGdiEngEraseSurface 3
|
||||||
# NtGdiEngUnlockSurface 1
|
# NtGdiEngUnlockSurface 1
|
||||||
# NtGdiEngLockSurface 1
|
NtGdiEngLockSurface 1
|
||||||
NtGdiEngBitBlt 11
|
NtGdiEngBitBlt 11
|
||||||
# NtGdiEngStretchBlt 11
|
NtGdiEngStretchBlt 11
|
||||||
# NtGdiEngPlgBlt 11
|
# NtGdiEngPlgBlt 11
|
||||||
# NtGdiEngMarkBandingSurface 1
|
# NtGdiEngMarkBandingSurface 1
|
||||||
# NtGdiEngStrokePath 8
|
# NtGdiEngStrokePath 8
|
||||||
|
|
Loading…
Reference in a new issue