]> git.saurik.com Git - wxWidgets.git/blobdiff - src/x11/dcclient.cpp
Added VC++ project files for remaining Gizmo samples
[wxWidgets.git] / src / x11 / dcclient.cpp
index 286375fa0e272b12f46140e9cd1320b200dcf9bf..aee60a0bfc5c50342e0f850564b5c3c6cceb6629 100644 (file)
@@ -255,6 +255,11 @@ void wxWindowDC::SetUpDC()
 
     XSetFillStyle( (Display*) m_display, (GC) m_textGC, FillSolid );
 
+#if wxUSE_NANOX
+    // By default, draw transparently
+    GrSetGCUseBackground((GC) m_textGC, FALSE);
+#endif
+
     /* m_penGC */
     m_pen.GetColour().CalcPixel( m_cmap );
     XSetForeground( (Display*) m_display, (GC) m_penGC, m_pen.GetColour().GetPixel() );
@@ -741,7 +746,7 @@ void wxWindowDC::DoDrawRectangle( wxCoord x, wxCoord y, wxCoord width, wxCoord h
         if (m_pen.GetStyle () != wxTRANSPARENT)
         {
             XDrawRectangle( (Display*) m_display, (Window) m_window,
-                (GC) m_penGC, xx, yy, ww, hh );
+                (GC) m_penGC, xx, yy, ww-1, hh-1 );
         }
     }
 
@@ -1245,16 +1250,18 @@ void wxWindowDC::DoDrawText( const wxString &text, wxCoord x, wxCoord y )
 #endif
 
     XSetFont( (Display*) m_display, (GC) m_textGC, xfont->fid );
+#if !wxUSE_NANOX
     if ((xfont->min_byte1 == 0) && (xfont->max_byte1 == 0))
-       {
+#endif
+    {
         XDrawString( (Display*) m_display, (Window) m_window, 
-            (GC) m_textGC, x, y + xfont->ascent, text.c_str(), text.Len() );
-       }
+            (GC) m_textGC, x, y + XFontStructGetAscent(xfont), text.c_str(), text.Len() );
+    }
 
 #if 0
     if (m_font.GetUnderlined())
     {
-        wxCoord ul_y = y + font->ascent;
+        wxCoord ul_y = y + XFontStructGetAscent(font);
         if (font->descent > 0) ul_y++;
         gdk_draw_line( m_window, m_textGC, x, ul_y, x + width, ul_y);
     }
@@ -1290,7 +1297,7 @@ void wxWindowDC::DoGetTextExtent( const wxString &string, wxCoord *width, wxCoor
     int direction, ascent, descent2;
     XCharStruct overall;
 
-    XTextExtents( xfont, string.c_str(), string.Len(), &direction,
+    XTextExtents( xfont, (char*) string.c_str(), string.Len(), &direction,
         &ascent, &descent2, &overall);
 
     if (width)
@@ -1712,6 +1719,10 @@ void wxWindowDC::SetBackgroundMode( int mode )
 
     m_backgroundMode = mode;
 
+#if wxUSE_NANOX
+    GrSetGCUseBackground((GC) m_textGC, mode == wxTRANSPARENT ? FALSE : TRUE);
+#endif
+
     if (!m_window) return;
 
     // CMB 21/7/98: fill style of cross-hatch brushes is affected by