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 */
Modified: trunk/reactos/subsys/win32k/dib/dib16bpp.c
Modified: trunk/reactos/subsys/win32k/dib/dib1bpp.c
Modified: trunk/reactos/subsys/win32k/dib/dib24bpp.c
Modified: trunk/reactos/subsys/win32k/dib/dib32bpp.c
Modified: trunk/reactos/subsys/win32k/dib/dib4bpp.c
Modified: trunk/reactos/subsys/win32k/dib/dib8bpp.c
_____
Modified: trunk/reactos/subsys/win32k/dib/dib16bpp.c
--- trunk/reactos/subsys/win32k/dib/dib16bpp.c 2005-05-31 15:01:29 UTC
(rev 15700)
+++ trunk/reactos/subsys/win32k/dib/dib16bpp.c 2005-05-31 15:19:10 UTC
(rev 15701)
@@ -655,7 +655,7 @@
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 @@
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 @@
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 @@
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 @@
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);
_____
Modified: trunk/reactos/subsys/win32k/dib/dib1bpp.c
--- trunk/reactos/subsys/win32k/dib/dib1bpp.c 2005-05-31 15:01:29 UTC
(rev 15700)
+++ trunk/reactos/subsys/win32k/dib/dib1bpp.c 2005-05-31 15:19:10 UTC
(rev 15701)
@@ -520,7 +520,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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);
_____
Modified: trunk/reactos/subsys/win32k/dib/dib24bpp.c
--- trunk/reactos/subsys/win32k/dib/dib24bpp.c 2005-05-31 15:01:29 UTC
(rev 15700)
+++ trunk/reactos/subsys/win32k/dib/dib24bpp.c 2005-05-31 15:19:10 UTC
(rev 15701)
@@ -342,7 +342,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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);
_____
Modified: trunk/reactos/subsys/win32k/dib/dib32bpp.c
--- trunk/reactos/subsys/win32k/dib/dib32bpp.c 2005-05-31 15:01:29 UTC
(rev 15700)
+++ trunk/reactos/subsys/win32k/dib/dib32bpp.c 2005-05-31 15:19:10 UTC
(rev 15701)
@@ -588,7 +588,7 @@
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 @@
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 @@
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 @@
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 @@
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);
_____
Modified: trunk/reactos/subsys/win32k/dib/dib4bpp.c
--- trunk/reactos/subsys/win32k/dib/dib4bpp.c 2005-05-31 15:01:29 UTC
(rev 15700)
+++ trunk/reactos/subsys/win32k/dib/dib4bpp.c 2005-05-31 15:19:10 UTC
(rev 15701)
@@ -396,7 +396,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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);
_____
Modified: trunk/reactos/subsys/win32k/dib/dib8bpp.c
--- trunk/reactos/subsys/win32k/dib/dib8bpp.c 2005-05-31 15:01:29 UTC
(rev 15700)
+++ trunk/reactos/subsys/win32k/dib/dib8bpp.c 2005-05-31 15:19:10 UTC
(rev 15701)
@@ -572,7 +572,7 @@
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 @@
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 @@
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 @@
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 @@
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);