]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/image.cpp
applied (slightly modified) wxGLApp patch for MSW
[wxWidgets.git] / src / common / image.cpp
index 5086141878f886a24d990458bd6db1dea9b28239..51318de205ce4ba28adf5a384fdb4b04b0b24eea 100644 (file)
@@ -235,6 +235,9 @@ wxImage wxImage::Scale( int width, int height ) const
     char unsigned *source_data = M_IMGDATA->m_data;
     char unsigned *target_data = data;
 
     char unsigned *source_data = M_IMGDATA->m_data;
     char unsigned *target_data = data;
 
+#if 0
+    // This is nonsense, RR.
+
     // We do (x, y) -> (x, y)*oldSize/newSize but the valid values of x and y
     // are from 0 to size-1, hence all decrement the sizes
     long old_old_width = old_width;
     // We do (x, y) -> (x, y)*oldSize/newSize but the valid values of x and y
     // are from 0 to size-1, hence all decrement the sizes
     long old_old_width = old_width;
@@ -255,6 +258,20 @@ wxImage wxImage::Scale( int width, int height ) const
             target_data += 3;
         }
     }
             target_data += 3;
         }
     }
+#else
+    for (long j = 0; j < height; j++)
+    {
+        long y_offset = (j * old_height / height) * old_width;
+
+        for (long i = 0; i < width; i++)
+        {
+            memcpy( target_data,
+                source_data + 3*(y_offset + ((i * old_width )/ width)),
+                3 );
+            target_data += 3;
+        }
+    }
+#endif
 
     return image;
 }
 
     return image;
 }
@@ -1160,7 +1177,7 @@ unsigned long wxImage::CountColours( unsigned long stopafter )
     wxHashTable h;
     wxObject dummy;
     unsigned char r, g, b;
     wxHashTable h;
     wxObject dummy;
     unsigned char r, g, b;
-       unsigned char *p;
+    unsigned char *p;
     unsigned long size, nentries, key;
 
     p = GetData();
     unsigned long size, nentries, key;
 
     p = GetData();
@@ -1195,7 +1212,7 @@ unsigned long wxImage::CountColours( unsigned long stopafter )
 unsigned long wxImage::ComputeHistogram( wxHashTable &h )
 {
     unsigned char r, g, b;
 unsigned long wxImage::ComputeHistogram( wxHashTable &h )
 {
     unsigned char r, g, b;
-       unsigned char *p;
+    unsigned char *p;
     unsigned long size, nentries, key;
     wxHNode *hnode;
 
     unsigned long size, nentries, key;
     wxHNode *hnode;