]> git.saurik.com Git - wxWidgets.git/commitdiff
add wxImage::Clear (patch by troelsk); closes #10141
authorFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Fri, 9 Jan 2009 15:35:59 +0000 (15:35 +0000)
committerFrancesco Montorsi <f18m_cpp217828@yahoo.it>
Fri, 9 Jan 2009 15:35:59 +0000 (15:35 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@57946 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/image.h
interface/wx/image.h
samples/console/console.cpp
src/common/image.cpp

index 84dcd3934d0ce72654e6672223d5529343e576a9..fd7695684176e7140d1493b2dcea06df61c42f18 100644 (file)
@@ -240,6 +240,9 @@ public:
     bool Create( char** xpmData ) { return Create(const_cast<const char* const*>(xpmData)); }
 #endif
     void Destroy();
+   
+    // initialize the image data with zeroes
+    void Clear(unsigned char value = 0);
 
     // creates an identical copy of the image (the = operator
     // just raises the ref count)
index 1bc3e71e6fa2d72403ea3e8f5d214928a3cacbd5..8c9208bf35236b0cec160db2aa67af834feca575 100644 (file)
@@ -566,12 +566,20 @@ public:
         @param height
             The height of the image in pixels.
         @param clear
-            If @true, initialize the image data with zeros.
+            If @true, initialize the image data with zeroes.
 
         @return @true if the call succeeded, @false otherwise.
     */
     bool Create(int width, int height, bool clear = true);
 
+    /**
+        Initialize the image data with zeroes (the default) or with the
+        byte value given as @a value.
+
+        @since 2.9.0
+    */
+    void Clear(unsigned char value = 0);
+
     /**
         Destroys the image data.
     */
index 3858725560a732dc2bc5a4d5dad0a69bf2c7763f..134caa9449f4332bd528188e07607e582288bd72 100644 (file)
@@ -50,7 +50,7 @@
 
 // what to test (in alphabetic order)? Define TEST_ALL to 0 to do a single
 // test, define it to 1 to do all tests.
-#define TEST_ALL 1
+#define TEST_ALL 0
 
 
 #if TEST_ALL
@@ -89,7 +89,7 @@
     #define TEST_WCHAR
     #define TEST_ZIP
 #else // #if TEST_ALL
-    #define TEST_EXECUTE
+    #define TEST_FTP
 #endif
 
 // some tests are interactive, define this to run them
@@ -2405,8 +2405,6 @@ static void TestSocketClient()
 
 #include "wx/protocol/ftp.h"
 
-static wxFTP ftp;
-
 #define FTP_ANONYMOUS
 
 #ifdef FTP_ANONYMOUS
index ba344445ef47d20963e9d4671b09a78c09c2388c..b3883e6a49586cbb8e3b6d1a28a1606c0cb5249a 100644 (file)
@@ -195,13 +195,15 @@ bool wxImage::Create( int width, int height, bool clear )
         return false;
     }
 
-    if (clear)
-        memset(M_IMGDATA->m_data, 0, width*height*3);
-
     M_IMGDATA->m_width = width;
     M_IMGDATA->m_height = height;
     M_IMGDATA->m_ok = true;
 
+    if (clear)
+    {
+        Clear();
+    }
+
     return true;
 }
 
@@ -246,6 +248,11 @@ void wxImage::Destroy()
     UnRef();
 }
 
+void wxImage::Clear(unsigned char value)
+{
+    memset(M_IMGDATA->m_data, value, M_IMGDATA->m_width*M_IMGDATA->m_height*3);
+}
+
 wxObjectRefData* wxImage::CreateRefData() const
 {
     return new wxImageRefData;