#endif
#include "wx/fontutil.h"
-#include "wx/gtk/private.h"
#include "wx/dynlib.h"
#include "wx/paper.h"
angle = -angle;
- 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())
{
unsigned char red = m_textForegroundColour.Red();
cairo_restore( m_cairo );
- if (underlined)
+ if (setAttrs)
{
// Undo underline attributes setting
pango_layout_set_attributes(m_layout, NULL);
{
// scale the font and apply it
PangoFontDescription *desc = theFont->GetNativeFontInfo()->description;
- float size = pango_font_description_get_size(desc);
- size = size * GetFontPointSizeAdjustment(72.0);
+ oldSize = pango_font_description_get_size(desc);
+ const float size = oldSize * GetFontPointSizeAdjustment(72.0);
pango_font_description_set_size(desc, (gint)size);
pango_layout_set_font_description(m_layout, desc);