m_isMemDC = FALSE;
SetUpDC();
+
+ wxRegion update = window->GetUpdateRegion();
+ if (update == wxNullRegion) return;
+
+ gdk_gc_set_clip_region( m_penGC, update.GetRegion() );
+ gdk_gc_set_clip_region( m_brushGC, update.GetRegion() );
+ gdk_gc_set_clip_region( m_textGC, update.GetRegion() );
+ gdk_gc_set_clip_region( m_bgGC, update.GetRegion() );
}
wxPaintDC::~wxPaintDC(void)
m_backgroundBrush.GetColour().CalcPixel( m_cmap );
gdk_gc_set_background( m_brushGC, m_backgroundBrush.GetColour().GetColor() );
+ gdk_gc_set_background( m_penGC, m_backgroundBrush.GetColour().GetColor() );
gdk_gc_set_background( m_bgGC, m_backgroundBrush.GetColour().GetColor() );
gdk_gc_set_foreground( m_bgGC, m_backgroundBrush.GetColour().GetColor() );
m_brushGC = gdk_gc_new( m_window );
m_textGC = gdk_gc_new( m_window );
m_bgGC = gdk_gc_new( m_window );
- SetTextForeground( m_textForegroundColour );
- SetTextBackground( m_textBackgroundColour );
+
+ wxColour tmp_col( m_textForegroundColour );
+ m_textForegroundColour = wxNullColour;
+ SetTextForeground( tmp_col );
+ tmp_col = m_textBackgroundColour;
+ m_textBackgroundColour = wxNullColour;
+ SetTextBackground( tmp_col );
wxPen tmp_pen( m_pen );
m_pen = wxNullPen;
m_backgroundBrush = wxNullBrush;
SetBackground( tmp_brush );
- gdk_gc_set_background( m_penGC, wxWHITE->GetColor() );
-
if (!hatch_bitmap)
{
hatch_bitmap = hatches;