]> git.saurik.com Git - wxWidgets.git/commitdiff
Start for Pango 1.6 based text rotation.
authorRobert Roebling <robert@roebling.de>
Wed, 17 Nov 2004 21:57:16 +0000 (21:57 +0000)
committerRobert Roebling <robert@roebling.de>
Wed, 17 Nov 2004 21:57:16 +0000 (21:57 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@30595 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

src/gtk/dcclient.cpp
src/gtk1/dcclient.cpp

index 537499b4ddd8644aecab33f808f85ed374c39759..e295215def3b0cea5cdb9d3702e03184ac562a07 100644 (file)
@@ -1614,6 +1614,22 @@ void wxWindowDC::DoDrawRotatedText( const wxString &text, wxCoord x, wxCoord y,
 
     if (!m_window) return;
 
+#if GTK_CHECK_VERSION(2,4,0)
+
+    // This code only rotates each individual glyph. Someone
+    // will have to look up the right way to do this... RR
+
+    PangoMatrix matrix = PANGO_MATRIX_INIT;
+    pango_matrix_rotate( &matrix, angle );
+    
+    pango_context_set_matrix( m_context, &matrix );
+    
+    DoDrawText( text, x, y );
+    
+    pango_context_set_matrix( m_context, NULL );
+
+#else
+
     wxCoord w;
     wxCoord h;
 
@@ -1720,6 +1736,7 @@ void wxWindowDC::DoDrawRotatedText( const wxString &text, wxCoord x, wxCoord y,
     // update the bounding box
     CalcBoundingBox(x + minX, y + minY);
     CalcBoundingBox(x + maxX, y + maxY);
+#endif // GTK24
 }
 
 void wxWindowDC::DoGetTextExtent(const wxString &string,
index 537499b4ddd8644aecab33f808f85ed374c39759..e295215def3b0cea5cdb9d3702e03184ac562a07 100644 (file)
@@ -1614,6 +1614,22 @@ void wxWindowDC::DoDrawRotatedText( const wxString &text, wxCoord x, wxCoord y,
 
     if (!m_window) return;
 
+#if GTK_CHECK_VERSION(2,4,0)
+
+    // This code only rotates each individual glyph. Someone
+    // will have to look up the right way to do this... RR
+
+    PangoMatrix matrix = PANGO_MATRIX_INIT;
+    pango_matrix_rotate( &matrix, angle );
+    
+    pango_context_set_matrix( m_context, &matrix );
+    
+    DoDrawText( text, x, y );
+    
+    pango_context_set_matrix( m_context, NULL );
+
+#else
+
     wxCoord w;
     wxCoord h;
 
@@ -1720,6 +1736,7 @@ void wxWindowDC::DoDrawRotatedText( const wxString &text, wxCoord x, wxCoord y,
     // update the bounding box
     CalcBoundingBox(x + minX, y + minY);
     CalcBoundingBox(x + maxX, y + maxY);
+#endif // GTK24
 }
 
 void wxWindowDC::DoGetTextExtent(const wxString &string,