]> git.saurik.com Git - wxWidgets.git/blobdiff - src/common/image.cpp
Add class factories for filter streams. Also filters now follow the convention
[wxWidgets.git] / src / common / image.cpp
index 97f42c347e1d30e607a03bf6fa2dd1ad80db00ab..a2674529dec0bd15c7957f82aeb64b074f7c5971 100644 (file)
@@ -505,7 +505,7 @@ wxImage wxImage::Scale( int width, int height, int quality ) const
     }
 
     // If the original image has a mask, apply the mask to the new image
-       if (M_IMGDATA->m_hasMask)
+    if (M_IMGDATA->m_hasMask)
     {
         image.SetMaskColour( M_IMGDATA->m_maskRed,
                             M_IMGDATA->m_maskGreen,
@@ -571,7 +571,7 @@ wxImage wxImage::ResampleBox(int width, int height) const
             averaged_pixels = 0;
             sum_r = sum_g = sum_b = sum_a = 0.0;
 
-            for ( int j = src_y - scale_factor_y_2 + 1;
+            for ( int j = int(src_y - scale_factor_y/2.0 + 1);
                   j <= int(src_y + scale_factor_y_2);
                   j++ )
             {
@@ -579,7 +579,7 @@ wxImage wxImage::ResampleBox(int width, int height) const
                 if ( j < 0 || j > M_IMGDATA->m_height )
                     continue;
 
-                for ( int i = src_x - scale_factor_x_2 + 1;
+                for ( int i = int(src_x - scale_factor_x/2.0 + 1);
                       i <= src_x + scale_factor_x_2;
                       i++ )
                 {
@@ -848,7 +848,7 @@ wxImage wxImage::BlurHorizontal(int blurRadius)
                 sum_a += src_alpha[pixel_idx];
 
             // Save off the averaged data
-            dst = dst_data + x*3 + y*M_IMGDATA->m_width;
+            dst = dst_data + x*3 + y*M_IMGDATA->m_width*3;
             dst[0] = (unsigned char)(sum_r / blurArea);
             dst[1] = (unsigned char)(sum_g / blurArea);
             dst[2] = (unsigned char)(sum_b / blurArea);
@@ -1311,8 +1311,8 @@ void wxImage::Paste( const wxImage &image, int x, int y )
         {
             for (int i = 0; i < width; i+=3)
             {
-                if ((source_data[i]   != r) &&
-                    (source_data[i+1] != g) &&
+                if ((source_data[i]   != r) ||
+                    (source_data[i+1] != g) ||
                     (source_data[i+2] != b))
                 {
                     memcpy( target_data+i, source_data+i, 3 );
@@ -1544,7 +1544,7 @@ unsigned char wxImage::GetBlue( int x, int y ) const
     return M_IMGDATA->m_data[pos+2];
 }
 
-bool wxImage::Ok() const
+bool wxImage::IsOk() const
 {
     // image of 0 width or height can't be considered ok - at least because it
     // causes crashes in ConvertToBitmap() if we don't catch it in time