// 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
//-----------------------------------------------------------------------------
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())
{
{
if (width) (*width) = 0;
if (height) (*height) = 0;
- };
-};
+ }
+}