Add wxBitmap ctor from wxCursor to wxGTK and wxMSW.
Allow converting wxCursor to wxBitmap in order to draw it, for example. Closes #15699. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@77537 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -76,6 +76,7 @@ All (GUI):
|
|||||||
- Add wxGenericListCtrl::EndEditLabel() (Tim Kosse).
|
- Add wxGenericListCtrl::EndEditLabel() (Tim Kosse).
|
||||||
- Use native renderer for drawing check boxes in wxPropertyGrid (Eran Ifrah).
|
- Use native renderer for drawing check boxes in wxPropertyGrid (Eran Ifrah).
|
||||||
- Fix drawing custom colours of wxEnumProperty items in wxPG (Artur Wieczorek).
|
- Fix drawing custom colours of wxEnumProperty items in wxPG (Artur Wieczorek).
|
||||||
|
- Add wxBitmap ctor from wxCursor.
|
||||||
|
|
||||||
wxGTK:
|
wxGTK:
|
||||||
|
|
||||||
|
@@ -15,6 +15,7 @@ typedef struct _cairo_surface cairo_surface_t;
|
|||||||
#endif
|
#endif
|
||||||
typedef struct _GdkPixbuf GdkPixbuf;
|
typedef struct _GdkPixbuf GdkPixbuf;
|
||||||
class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
|
class WXDLLIMPEXP_FWD_CORE wxPixelDataBase;
|
||||||
|
class WXDLLIMPEXP_FWD_CORE wxCursor;
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// wxMask
|
// wxMask
|
||||||
@@ -81,6 +82,7 @@ public:
|
|||||||
wxBitmap(const wxImage& image, int depth = wxBITMAP_SCREEN_DEPTH);
|
wxBitmap(const wxImage& image, int depth = wxBITMAP_SCREEN_DEPTH);
|
||||||
#endif // wxUSE_IMAGE
|
#endif // wxUSE_IMAGE
|
||||||
wxBitmap(GdkPixbuf* pixbuf, int depth = 0);
|
wxBitmap(GdkPixbuf* pixbuf, int depth = 0);
|
||||||
|
wxEXPLICIT wxBitmap(const wxCursor& cursor);
|
||||||
virtual ~wxBitmap();
|
virtual ~wxBitmap();
|
||||||
|
|
||||||
bool Create(int width, int height, int depth = wxBITMAP_SCREEN_DEPTH) wxOVERRIDE;
|
bool Create(int width, int height, int depth = wxBITMAP_SCREEN_DEPTH) wxOVERRIDE;
|
||||||
|
@@ -97,6 +97,12 @@ public:
|
|||||||
CopyFromIcon(icon, transp);
|
CopyFromIcon(icon, transp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Convert from wxCursor
|
||||||
|
wxEXPLICIT wxBitmap(const wxCursor& cursor)
|
||||||
|
{
|
||||||
|
(void)CopyFromCursor(cursor, wxBitmapTransparency_Auto);
|
||||||
|
}
|
||||||
|
|
||||||
wxBitmap& operator=(const wxIcon& icon)
|
wxBitmap& operator=(const wxIcon& icon)
|
||||||
{
|
{
|
||||||
(void)CopyFromIcon(icon);
|
(void)CopyFromIcon(icon);
|
||||||
|
@@ -346,6 +346,21 @@ public:
|
|||||||
*/
|
*/
|
||||||
wxBitmap(const wxImage& img, int depth = wxBITMAP_SCREEN_DEPTH);
|
wxBitmap(const wxImage& img, int depth = wxBITMAP_SCREEN_DEPTH);
|
||||||
|
|
||||||
|
/**
|
||||||
|
Creates bitmap corresponding to the given cursor.
|
||||||
|
|
||||||
|
This can be useful to display a cursor as it cannot be drawn directly
|
||||||
|
on a window.
|
||||||
|
|
||||||
|
This constructor only exists in wxMSW and wxGTK (where it is
|
||||||
|
implemented for GTK+ 2.8 or later) only.
|
||||||
|
|
||||||
|
@param cursor A valid wxCursor.
|
||||||
|
|
||||||
|
@since 3.1.0
|
||||||
|
*/
|
||||||
|
explicit wxBitmap(const wxCursor& cursor);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Destructor.
|
Destructor.
|
||||||
See @ref overview_refcount_destruct for more info.
|
See @ref overview_refcount_destruct for more info.
|
||||||
|
@@ -515,6 +515,19 @@ wxBitmap::wxBitmap(GdkPixmap* pixmap)
|
|||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
wxBitmap::wxBitmap(const wxCursor& cursor)
|
||||||
|
{
|
||||||
|
#if GTK_CHECK_VERSION(2,8,0)
|
||||||
|
if (gtk_check_version(2,8,0) == NULL)
|
||||||
|
{
|
||||||
|
GdkPixbuf *pixbuf = gdk_cursor_get_image(cursor.GetCursor());
|
||||||
|
*this = wxBitmap(pixbuf);
|
||||||
|
}
|
||||||
|
#else
|
||||||
|
wxUnusedVar(cursor);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
wxBitmap::~wxBitmap()
|
wxBitmap::~wxBitmap()
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user