]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/dcmemory.cpp
no message
[wxWidgets.git] / src / gtk / dcmemory.cpp
index 804ba3e3a382163af794e76ac6bfe92f81726ebd..84a6e144e70bfb92379361cd8c31a3c86a0b57f2 100644 (file)
@@ -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
 /////////////////////////////////////////////////////////////////////////////
 
 #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;
-  };
-};
+  }
+}