]>
git.saurik.com Git - wxWidgets.git/blob - src/gtk/dcscreen.cpp
1 /////////////////////////////////////////////////////////////////////////////
2 // Name: src/gtk/dcscreen.cpp
4 // Author: Robert Roebling
6 // Copyright: (c) 1998 Robert Roebling
7 // Licence: wxWindows licence
8 /////////////////////////////////////////////////////////////////////////////
10 // For compilers that support precompilation, includes "wx.h".
11 #include "wx/wxprec.h"
13 #include "wx/dcscreen.h"
14 #include "wx/gtk/dcscreen.h"
19 //-----------------------------------------------------------------------------
21 //-----------------------------------------------------------------------------
23 IMPLEMENT_ABSTRACT_CLASS(wxScreenDCImpl
, wxWindowDCImpl
)
25 wxScreenDCImpl::wxScreenDCImpl( wxScreenDC
*owner
)
26 : wxWindowDCImpl( owner
)
31 void wxScreenDCImpl::Init()
34 m_cmap
= gdk_colormap_get_system();
35 m_gdkwindow
= gdk_get_default_root_window();
37 m_context
= gdk_pango_context_get();
38 // Note: The Sun customised version of Pango shipping with Solaris 10
39 // crashes if the language is left NULL (see bug 1374114)
40 pango_context_set_language( m_context
, gtk_get_default_language() );
41 m_layout
= pango_layout_new( m_context
);
42 // m_fontdesc = pango_font_description_copy( widget->style->font_desc );
48 gdk_gc_set_subwindow( m_penGC
, GDK_INCLUDE_INFERIORS
);
49 gdk_gc_set_subwindow( m_brushGC
, GDK_INCLUDE_INFERIORS
);
50 gdk_gc_set_subwindow( m_textGC
, GDK_INCLUDE_INFERIORS
);
51 gdk_gc_set_subwindow( m_bgGC
, GDK_INCLUDE_INFERIORS
);
54 wxScreenDCImpl::~wxScreenDCImpl()
56 g_object_unref(m_context
);
58 gdk_gc_set_subwindow( m_penGC
, GDK_CLIP_BY_CHILDREN
);
59 gdk_gc_set_subwindow( m_brushGC
, GDK_CLIP_BY_CHILDREN
);
60 gdk_gc_set_subwindow( m_textGC
, GDK_CLIP_BY_CHILDREN
);
61 gdk_gc_set_subwindow( m_bgGC
, GDK_CLIP_BY_CHILDREN
);
64 void wxScreenDCImpl::DoGetSize(int *width
, int *height
) const
66 wxDisplaySize(width
, height
);