void wxMemoryDCImpl::DoSelect( const wxBitmap& bitmap ) { m_bitmap = bitmap; if (m_gc) XFreeGC((Display*) m_display, (GC) m_gc); m_gc = (WXGC) NULL; if (m_bitmap.Ok() && (bitmap.GetDisplay() == m_display)) { m_pixmap = m_bitmap.GetDrawable(); Display* display = (Display*) m_display; XGCValues gcvalues; gcvalues.foreground = BlackPixel (display, DefaultScreen (display)); gcvalues.background = WhitePixel (display, DefaultScreen (display)); gcvalues.graphics_exposures = False; gcvalues.subwindow_mode = IncludeInferiors; gcvalues.line_width = 1; m_gc = (WXGC) XCreateGC (display, (Drawable)m_pixmap/* RootWindow (display, DefaultScreen (display)) */, GCForeground | GCBackground | GCGraphicsExposures | GCLineWidth | GCSubwindowMode, &gcvalues); m_backgroundPixel = gcvalues.background; m_ok = true; SetBrush (* wxWHITE_BRUSH); SetPen (* wxBLACK_PEN); } else { m_ok = false; m_pixmap = (WXPixmap) 0; }; }