+#else
+ wxMemoryDC *dc = m_owner->GetDC();
+
+ if ((clip_x == xabs + m_area.x) &&
+ (clip_y == yabs + m_area.y) &&
+ (clip_width == m_area.width) &&
+ (clip_height == m_area.height))
+ {
+ dc->DrawBitmap( m_tmp, clip_x-buffer_x, clip_y-buffer_y, TRUE );
+ }
+ else
+ {
+ // local coordinates
+ int start_x = clip_x - (xabs + m_area.x);
+ int start_y = clip_y - (yabs + m_area.y);
+
+ // Clipping region faster ?
+ wxRect rect( start_x, start_y, clip_width, clip_height );
+ wxBitmap sub_bitmap( m_tmp.GetSubBitmap( rect ) );
+ dc->DrawBitmap( sub_bitmap, clip_x-buffer_x, clip_y-buffer_y, TRUE );
+ }
+#endif