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);