]> git.saurik.com Git - wxWidgets.git/blobdiff - src/gtk/gnome/gprint.cpp
new file added
[wxWidgets.git] / src / gtk / gnome / gprint.cpp
index 59023144174fd76209ae3aba8cbf2217019e2266..b3800c1dd5b645826c17d6b876474c35db04be8d 100644 (file)
@@ -609,7 +609,9 @@ int wxGnomePrintDialog::ShowModal()
     m_printDialogData.SetNoCopies( copies );
     m_printDialogData.SetCollate( collate );
 
-    switch (gs_libGnomePrint->gnome_print_dialog_get_range( (GnomePrintDialog*) m_widget ))
+    // Cast needed to avoid warnings because the gnome_print_dialog_get_range()
+    // is declared as returning a wrong enum type.
+    switch ( static_cast<int>( gs_libGnomePrint->gnome_print_dialog_get_range( (GnomePrintDialog*) m_widget )))
     {
         case GNOME_PRINT_RANGE_SELECTION:
             m_printDialogData.SetSelection( true );
@@ -1592,23 +1594,10 @@ void wxGnomePrinterDCImpl::DoDrawRotatedText(const wxString& text, wxCoord x, wx
     double xx = XLOG2DEV(x);
     double yy = YLOG2DEV(y);
 
-    bool underlined = m_font.IsOk() && m_font.GetUnderlined();
-
     const wxScopedCharBuffer data(text.utf8_str());
 
-    size_t datalen = strlen(data);
-    pango_layout_set_text( m_layout, data, datalen);
-
-    if (underlined)
-    {
-        PangoAttrList *attrs = pango_attr_list_new();
-        PangoAttribute *a = pango_attr_underline_new(PANGO_UNDERLINE_SINGLE);
-        a->start_index = 0;
-        a->end_index = datalen;
-        pango_attr_list_insert(attrs, a);
-        pango_layout_set_attributes(m_layout, attrs);
-        pango_attr_list_unref(attrs);
-    }
+    pango_layout_set_text(m_layout, data, data.length());
+    const bool setAttrs = m_font.GTKSetPangoAttrs(m_layout);
 
     if (m_textForegroundColour.IsOk())
     {
@@ -1656,7 +1645,7 @@ void wxGnomePrinterDCImpl::DoDrawRotatedText(const wxString& text, wxCoord x, wx
 
     gs_libGnomePrint->gnome_print_grestore( m_gpc );
 
-    if (underlined)
+    if (setAttrs)
     {
         // undo underline attributes setting:
         pango_layout_set_attributes(m_layout, NULL);