X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/c801d85f158c4cba50b588807daabdcbd0ed3853..520e470fdd0daef09c77938db642e4583933c90d:/src/gtk/dcmemory.cpp?ds=sidebyside diff --git a/src/gtk/dcmemory.cpp b/src/gtk/dcmemory.cpp index 804ba3e3a3..84a6e144e7 100644 --- a/src/gtk/dcmemory.cpp +++ b/src/gtk/dcmemory.cpp @@ -3,7 +3,7 @@ // Purpose: // Author: Robert Roebling // Created: 01/02/97 -// Id: +// RCS-ID: $Id$ // Copyright: (c) 1998 Robert Roebling, Julian Smart and Markus Holzem // Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// @@ -14,6 +14,10 @@ #include "wx/dcmemory.h" +#ifdef wxUSE_GDK_IMLIB +#include "../gdk_imlib/gdk_imlib.h" +#endif + //----------------------------------------------------------------------------- // wxMemoryDC //----------------------------------------------------------------------------- @@ -23,35 +27,55 @@ IMPLEMENT_DYNAMIC_CLASS(wxMemoryDC,wxPaintDC) wxMemoryDC::wxMemoryDC(void) { m_ok = FALSE; + +#ifdef wxUSE_GDK_IMLIB + m_cmap = gdk_imlib_get_colormap(); +#else m_cmap = gdk_colormap_get_system(); -}; +#endif +} wxMemoryDC::wxMemoryDC( wxDC *WXUNUSED(dc) ) { m_ok = FALSE; + +#ifdef wxUSE_GDK_IMLIB + m_cmap = gdk_imlib_get_colormap(); +#else m_cmap = gdk_colormap_get_system(); -}; +#endif +} wxMemoryDC::~wxMemoryDC(void) { -}; +} void wxMemoryDC::SelectObject( const wxBitmap& bitmap ) { m_selected = bitmap; if (m_selected.Ok()) { - m_window = m_selected.GetPixmap(); + if (m_selected.GetPixmap()) + { + m_window = m_selected.GetPixmap(); + } + else + { + m_window = m_selected.GetBitmap(); + } + SetUpDC(); + + m_isDrawable = FALSE; } else { m_ok = FALSE; - m_window = NULL; - }; -}; + m_window = (GdkWindow *) NULL; + } +} -void wxMemoryDC::GetSize( int *width, int *height ) +void wxMemoryDC::GetSize( int *width, int *height ) const { if (m_selected.Ok()) { @@ -62,7 +86,7 @@ void wxMemoryDC::GetSize( int *width, int *height ) { if (width) (*width) = 0; if (height) (*height) = 0; - }; -}; + } +}