- int w,h;
-
- // Scale font description.
- gint oldSize = pango_font_description_get_size( m_fontdesc );
- double size = oldSize;
- size = size * m_scaleX;
- pango_font_description_set_size( m_fontdesc, (gint)size );
-
- // Actually apply scaled font.
- pango_layout_set_font_description( m_layout, m_fontdesc );
-
- pango_layout_get_pixel_size( m_layout, &w, &h );
-
- if ( m_backgroundMode == wxBRUSHSTYLE_SOLID )
- {
- unsigned char red = m_textBackgroundColour.Red();
- unsigned char blue = m_textBackgroundColour.Blue();
- unsigned char green = m_textBackgroundColour.Green();
- unsigned char alpha = m_textBackgroundColour.Alpha();
-
- double redPS = (double)(red) / 255.0;
- double bluePS = (double)(blue) / 255.0;
- double greenPS = (double)(green) / 255.0;
- double alphaPS = (double)(alpha) / 255.0;
-
- cairo_save(m_cairo);
- cairo_translate(m_cairo, xx, yy);
- cairo_set_source_rgba( m_cairo, redPS, greenPS, bluePS, alphaPS );
- cairo_rotate(m_cairo,angle*DEG2RAD);
- cairo_rectangle(m_cairo, 0, 0, w, h); // still in cairo units
- cairo_fill(m_cairo);
- cairo_restore(m_cairo);
- }
-