Add wxBitmap(size, dc) ctor to all ports

Previously this ctor was only available in wxMSW and wxOSX, which was
especially strange as the equivalent Create() overload, taking wxDC, was
already available in all ports.
This commit is contained in:
Vadim Zeitlin 2022-04-10 17:17:02 +01:00
parent bf75fe9d64
commit d08498eb16
7 changed files with 26 additions and 1 deletions

View File

@ -27,6 +27,7 @@ public:
wxBitmap(const wxIDirectFBSurfacePtr& surface) { Create(surface); }
wxBitmap(int width, int height, int depth = -1) { Create(width, height, depth); }
wxBitmap(const wxSize& sz, int depth = -1) { Create(sz, depth); }
wxBitmap(int width, int height, const wxDC& dc) { Create(width, height, dc); }
wxBitmap(const char bits[], int width, int height, int depth = 1);
wxBitmap(const wxString &filename, wxBitmapType type = wxBITMAP_DEFAULT_TYPE);
wxBitmap(const char* const* bits);

View File

@ -68,6 +68,8 @@ public:
{ Create(width, height, depth); }
wxBitmap( const wxSize& sz, int depth = wxBITMAP_SCREEN_DEPTH )
{ Create(sz, depth); }
wxBitmap( int width, int height, const wxDC& dc )
{ Create(width, height, dc); }
wxBitmap( const char bits[], int width, int height, int depth = 1 );
wxBitmap( const char* const* bits );
wxBitmap( const wxString &filename, wxBitmapType type = wxBITMAP_DEFAULT_TYPE );

View File

@ -64,6 +64,7 @@ public:
wxBitmap() {}
wxBitmap( int width, int height, int depth = -1 ) { Create( width, height, depth ); }
wxBitmap( const wxSize& sz, int depth = -1 ) { Create( sz, depth ); }
wxBitmap( int width, int height, const wxDC& dc ) { Create(width, height, dc); }
wxBitmap( const char bits[], int width, int height, int depth = 1 );
wxBitmap( const char* const* bits );
wxBitmap( const wxString &filename, wxBitmapType type = wxBITMAP_DEFAULT_TYPE );

View File

@ -20,6 +20,7 @@ public:
wxBitmap(const char bits[], int width, int height, int depth = 1);
wxBitmap(int width, int height, int depth = wxBITMAP_SCREEN_DEPTH);
wxBitmap(const wxSize& sz, int depth = wxBITMAP_SCREEN_DEPTH);
wxBitmap(int width, int height, const wxDC& dc);
wxBitmap(const char* const* bits);
wxBitmap(const wxString &filename, wxBitmapType type = wxBITMAP_TYPE_XPM);
wxBitmap(const wxImage& image, int depth = wxBITMAP_SCREEN_DEPTH, double scale = 1.0);
@ -32,7 +33,7 @@ public:
virtual bool Create(int width, int height, int depth = wxBITMAP_SCREEN_DEPTH) wxOVERRIDE;
virtual bool Create(const wxSize& sz, int depth = wxBITMAP_SCREEN_DEPTH) wxOVERRIDE;
virtual bool Create(int width, int height, const wxDC& WXUNUSED(dc));
virtual bool Create(int width, int height, const wxDC& dc);
virtual int GetHeight() const wxOVERRIDE;
virtual int GetWidth() const wxOVERRIDE;

View File

@ -58,6 +58,7 @@ public:
wxBitmap() {}
wxBitmap( int width, int height, int depth = -1 ) { Create( width, height, depth ); }
wxBitmap( const wxSize& sz, int depth = -1 ) { Create( sz, depth ); }
wxBitmap( int width, int height, const wxDC& dc ) { Create(width, height, dc); }
wxBitmap( const char bits[], int width, int height, int depth = 1 );
wxBitmap( const char* const* bits );

View File

@ -306,6 +306,20 @@ public:
*/
wxBitmap(const wxSize& sz, int depth = wxBITMAP_SCREEN_DEPTH);
/**
Create a bitmap compatible with the given DC, inheriting its magnification factor
@param width
The width of the bitmap in pixels, must be strictly positive.
@param height
The height of the bitmap in pixels, must be strictly positive.
@param dc
DC from which the scaling factor is inherited
@since 3.1.7 (previously available only in wxMSW and wxOSX ports).
*/
wxBitmap(int width, int height, const wxDC& dc);
/**
Creates a bitmap from XPM data.

View File

@ -192,6 +192,11 @@ wxBitmap::wxBitmap(const wxSize& sz, int depth )
Create(sz, depth);
}
wxBitmap::wxBitmap(int width, int height, const wxDC& dc)
{
Create(width, height, dc);
}
// Create a wxBitmap from xpm data
wxBitmap::wxBitmap(const char* const* bits)
{