wxGTK1 : adding missing ctors foe wxCursor & wxBitmap
This commit is contained in:
@@ -25,6 +25,7 @@ class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
|
||||
class WXDLLIMPEXP_FWD_CORE wxMask;
|
||||
class WXDLLIMPEXP_FWD_CORE wxBitmap;
|
||||
class WXDLLIMPEXP_FWD_CORE wxImage;
|
||||
class WXDLLIMPEXP_FWD_CORE wxCursor;
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
// wxMask
|
||||
@@ -72,6 +73,7 @@ public:
|
||||
wxBitmap( const char* const* bits );
|
||||
wxBitmap( const wxString &filename, wxBitmapType type = wxBITMAP_DEFAULT_TYPE );
|
||||
wxBitmap( const wxImage& image, int depth = -1, double WXUNUSED(scale) = 1.0 ) { (void)CreateFromImage(image, depth); }
|
||||
explicit wxBitmap(const wxCursor& cursor);
|
||||
virtual ~wxBitmap();
|
||||
|
||||
bool Create(int width, int height, int depth = wxBITMAP_SCREEN_DEPTH);
|
||||
|
@@ -29,19 +29,16 @@ public:
|
||||
#endif
|
||||
#if wxUSE_IMAGE
|
||||
wxCursor( const wxImage & image );
|
||||
wxCursor(const char* const* xpmData);
|
||||
#endif
|
||||
wxCursor(const wxString& name,
|
||||
wxBitmapType type = wxCURSOR_DEFAULT_TYPE,
|
||||
int hotSpotX = 0, int hotSpotY = 0);
|
||||
wxCursor( const char bits[], int width, int height,
|
||||
int hotSpotX=-1, int hotSpotY=-1,
|
||||
const char maskBits[] = NULL,
|
||||
const wxColour* fg = NULL, const wxColour* bg = NULL);
|
||||
|
||||
/* WARNING: the following ctor is missing:
|
||||
|
||||
wxCursor(const wxString& name,
|
||||
wxBitmapType type = wxCURSOR_DEFAULT_TYPE,
|
||||
int hotSpotX = 0, int hotSpotY = 0);
|
||||
*/
|
||||
|
||||
virtual ~wxCursor();
|
||||
|
||||
// implementation
|
||||
@@ -50,6 +47,9 @@ public:
|
||||
|
||||
protected:
|
||||
void InitFromStock(wxStockCursor);
|
||||
#if wxUSE_IMAGE
|
||||
void InitFromImage(const wxImage& image);
|
||||
#endif
|
||||
|
||||
virtual wxGDIRefData *CreateGDIRefData() const;
|
||||
virtual wxGDIRefData *CloneGDIRefData(const wxGDIRefData *data) const;
|
||||
|
@@ -18,6 +18,7 @@
|
||||
#include "wx/icon.h"
|
||||
#include "wx/math.h"
|
||||
#include "wx/image.h"
|
||||
#include "wx/cursor.h"
|
||||
#endif // WX_PRECOMP
|
||||
|
||||
#include "wx/filefn.h"
|
||||
@@ -1144,6 +1145,11 @@ wxBitmap::wxBitmap( const char bits[], int width, int height, int WXUNUSED(depth
|
||||
}
|
||||
}
|
||||
|
||||
wxBitmap::wxBitmap(const wxCursor& cursor)
|
||||
{
|
||||
wxUnusedVar(cursor);
|
||||
}
|
||||
|
||||
wxBitmap::~wxBitmap()
|
||||
{
|
||||
}
|
||||
|
@@ -159,9 +159,38 @@ wxCursor::wxCursor(const char bits[], int width, int height,
|
||||
gdk_bitmap_unref( mask );
|
||||
}
|
||||
|
||||
wxCursor::wxCursor(const wxString& cursor_file,
|
||||
wxBitmapType type,
|
||||
int hotSpotX, int hotSpotY)
|
||||
{
|
||||
#if wxUSE_IMAGE
|
||||
wxImage img;
|
||||
if (!img.LoadFile(cursor_file, type))
|
||||
return;
|
||||
|
||||
// eventually set the hotspot:
|
||||
if (!img.HasOption(wxIMAGE_OPTION_CUR_HOTSPOT_X))
|
||||
img.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_X, hotSpotX);
|
||||
if (!img.HasOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y))
|
||||
img.SetOption(wxIMAGE_OPTION_CUR_HOTSPOT_Y, hotSpotY);
|
||||
|
||||
InitFromImage(img);
|
||||
#endif // wxUSE_IMAGE
|
||||
}
|
||||
|
||||
#if wxUSE_IMAGE
|
||||
|
||||
wxCursor::wxCursor( const wxImage & image )
|
||||
{
|
||||
InitFromImage(image);
|
||||
}
|
||||
|
||||
wxCursor::wxCursor(const char* const* xpmData)
|
||||
{
|
||||
InitFromImage(wxImage(xpmData));
|
||||
}
|
||||
|
||||
void wxCursor::InitFromImage( const wxImage & image )
|
||||
{
|
||||
unsigned char * rgbBits = image.GetData();
|
||||
int w = image.GetWidth() ;
|
||||
@@ -312,7 +341,6 @@ wxCursor::wxCursor( const wxImage & image )
|
||||
delete [] bits;
|
||||
delete [] maskBits;
|
||||
}
|
||||
|
||||
#endif // wxUSE_IMAGE
|
||||
|
||||
wxCursor::~wxCursor()
|
||||
|
Reference in New Issue
Block a user