]>
git.saurik.com Git - wxWidgets.git/blob - src/gtk/dcscreen.cpp
1 /////////////////////////////////////////////////////////////////////////////
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/window.h"
20 //-----------------------------------------------------------------------------
21 // global data initialization
22 //-----------------------------------------------------------------------------
24 GdkWindow
*wxScreenDC::sm_overlayWindow
= (GdkWindow
*) NULL
;
25 int wxScreenDC::sm_overlayWindowX
= 0;
26 int wxScreenDC::sm_overlayWindowY
= 0;
28 //-----------------------------------------------------------------------------
30 //-----------------------------------------------------------------------------
32 IMPLEMENT_DYNAMIC_CLASS(wxScreenDC
,wxPaintDC
)
34 wxScreenDC::wxScreenDC()
37 m_cmap
= gdk_colormap_get_system();
38 m_window
= gdk_get_default_root_window();
40 m_context
= gdk_pango_context_get();
41 // Note: The Sun customised version of Pango shipping with Solaris 10
42 // crashes if the language is left NULL (see bug 1374114)
43 pango_context_set_language( m_context
, gtk_get_default_language() );
44 m_layout
= pango_layout_new( m_context
);
45 // m_fontdesc = pango_font_description_copy( widget->style->font_desc );
51 gdk_gc_set_subwindow( m_penGC
, GDK_INCLUDE_INFERIORS
);
52 gdk_gc_set_subwindow( m_brushGC
, GDK_INCLUDE_INFERIORS
);
53 gdk_gc_set_subwindow( m_textGC
, GDK_INCLUDE_INFERIORS
);
54 gdk_gc_set_subwindow( m_bgGC
, GDK_INCLUDE_INFERIORS
);
57 wxScreenDC::~wxScreenDC()
59 gdk_gc_set_subwindow( m_penGC
, GDK_CLIP_BY_CHILDREN
);
60 gdk_gc_set_subwindow( m_brushGC
, GDK_CLIP_BY_CHILDREN
);
61 gdk_gc_set_subwindow( m_textGC
, GDK_CLIP_BY_CHILDREN
);
62 gdk_gc_set_subwindow( m_bgGC
, GDK_CLIP_BY_CHILDREN
);
67 bool wxScreenDC::StartDrawingOnTop( wxWindow
* )
72 bool wxScreenDC::StartDrawingOnTop( wxRect
* )
77 bool wxScreenDC::EndDrawingOnTop()
82 void wxScreenDC::DoGetSize(int *width
, int *height
) const
84 wxDisplaySize(width
, height
);