#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
//-----------------------------------------------------------------------------
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, 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 );
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, unsigned char* alpha, bool static_data = false );
void Destroy();
// creates an identical copy of the image (the = operator
// otherwise:
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 );
virtual bool LoadFile( const wxString& name, long type = wxBITMAP_TYPE_ANY, int index = -1 );
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 );
extern void WXDLLEXPORT wxInitAllImageHandlers();
-WXDLLEXPORT_DATA(extern wxImage) wxNullImage;
+extern WXDLLEXPORT_DATA(wxImage) wxNullImage;
//-----------------------------------------------------------------------------
// wxImage handlers