]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/dcscreen.cpp
attempt to fix waiting for a thread in another non-main thread
[wxWidgets.git] / src / x11 / dcscreen.cpp
index 0efabc519cd3b1994659533bc135228460594fd8..58f24d50caddeee19c7efd21bdaab45dfeafed4a 100644 (file)
@@ -17,6 +17,8 @@
 #include "wx/frame.h"
 #include "wx/dcscreen.h"
 #include "wx/utils.h"
+#include "wx/app.h"
+#include "wx/fontutil.h"
 
 #include "wx/x11/private.h"
 
@@ -47,6 +49,11 @@ wxScreenDC::wxScreenDC()
 
     m_isScreenDC = TRUE;
 
+#if wxUSE_UNICODE
+    m_context = wxTheApp->GetPangoContext();
+    m_fontdesc = wxNORMAL_FONT->GetNativeFontInfo()->description;
+#endif
+
     SetUpDC();
 
     XSetSubwindowMode( (Display*) m_display, (GC) m_penGC, IncludeInferiors );
@@ -86,24 +93,23 @@ bool wxScreenDC::StartDrawingOnTop( wxWindow *window )
     return StartDrawingOnTop( &rect );
 }
 
-bool wxScreenDC::StartDrawingOnTop( wxRect *rect )
+bool wxScreenDC::StartDrawingOnTop( wxRect *rectIn )
 {
-    int x = 0;
-    int y = 0;
+    // VZ: should we do the same thing that wxMotif wxScreenDC does here?
 #if 0
-    int width = gdk_screen_width();
-    int height = gdk_screen_height();
-#else
-    int width = 1024;
-    int height = 768;
-#endif
-    if (rect)
+    wxRect rect;
+    if ( rectIn )
+    {
+        rect = *rectIn;
+    }
+    else
     {
-        x = rect->x;
-        y = rect->y;
-        width = rect->width;
-        height = rect->height;
+        rect.x =
+        rect.y = 0;
+
+        DoGetSize(&rect.width, &rect.height);
     }
+#endif // 0
 
     return TRUE;
 }