mirror of
https://github.com/reactos/reactos.git
synced 2024-10-07 18:04:41 +00:00
Preparation for StretchBlt pattern support (2):
- Modify CallDibStretchBlt for brush support, adjust function pointers - Add BrushObj to DibFunctions, fix BrushOrigin parameter type, qualify ROP properly svn path=/trunk/; revision=39506
This commit is contained in:
parent
6399747995
commit
c4d49789a6
|
@ -225,9 +225,9 @@ BOOLEAN Dummy_BitBlt(PBLTINFO BltInfo)
|
||||||
|
|
||||||
BOOLEAN Dummy_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
BOOLEAN Dummy_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
||||||
RECTL* DestRect, RECTL *SourceRect,
|
RECTL* DestRect, RECTL *SourceRect,
|
||||||
POINTL* MaskOrigin, POINTL BrushOrign,
|
POINTL* MaskOrigin, BRUSHOBJ* Brush,
|
||||||
CLIPOBJ *ClipRegion, XLATEOBJ *ColorTranslation,
|
POINTL* BrushOrign, CLIPOBJ *ClipRegion,
|
||||||
ULONG Mode)
|
XLATEOBJ *ColorTranslation, ROP4 Rop)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,7 +41,7 @@ typedef ULONG (*PFN_DIB_GetPixel)(SURFOBJ*,LONG,LONG);
|
||||||
typedef VOID (*PFN_DIB_HLine)(SURFOBJ*,LONG,LONG,LONG,ULONG);
|
typedef VOID (*PFN_DIB_HLine)(SURFOBJ*,LONG,LONG,LONG,ULONG);
|
||||||
typedef VOID (*PFN_DIB_VLine)(SURFOBJ*,LONG,LONG,LONG,ULONG);
|
typedef VOID (*PFN_DIB_VLine)(SURFOBJ*,LONG,LONG,LONG,ULONG);
|
||||||
typedef BOOLEAN (*PFN_DIB_BitBlt)(PBLTINFO);
|
typedef BOOLEAN (*PFN_DIB_BitBlt)(PBLTINFO);
|
||||||
typedef BOOLEAN (*PFN_DIB_StretchBlt)(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,POINTL,CLIPOBJ*,XLATEOBJ*,ULONG);
|
typedef BOOLEAN (*PFN_DIB_StretchBlt)(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,BRUSHOBJ*,POINTL*,CLIPOBJ*,XLATEOBJ*,ROP4);
|
||||||
typedef BOOLEAN (*PFN_DIB_TransparentBlt)(SURFOBJ*,SURFOBJ*,RECTL*,POINTL*,XLATEOBJ*,ULONG);
|
typedef BOOLEAN (*PFN_DIB_TransparentBlt)(SURFOBJ*,SURFOBJ*,RECTL*,POINTL*,XLATEOBJ*,ULONG);
|
||||||
typedef BOOLEAN (*PFN_DIB_ColorFill)(SURFOBJ*, RECTL*, ULONG);
|
typedef BOOLEAN (*PFN_DIB_ColorFill)(SURFOBJ*, RECTL*, ULONG);
|
||||||
typedef BOOLEAN (*PFN_DIB_AlphaBlend)(SURFOBJ*, SURFOBJ*, RECTL*, RECTL*, CLIPOBJ*, XLATEOBJ*, BLENDOBJ*);
|
typedef BOOLEAN (*PFN_DIB_AlphaBlend)(SURFOBJ*, SURFOBJ*, RECTL*, RECTL*, CLIPOBJ*, XLATEOBJ*, BLENDOBJ*);
|
||||||
|
@ -67,7 +67,7 @@ ULONG Dummy_GetPixel(SURFOBJ*,LONG,LONG);
|
||||||
VOID Dummy_HLine(SURFOBJ*,LONG,LONG,LONG,ULONG);
|
VOID Dummy_HLine(SURFOBJ*,LONG,LONG,LONG,ULONG);
|
||||||
VOID Dummy_VLine(SURFOBJ*,LONG,LONG,LONG,ULONG);
|
VOID Dummy_VLine(SURFOBJ*,LONG,LONG,LONG,ULONG);
|
||||||
BOOLEAN Dummy_BitBlt(PBLTINFO);
|
BOOLEAN Dummy_BitBlt(PBLTINFO);
|
||||||
BOOLEAN Dummy_StretchBlt(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,POINTL,CLIPOBJ*,XLATEOBJ*,ULONG);
|
BOOLEAN Dummy_StretchBlt(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,BRUSHOBJ*,POINTL*,CLIPOBJ*,XLATEOBJ*,ROP4);
|
||||||
BOOLEAN Dummy_TransparentBlt(SURFOBJ*,SURFOBJ*,RECTL*,POINTL*,XLATEOBJ*,ULONG);
|
BOOLEAN Dummy_TransparentBlt(SURFOBJ*,SURFOBJ*,RECTL*,POINTL*,XLATEOBJ*,ULONG);
|
||||||
BOOLEAN Dummy_ColorFill(SURFOBJ*, RECTL*, ULONG);
|
BOOLEAN Dummy_ColorFill(SURFOBJ*, RECTL*, ULONG);
|
||||||
BOOLEAN Dummy_AlphaBlend(SURFOBJ*, SURFOBJ*, RECTL*, RECTL*, CLIPOBJ*, XLATEOBJ*, BLENDOBJ*);
|
BOOLEAN Dummy_AlphaBlend(SURFOBJ*, SURFOBJ*, RECTL*, RECTL*, CLIPOBJ*, XLATEOBJ*, BLENDOBJ*);
|
||||||
|
@ -132,7 +132,7 @@ BOOLEAN DIB_32BPP_TransparentBlt(SURFOBJ*,SURFOBJ*,RECTL*,POINTL*,XLATEOBJ*,ULON
|
||||||
BOOLEAN DIB_32BPP_ColorFill(SURFOBJ*, RECTL*, ULONG);
|
BOOLEAN DIB_32BPP_ColorFill(SURFOBJ*, RECTL*, ULONG);
|
||||||
BOOLEAN DIB_32BPP_AlphaBlend(SURFOBJ*, SURFOBJ*, RECTL*, RECTL*, CLIPOBJ*, XLATEOBJ*, BLENDOBJ*);
|
BOOLEAN DIB_32BPP_AlphaBlend(SURFOBJ*, SURFOBJ*, RECTL*, RECTL*, CLIPOBJ*, XLATEOBJ*, BLENDOBJ*);
|
||||||
|
|
||||||
BOOLEAN DIB_XXBPP_StretchBlt(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,POINTL,CLIPOBJ*,XLATEOBJ*,ULONG);
|
BOOLEAN DIB_XXBPP_StretchBlt(SURFOBJ*,SURFOBJ*,RECTL*,RECTL*,POINTL*,BRUSHOBJ*,POINTL*,CLIPOBJ*,XLATEOBJ*,ROP4);
|
||||||
|
|
||||||
extern unsigned char notmask[2];
|
extern unsigned char notmask[2];
|
||||||
extern unsigned char altnotmask[2];
|
extern unsigned char altnotmask[2];
|
||||||
|
|
|
@ -23,10 +23,10 @@
|
||||||
#include <debug.h>
|
#include <debug.h>
|
||||||
|
|
||||||
BOOLEAN DIB_XXBPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
BOOLEAN DIB_XXBPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
||||||
RECTL* DestRect, RECTL *SourceRect,
|
RECTL *DestRect, RECTL *SourceRect,
|
||||||
POINTL* MaskOrigin, POINTL BrushOrigin,
|
POINTL *MaskOrigin, BRUSHOBJ *Brush,
|
||||||
CLIPOBJ *ClipRegion, XLATEOBJ *ColorTranslation,
|
POINTL *BrushOrigin, CLIPOBJ *ClipRegion,
|
||||||
ULONG ROP)
|
XLATEOBJ *ColorTranslation, ROP4 ROP)
|
||||||
{
|
{
|
||||||
LONG SrcSizeY;
|
LONG SrcSizeY;
|
||||||
LONG SrcSizeX;
|
LONG SrcSizeX;
|
||||||
|
|
|
@ -50,8 +50,9 @@ typedef BOOLEAN (APIENTRY *PSTRETCHRECTFUNC)(SURFOBJ* OutputObj,
|
||||||
RECTL* OutputRect,
|
RECTL* OutputRect,
|
||||||
RECTL* InputRect,
|
RECTL* InputRect,
|
||||||
POINTL* MaskOrigin,
|
POINTL* MaskOrigin,
|
||||||
|
BRUSHOBJ* BrushObj,
|
||||||
POINTL* BrushOrigin,
|
POINTL* BrushOrigin,
|
||||||
ULONG Mode);
|
ROP4 Rop4);
|
||||||
|
|
||||||
BOOL APIENTRY EngIntersectRect(RECTL* prcDst, RECTL* prcSrc1, RECTL* prcSrc2)
|
BOOL APIENTRY EngIntersectRect(RECTL* prcDst, RECTL* prcSrc1, RECTL* prcSrc2)
|
||||||
{
|
{
|
||||||
|
@ -741,8 +742,9 @@ CallDibStretchBlt(SURFOBJ* psoDest,
|
||||||
RECTL* OutputRect,
|
RECTL* OutputRect,
|
||||||
RECTL* InputRect,
|
RECTL* InputRect,
|
||||||
POINTL* MaskOrigin,
|
POINTL* MaskOrigin,
|
||||||
|
BRUSHOBJ* Brush,
|
||||||
POINTL* BrushOrigin,
|
POINTL* BrushOrigin,
|
||||||
ULONG Mode)
|
ROP4 Rop4)
|
||||||
{
|
{
|
||||||
POINTL RealBrushOrigin;
|
POINTL RealBrushOrigin;
|
||||||
if (BrushOrigin == NULL)
|
if (BrushOrigin == NULL)
|
||||||
|
@ -754,7 +756,7 @@ CallDibStretchBlt(SURFOBJ* psoDest,
|
||||||
RealBrushOrigin = *BrushOrigin;
|
RealBrushOrigin = *BrushOrigin;
|
||||||
}
|
}
|
||||||
return DibFunctionsForBitmapFormat[psoDest->iBitmapFormat].DIB_StretchBlt(
|
return DibFunctionsForBitmapFormat[psoDest->iBitmapFormat].DIB_StretchBlt(
|
||||||
psoDest, psoSource, OutputRect, InputRect, MaskOrigin, RealBrushOrigin, ClipRegion, ColorTranslation, Mode);
|
psoDest, psoSource, OutputRect, InputRect, MaskOrigin, Brush, &RealBrushOrigin, ClipRegion, ColorTranslation, Rop4);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -965,7 +967,7 @@ EngStretchBltROP(
|
||||||
|
|
||||||
Ret = (*BltRectFunc)(psoOutput, psoInput, Mask, ClipRegion,
|
Ret = (*BltRectFunc)(psoOutput, psoInput, Mask, ClipRegion,
|
||||||
ColorTranslation, &OutputRect, &InputRect, MaskOrigin,
|
ColorTranslation, &OutputRect, &InputRect, MaskOrigin,
|
||||||
&AdjustedBrushOrigin, ROP4);
|
Brush, &AdjustedBrushOrigin, ROP4);
|
||||||
|
|
||||||
IntEngLeave(&EnterLeaveDest);
|
IntEngLeave(&EnterLeaveDest);
|
||||||
if (UsesSource)
|
if (UsesSource)
|
||||||
|
|
Loading…
Reference in a new issue