X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/e838cc14684f8dfd4ede39e4649e04a5bd79d149..3d2b9c202d215ec220a7b2d62b28768ec7f40e44:/src/motif/bitmap.cpp

diff --git a/src/motif/bitmap.cpp b/src/motif/bitmap.cpp
index 077f20cd3b..76aa578d77 100644
--- a/src/motif/bitmap.cpp
+++ b/src/motif/bitmap.cpp
@@ -108,6 +108,8 @@ wxBitmapRefData::~wxBitmapRefData()
 
 wxList wxBitmap::sm_handlers;
 
+#define M_BMPDATA ((wxBitmapRefData *)m_refData)
+
 wxBitmap::wxBitmap()
 {
     m_refData = NULL;
@@ -308,6 +310,20 @@ void wxBitmap::SetMask(wxMask *mask)
     M_BITMAPDATA->m_bitmapMask = mask ;
 }
 
+wxBitmap wxBitmap::GetSubBitmap( const wxRect& rect) const
+{
+    wxCHECK_MSG( Ok() &&
+                 (rect.x >= 0) && (rect.y >= 0) &&
+                 (rect.x+rect.width <= M_BMPDATA->m_width) && (rect.y+rect.height <= M_BMPDATA->m_height),
+                 wxNullBitmap, wxT("invalid bitmap or bitmap region") );
+
+    wxBitmap ret( rect.width, rect.height, 0 );
+    wxASSERT_MSG( ret.Ok(), wxT("GetSubBitmap error") );
+
+   // The remaining still TODO
+   return ret;
+}
+
 void wxBitmap::AddHandler(wxBitmapHandler *handler)
 {
     sm_handlers.Append(handler);