+ void Create( int width, int height );
+ void Create( int width, int height, unsigned char* data, bool static_data = FALSE );
+ void Destroy();
+
+ // creates an identical copy of the image (the = operator
+ // just raises the ref count)
+ wxImage Copy() const;
+
+ // return the new image with size width*height
+ wxImage GetSubImage( const wxRect& ) const;
+
+ // pastes image into this instance and takes care of
+ // the mask colour and out of bounds problems
+ void Paste( const wxImage &image, int x, int y );
+
+ // return the new image with size width*height
+ wxImage Scale( int width, int height ) const;
+
+ // rescales the image in place
+ wxImage& Rescale( int width, int height ) { return *this = Scale(width, height); }
+
+ // Rotates the image about the given point, 'angle' radians.
+ // Returns the rotated image, leaving this image intact.
+ wxImage Rotate(double angle, const wxPoint & centre_of_rotation,
+ bool interpolating = TRUE, wxPoint * offset_after_rotation = (wxPoint*) NULL) const;
+
+ wxImage Rotate90( bool clockwise = TRUE ) const;
+ wxImage Mirror( bool horizontally = TRUE ) const;
+
+ // replace one colour with another
+ void Replace( unsigned char r1, unsigned char g1, unsigned char b1,
+ unsigned char r2, unsigned char g2, unsigned char b2 );
+
+ // convert to monochrome image (<r,g,b> will be replaced by white, everything else by black)
+ wxImage ConvertToMono( unsigned char r, unsigned char g, unsigned char b ) const;
+
+ // these routines are slow but safe
+ void SetRGB( int x, int y, unsigned char r, unsigned char g, unsigned char b );
+ unsigned char GetRed( int x, int y ) const;
+ unsigned char GetGreen( int x, int y ) const;
+ unsigned char GetBlue( int x, int y ) const;
+
+ static bool CanRead( const wxString& name );
+ virtual bool LoadFile( const wxString& name, long type = wxBITMAP_TYPE_ANY );
+ virtual bool LoadFile( const wxString& name, const wxString& mimetype );