diff --git a/include/wx/gtk/dcmemory.h b/include/wx/gtk/dcmemory.h index 0dbded2feb..a8d6434ad3 100644 --- a/include/wx/gtk/dcmemory.h +++ b/include/wx/gtk/dcmemory.h @@ -47,6 +47,8 @@ public: protected: void DoGetSize( int *width, int *height ) const; + virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const + { return subrect == NULL ? GetSelectedBitmap() : GetSelectedBitmap().GetSubBitmap(*subrect); } DECLARE_DYNAMIC_CLASS(wxMemoryDC) }; diff --git a/include/wx/mac/carbon/dcmemory.h b/include/wx/mac/carbon/dcmemory.h index cc6d459e54..58a26fee28 100644 --- a/include/wx/mac/carbon/dcmemory.h +++ b/include/wx/mac/carbon/dcmemory.h @@ -23,11 +23,15 @@ class WXDLLEXPORT wxMemoryDC: public wxPaintDC wxMemoryDC( wxDC *dc ); // Create compatible DC virtual ~wxMemoryDC(void); virtual void SelectObject( const wxBitmap& bitmap ); - wxBitmap GetSelectedBitmap() { return m_selected ; } + const wxBitmap& GetSelectedBitmap() const { return m_selected; } + wxBitmap GetSelectedBitmap() { return m_selected; } + wxBitmap GetSelectedObject() { return GetSelectedBitmap() ; } protected: virtual void DoGetSize( int *width, int *height ) const; + virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const + { return subrect == NULL ? GetSelectedBitmap() : GetSelectedBitmap().GetSubBitmap(*subrect); } private: wxBitmap m_selected; diff --git a/include/wx/msw/dc.h b/include/wx/msw/dc.h index 895aa8c50c..0ab2cc622e 100644 --- a/include/wx/msw/dc.h +++ b/include/wx/msw/dc.h @@ -232,6 +232,8 @@ protected: virtual void DoDrawPolyPolygon(int n, int count[], wxPoint points[], wxCoord xoffset, wxCoord yoffset, int fillStyle = wxODDEVEN_RULE); + virtual wxBitmap DoGetAsBitmap(const wxRect *subrect) const + { return subrect == NULL ? GetSelectedBitmap() : GetSelectedBitmap().GetSubBitmap(*subrect); } #if wxUSE_PALETTE