#define wxIMAGE_OPTION_FILENAME wxString(_T("FileName"))
+#define wxIMAGE_OPTION_RESOLUTION wxString(_T("Resolution"))
+#define wxIMAGE_OPTION_RESOLUTIONX wxString(_T("ResolutionX"))
+#define wxIMAGE_OPTION_RESOLUTIONY wxString(_T("ResolutionY"))
+
+#define wxIMAGE_OPTION_RESOLUTIONUNIT wxString(_T("ResolutionUnit"))
+
+// constants used with wxIMAGE_OPTION_RESOLUTIONUNIT
+enum
+{
+ wxIMAGE_RESOLUTION_INCHES = 1,
+ wxIMAGE_RESOLUTION_CM = 2
+};
+
//-----------------------------------------------------------------------------
// classes
//-----------------------------------------------------------------------------
{ }
#if wxUSE_STREAMS
- virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=TRUE, int index=-1 );
- virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=TRUE );
+ virtual bool LoadFile( wxImage *image, wxInputStream& stream, bool verbose=true, int index=-1 );
+ virtual bool SaveFile( wxImage *image, wxOutputStream& stream, bool verbose=true );
virtual int GetImageCount( wxInputStream& stream );
class WXDLLEXPORT wxImage: public wxObject
{
public:
- wxImage();
+ wxImage(){}
wxImage( int width, int height, bool clear = true );
- wxImage( int width, int height, unsigned char* data, bool static_data = FALSE );
+ wxImage( int width, int height, unsigned char* data, bool static_data = false );
+ wxImage( int width, int height, unsigned char* data, unsigned char* alpha, bool static_data = false );
wxImage( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
wxImage( const wxString& name, const wxString& mimetype, int index = -1 );
wxImage( const wxImage* image );
bool Create( int width, int height, bool clear = true );
- bool Create( int width, int height, unsigned char* data, bool static_data = FALSE );
+ bool Create( int width, int height, unsigned char* data, bool static_data = false );
+ bool Create( int width, int height, unsigned char* data, unsigned char* alpha, bool static_data = false );
void Destroy();
// creates an identical copy of the image (the = operator
// 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;
+ bool interpolating = true, wxPoint * offset_after_rotation = (wxPoint*) NULL) const;
- wxImage Rotate90( bool clockwise = TRUE ) const;
- wxImage Mirror( bool horizontally = TRUE ) 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,
// converts image's alpha channel to mask, if it has any, does nothing
// otherwise:
- bool ConvertAlphaToMask(unsigned threshold = 128);
+ bool ConvertAlphaToMask(unsigned char threshold = 128);
+
+ // This method converts an image where the original alpha
+ // information is only available as a shades of a colour
+ // (actually shades of grey) typically when you draw anti-
+ // aliased text into a bitmap. The DC drawinf routines
+ // draw grey values on the black background although they
+ // actually mean to draw white with differnt alpha values.
+ // This method reverses it, assuming a black (!) background
+ // and white text (actually only the red channel is read).
+ // The method will then fill up the whole image with the
+ // colour given.
+ bool ConvertColourToAlpha( unsigned char r, unsigned char g, unsigned char b );
static bool CanRead( const wxString& name );
static int GetImageCount( const wxString& name, long type = wxBITMAP_TYPE_ANY );
unsigned char *GetAlpha() const; // may return NULL!
bool HasAlpha() const { return GetAlpha() != NULL; }
void SetAlpha(unsigned char *alpha = NULL);
+ void InitAlpha();
// Mask functions
void SetMaskColour( unsigned char r, unsigned char g, unsigned char b );
unsigned char GetMaskRed() const;
unsigned char GetMaskGreen() const;
unsigned char GetMaskBlue() const;
- void SetMask( bool mask = TRUE );
+ void SetMask( bool mask = true );
bool HasMask() const;
#if wxUSE_PALETTE
extern void WXDLLEXPORT wxInitAllImageHandlers();
-WXDLLEXPORT_DATA(extern wxImage) wxNullImage;
+extern WXDLLEXPORT_DATA(wxImage) wxNullImage;
//-----------------------------------------------------------------------------
// wxImage handlers