- return Create(bits, wxBITMAP_TYPE_XPM_DATA, 0, 0, 0);
+ GC gc = XCreateGC( xdisplay, copy, 0, NULL );
+ XCopyArea( xdisplay, xpixmap, copy, gc, 0, 0, width, height, 0, 0 );
+ XFreeGC( xdisplay, gc );
+
+ // fill in ref data
+ wxBitmapRefData* ref = new wxBitmapRefData();
+
+ if( depth == 1 )
+ ref->m_bitmap = (WXPixmap)copy;
+ else
+ ref->m_pixmap = (WXPixmap)copy;
+
+ ref->m_display = (WXDisplay*)xdisplay;
+ ref->m_width = width;
+ ref->m_height = height;
+ ref->m_bpp = depth;
+
+ m_refData = ref;
+
+ return true;
+}
+
+wxBitmap::wxBitmap(const char* const* bits)
+{
+ Create(bits, wxBITMAP_TYPE_XPM_DATA, 0, 0, 0);