mirror of
https://github.com/reactos/reactos.git
synced 2024-08-06 03:14:36 +00:00
Fix a bugin strechblt. it can now zoom in or out in any bpp
still this need todo /* FIXME : MaskOrigin, BrushOrigin, ClipRegion, Mode ? */ /* This is a reference implementation, it hasn't been optimized for speed */ svn path=/trunk/; revision=15701
This commit is contained in:
parent
63843d944f
commit
64d4d57449
|
@ -655,7 +655,7 @@ BOOLEAN DIB_16BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -689,7 +689,7 @@ BOOLEAN DIB_16BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -717,7 +717,7 @@ BOOLEAN DIB_16BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -745,7 +745,7 @@ BOOLEAN DIB_16BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -773,7 +773,7 @@ BOOLEAN DIB_16BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
|
|
@ -520,7 +520,7 @@ BOOLEAN DIB_1BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -550,7 +550,7 @@ BOOLEAN DIB_1BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -578,7 +578,7 @@ BOOLEAN DIB_1BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -606,7 +606,7 @@ BOOLEAN DIB_1BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -634,7 +634,7 @@ BOOLEAN DIB_1BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -661,7 +661,7 @@ BOOLEAN DIB_1BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
|
|
@ -342,7 +342,7 @@ BOOLEAN DIB_24BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -376,7 +376,7 @@ BOOLEAN DIB_24BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -404,7 +404,7 @@ BOOLEAN DIB_24BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -432,7 +432,7 @@ BOOLEAN DIB_24BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -460,7 +460,7 @@ BOOLEAN DIB_24BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -488,7 +488,7 @@ BOOLEAN DIB_24BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
|
|
@ -588,7 +588,7 @@ BOOLEAN DIB_32BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -622,7 +622,7 @@ BOOLEAN DIB_32BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -650,7 +650,7 @@ BOOLEAN DIB_32BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -678,7 +678,7 @@ BOOLEAN DIB_32BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -706,7 +706,7 @@ BOOLEAN DIB_32BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
|
|
@ -396,7 +396,7 @@ BOOLEAN DIB_4BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -430,7 +430,7 @@ BOOLEAN DIB_4BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -458,7 +458,7 @@ BOOLEAN DIB_4BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -486,7 +486,7 @@ BOOLEAN DIB_4BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -514,7 +514,7 @@ BOOLEAN DIB_4BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -542,7 +542,7 @@ BOOLEAN DIB_4BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
|
|
@ -572,7 +572,7 @@ BOOLEAN DIB_8BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -606,7 +606,7 @@ BOOLEAN DIB_8BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -634,7 +634,7 @@ BOOLEAN DIB_8BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -662,7 +662,7 @@ BOOLEAN DIB_8BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
@ -690,7 +690,7 @@ BOOLEAN DIB_8BPP_StretchBlt(SURFOBJ *DestSurf, SURFOBJ *SourceSurf,
|
|||
|
||||
for (DesX=0; DesX<DestRect->right; DesX++)
|
||||
{
|
||||
if (DesSizeY>SrcSizeY)
|
||||
if (DesSizeX>SrcSizeX)
|
||||
sx = (int) ((ULONG) SrcSizeX * (ULONG) DesX) / ((ULONG) DesSizeX);
|
||||
else
|
||||
sx = (int) ((ULONG) DesSizeX * (ULONG) DesX) / ((ULONG) SrcSizeX);
|
||||
|
|
Loading…
Reference in a new issue