Correct sizes if origin is not (0, 0)
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-09-06 23:15:15 UTC (rev 17708)
+++ trunk/reactos/subsys/win32k/dib/dib16bpp.c	2005-09-06 23:16:18 UTC (rev 17709)
@@ -630,11 +630,11 @@
      BitsPerFormat(SourceSurf->iBitmapFormat), SourceRect->left, SourceRect->top, SourceRect->right, SourceRect->bottom,
      DestRect->left, DestRect->top, DestRect->right, DestRect->bottom);
 
-    SrcSizeY = SourceRect->bottom;
-    SrcSizeX = SourceRect->right;
+    SrcSizeY = SourceRect->bottom - SourceRect->top;
+    SrcSizeX = SourceRect->right - SourceRect->left;
   
-    DesSizeY = DestRect->bottom;
-    DesSizeX = DestRect->right;   
+    DesSizeY = DestRect->bottom - DestRect->top;
+    DesSizeX = DestRect->right - DestRect->left;   
    
 	zoomX = DesSizeX / SrcSizeX;
     if (zoomX==0) zoomX=1;

Modified: trunk/reactos/subsys/win32k/dib/dib1bpp.c
--- trunk/reactos/subsys/win32k/dib/dib1bpp.c	2005-09-06 23:15:15 UTC (rev 17708)
+++ trunk/reactos/subsys/win32k/dib/dib1bpp.c	2005-09-06 23:16:18 UTC (rev 17709)
@@ -518,12 +518,12 @@
    int saveY;
    BOOLEAN DesIsBiggerY=FALSE;
 
-   SrcSizeY = SourceRect->bottom;
-   SrcSizeX = SourceRect->right;
-  
-   DesSizeY = DestRect->bottom;
-   DesSizeX = DestRect->right;   
+   SrcSizeY = SourceRect->bottom - SourceRect->top;
+   SrcSizeX = SourceRect->right - SourceRect->left;
 
+   DesSizeY = DestRect->bottom - DestRect->top;
+   DesSizeX = DestRect->right - DestRect->left;
+
    zoomX = DesSizeX / SrcSizeX;
    if (zoomX==0) zoomX=1;
 

Modified: trunk/reactos/subsys/win32k/dib/dib24bpp.c
--- trunk/reactos/subsys/win32k/dib/dib24bpp.c	2005-09-06 23:15:15 UTC (rev 17708)
+++ trunk/reactos/subsys/win32k/dib/dib24bpp.c	2005-09-06 23:16:18 UTC (rev 17709)
@@ -513,12 +513,12 @@
    int saveY;
    BOOLEAN DesIsBiggerY=FALSE;
 
-   SrcSizeY = SourceRect->bottom;
-   SrcSizeX = SourceRect->right;
-  
-   DesSizeY = DestRect->bottom;
-   DesSizeX = DestRect->right;
+   SrcSizeY = SourceRect->bottom - SourceRect->top;
+   SrcSizeX = SourceRect->right - SourceRect->left;
 
+   DesSizeY = DestRect->bottom - DestRect->top;
+   DesSizeX = DestRect->right - DestRect->left;
+
    zoomX = DesSizeX / SrcSizeX;
    if (zoomX==0) zoomX=1;
 

Modified: trunk/reactos/subsys/win32k/dib/dib32bpp.c
--- trunk/reactos/subsys/win32k/dib/dib32bpp.c	2005-09-06 23:15:15 UTC (rev 17708)
+++ trunk/reactos/subsys/win32k/dib/dib32bpp.c	2005-09-06 23:16:18 UTC (rev 17709)
@@ -557,11 +557,11 @@
             BitsPerFormat(SourceSurf->iBitmapFormat), SourceRect->left, SourceRect->top, SourceRect->right, 
             SourceRect->bottom, DestRect->left, DestRect->top, DestRect->right, DestRect->bottom);
 
-    SrcSizeY = SourceRect->bottom;
-    SrcSizeX = SourceRect->right;
+    SrcSizeY = SourceRect->bottom - SourceRect->top;
+    SrcSizeX = SourceRect->right - SourceRect->left;
   
-    DesSizeY = DestRect->bottom;
-    DesSizeX = DestRect->right; 
+    DesSizeY = DestRect->bottom - DestRect->top;
+    DesSizeX = DestRect->right - DestRect->left; 
 
     zoomX = DesSizeX / SrcSizeX;
     if (zoomX==0) zoomX=1;

Modified: trunk/reactos/subsys/win32k/dib/dib4bpp.c
--- trunk/reactos/subsys/win32k/dib/dib4bpp.c	2005-09-06 23:15:15 UTC (rev 17708)
+++ trunk/reactos/subsys/win32k/dib/dib4bpp.c	2005-09-06 23:16:18 UTC (rev 17709)
@@ -397,12 +397,11 @@
    int saveY;
    BOOLEAN DesIsBiggerY=FALSE;
   
+   SrcSizeY = SourceRect->bottom - SourceRect->top;
+   SrcSizeX = SourceRect->right - SourceRect->left;
 
-   SrcSizeY = SourceRect->bottom;
-   SrcSizeX = SourceRect->right;
-  
-   DesSizeY = DestRect->bottom;
-   DesSizeX = DestRect->right; 
+   DesSizeY = DestRect->bottom - DestRect->top;
+   DesSizeX = DestRect->right - DestRect->left;
 
    zoomX = DesSizeX / SrcSizeX;
    if (zoomX==0) zoomX=1;

Modified: trunk/reactos/subsys/win32k/dib/dib8bpp.c
--- trunk/reactos/subsys/win32k/dib/dib8bpp.c	2005-09-06 23:15:15 UTC (rev 17708)
+++ trunk/reactos/subsys/win32k/dib/dib8bpp.c	2005-09-06 23:16:18 UTC (rev 17709)
@@ -480,12 +480,12 @@
      BitsPerFormat(SourceSurf->iBitmapFormat), SourceRect->left, SourceRect->top, SourceRect->right, SourceRect->bottom,
      DestRect->left, DestRect->top, DestRect->right, DestRect->bottom);
 
-   SrcSizeY = SourceRect->bottom;
-   SrcSizeX = SourceRect->right;
-  
-   DesSizeY = DestRect->bottom;
-   DesSizeX = DestRect->right;
+   SrcSizeY = SourceRect->bottom - SourceRect->top;
+   SrcSizeX = SourceRect->right - SourceRect->left;
 
+   DesSizeY = DestRect->bottom - DestRect->top;
+   DesSizeX = DestRect->right - DestRect->left;
+
    zoomX = DesSizeX / SrcSizeX;
    if (zoomX==0) zoomX=1;