#include "wx/wxprec.h"
#include "wx/dcscreen.h"
+#include "wx/gtk/dcscreen.h"
-#ifndef WX_PRECOMP
- #include "wx/window.h"
-#endif
-
-#include <gdk/gdk.h>
-#include <gdk/gdkx.h>
#include <gtk/gtk.h>
-
+#include <gdk/gdkx.h>
//-----------------------------------------------------------------------------
-// wxScreenDC
+// wxScreenDCImpl
//-----------------------------------------------------------------------------
-#if wxUSE_NEW_DC
-IMPLEMENT_ABSTRACT_CLASS(wxGTKScreenImplDC, wxGTKWindowImplDC)
-#else
-IMPLEMENT_ABSTRACT_CLASS(wxScreenDC,wxWindowDC)
-#endif
+IMPLEMENT_ABSTRACT_CLASS(wxScreenDCImpl, wxWindowDCImpl)
-#if wxUSE_NEW_DC
-wxGTKScreenImplDC::wxGTKScreenImplDC( wxScreenDC *owner )
- : wxGTKWindowImplDC( owner )
-{
- Init();
-}
-
-#else
-wxScreenDC::wxScreenDC()
-{
- Init();
+wxScreenDCImpl::wxScreenDCImpl( wxScreenDC *owner )
+ : wxWindowDCImpl( owner )
+{
+ Init();
}
-#endif
-void wxGTKScreenImplDC::Init()
+void wxScreenDCImpl::Init()
{
m_ok = false;
m_cmap = gdk_colormap_get_system();
- m_window = gdk_get_default_root_window();
+ m_gdkwindow = gdk_get_default_root_window();
m_context = gdk_pango_context_get();
// Note: The Sun customised version of Pango shipping with Solaris 10
gdk_gc_set_subwindow( m_bgGC, GDK_INCLUDE_INFERIORS );
}
-wxGTKScreenImplDC::~wxGTKScreenImplDC()
+wxScreenDCImpl::~wxScreenDCImpl()
{
+ g_object_unref(m_context);
+
gdk_gc_set_subwindow( m_penGC, GDK_CLIP_BY_CHILDREN );
gdk_gc_set_subwindow( m_brushGC, GDK_CLIP_BY_CHILDREN );
gdk_gc_set_subwindow( m_textGC, GDK_CLIP_BY_CHILDREN );
gdk_gc_set_subwindow( m_bgGC, GDK_CLIP_BY_CHILDREN );
}
-void wxGTKScreenImplDC::DoGetSize(int *width, int *height) const
+void wxScreenDCImpl::DoGetSize(int *width, int *height) const
{
wxDisplaySize(width, height);
}