diff options
author | Caolán McNamara <caolanm@redhat.com> | 2016-02-08 15:59:22 +0000 |
---|---|---|
committer | Caolán McNamara <caolanm@redhat.com> | 2016-02-09 09:49:53 +0000 |
commit | 1570fc17291b97b053f5507184dd661563348f04 (patch) | |
tree | 36af0cbbb58bd9d6ccee894be145eccd453e0ce5 | |
parent | ac0773fac537615ce379a397e116be44256a48ae (diff) |
gtk3: endless trudge as gtk changes theming yet again
start by silencing the warnings
Change-Id: I2aa430e712e189a856a10c9d2284ef54dcfcb7d9
-rw-r--r-- | vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx | 290 |
1 files changed, 150 insertions, 140 deletions
diff --git a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx index 69c8a778a3d9..41a956b3c658 100644 --- a/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx +++ b/vcl/unx/gtk3/gtk3salnativewidgets-gtk.cxx @@ -125,8 +125,8 @@ Rectangle GtkSalGraphics::NWGetSpinButtonRect( ControlPart nPart, Rectangle aAre gint icon_size = std::max(w, h); GtkBorder padding, border; - gtk_style_context_get_padding(mpSpinStyle, GTK_STATE_FLAG_NORMAL, &padding); - gtk_style_context_get_border(mpSpinStyle, GTK_STATE_FLAG_NORMAL, &border); + gtk_style_context_get_padding(mpSpinStyle, gtk_style_context_get_state(mpSpinStyle), &padding); + gtk_style_context_get_border(mpSpinStyle, gtk_style_context_get_state(mpSpinStyle), &border); gint buttonWidth = icon_size + padding.left + padding.right + border.left + border.right; @@ -579,8 +579,8 @@ void GtkSalGraphics::PaintOneSpinButton( GtkStyleContext *context, gtk_style_context_set_state(context, stateFlags); gtk_style_context_add_class(context, GTK_STYLE_CLASS_BUTTON); - gtk_style_context_get_padding(context, GTK_STATE_FLAG_NORMAL, &padding); - gtk_style_context_get_border(context, GTK_STATE_FLAG_NORMAL, &border); + gtk_style_context_get_padding(context, gtk_style_context_get_state(context), &padding); + gtk_style_context_get_border(context, gtk_style_context_get_state(context), &border); gtk_render_background(context, cr, buttonRect.Left(), buttonRect.Top(), @@ -670,14 +670,12 @@ Rectangle GtkSalGraphics::NWGetComboBoxButtonRect( ControlType nType, (void)nType; (void)nPart; Rectangle aButtonRect; - gint nArrowWidth; - gint nButtonWidth; - GtkBorder padding; - gtk_style_context_get_padding( mpButtonStyle, GTK_STATE_FLAG_NORMAL, &padding); + GtkBorder padding; + gtk_style_context_get_padding( mpButtonStyle, gtk_style_context_get_state(mpButtonStyle), &padding); - nArrowWidth = ARROW_SIZE; - nButtonWidth = nArrowWidth + padding.left + padding.right; + gint nArrowWidth = ARROW_SIZE; + gint nButtonWidth = nArrowWidth + padding.left + padding.right; if( nPart == PART_BUTTON_DOWN ) { Point aPos = Point(aAreaRect.Left() + aAreaRect.GetWidth() - nButtonWidth, aAreaRect.Top()); @@ -1198,7 +1196,7 @@ bool GtkSalGraphics::drawNativeControl( ControlType nType, ControlPart nPart, co if (nProgressWidth) { GtkBorder padding; - gtk_style_context_get_padding(context, GTK_STATE_FLAG_NORMAL, &padding); + gtk_style_context_get_padding(context, gtk_style_context_get_state(context), &padding); gtk_style_context_remove_class(context, GTK_STYLE_CLASS_TROUGH); gtk_style_context_add_class(context, GTK_STYLE_CLASS_PROGRESSBAR); @@ -1236,13 +1234,11 @@ Rectangle GetWidgetSize(const Rectangle& rControlRegion, GtkWidget* widget) Rectangle AdjustRectForTextBordersPadding(GtkStyleContext* pStyle, long nContentWidth, long nContentHeight, const Rectangle& rControlRegion) { - gtk_style_context_save(pStyle); - GtkBorder border; - gtk_style_context_get_border(pStyle, GTK_STATE_FLAG_NORMAL, &border); + gtk_style_context_get_border(pStyle, gtk_style_context_get_state(pStyle), &border); GtkBorder padding; - gtk_style_context_get_padding(pStyle, GTK_STATE_FLAG_NORMAL, &padding); + gtk_style_context_get_padding(pStyle, gtk_style_context_get_state(pStyle), &padding); gint nWidgetHeight = nContentHeight + padding.top + padding.bottom + border.top + border.bottom; nWidgetHeight = std::max<gint>(nWidgetHeight, rControlRegion.GetHeight()); @@ -1252,8 +1248,6 @@ Rectangle AdjustRectForTextBordersPadding(GtkStyleContext* pStyle, long nContent Rectangle aEditRect(rControlRegion.TopLeft(), Size(nWidgetWidth, nWidgetHeight)); - gtk_style_context_restore(pStyle); - return aEditRect; } @@ -1276,10 +1270,10 @@ bool GtkSalGraphics::getNativeControlRegion( ControlType nType, ControlPart nPar nullptr ); GtkBorder border; - gtk_style_context_get_border(mpCheckButtonStyle, GTK_STATE_FLAG_NORMAL, &border); + gtk_style_context_get_border(mpCheckButtonStyle, gtk_style_context_get_state(mpCheckButtonStyle), &border); GtkBorder padding; - gtk_style_context_get_padding(mpCheckButtonStyle, GTK_STATE_FLAG_NORMAL, &padding); + gtk_style_context_get_padding(mpCheckButtonStyle, gtk_style_context_get_state(mpCheckButtonStyle), &padding); indicator_size += 2*indicator_spacing + border.left + padding.left + border.right + padding.right; @@ -1407,11 +1401,12 @@ bool GtkSalGraphics::getNativeControlRegion( ControlType nType, ControlPart nPar gtk_style_context_save(mpFrameInStyle); gtk_style_context_add_class(mpFrameInStyle, GTK_STYLE_CLASS_FRAME); + GtkBorder padding; - gtk_style_context_get_padding(mpFrameInStyle, GTK_STATE_FLAG_NORMAL, &padding); + gtk_style_context_get_padding(mpFrameInStyle, gtk_style_context_get_state(mpFrameInStyle), &padding); GtkBorder border; - gtk_style_context_get_border(mpFrameInStyle, GTK_STATE_FLAG_NORMAL, &border); + gtk_style_context_get_border(mpFrameInStyle, gtk_style_context_get_state(mpFrameInStyle), &border); int x1 = aEditRect.Left(); int y1 = aEditRect.Top(); @@ -1425,6 +1420,7 @@ bool GtkSalGraphics::getNativeControlRegion( ControlType nType, ControlPart nPar y2 - (padding.bottom + border.bottom)); gtk_style_context_restore(mpFrameInStyle); + return true; } else @@ -1462,7 +1458,8 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) // text colors GdkRGBA text_color; - gtk_style_context_get_color(pStyle, GTK_STATE_FLAG_NORMAL, &text_color); + gtk_style_context_set_state(pStyle, GTK_STATE_FLAG_NORMAL); + gtk_style_context_get_color(pStyle, gtk_style_context_get_state(pStyle), &text_color); ::Color aTextColor = getColor( text_color ); aStyleSet.SetDialogTextColor( aTextColor ); aStyleSet.SetButtonTextColor( aTextColor ); @@ -1473,15 +1470,9 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) aStyleSet.SetWindowTextColor( aTextColor ); aStyleSet.SetFieldTextColor( aTextColor ); - // mouse over text colors - gtk_style_context_get_color(pStyle, GTK_STATE_FLAG_PRELIGHT, &text_color); - aTextColor = getColor( text_color ); - aStyleSet.SetButtonRolloverTextColor( aTextColor ); - aStyleSet.SetFieldRolloverTextColor( aTextColor ); - // background colors GdkRGBA background_color; - gtk_style_context_get_background_color(pStyle, GTK_STATE_FLAG_NORMAL, &background_color); + gtk_style_context_get_background_color(pStyle, gtk_style_context_get_state(pStyle), &background_color); ::Color aBackColor = getColor( background_color ); aStyleSet.Set3DColors( aBackColor ); @@ -1490,6 +1481,106 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) aStyleSet.SetWorkspaceColor( aBackColor ); aStyleSet.SetCheckedColorSpecialCase( ); + // UI font + const PangoFontDescription* font = gtk_style_context_get_font(pStyle, gtk_style_context_get_state(pStyle)); + OString aFamily = pango_font_description_get_family( font ); + int nPangoHeight = pango_font_description_get_size( font ); + PangoStyle eStyle = pango_font_description_get_style( font ); + PangoWeight eWeight = pango_font_description_get_weight( font ); + PangoStretch eStretch = pango_font_description_get_stretch( font ); + + psp::FastPrintFontInfo aInfo; + // set family name + aInfo.m_aFamilyName = OStringToOUString( aFamily, RTL_TEXTENCODING_UTF8 ); + // set italic + switch( eStyle ) + { + case PANGO_STYLE_NORMAL: aInfo.m_eItalic = ITALIC_NONE;break; + case PANGO_STYLE_ITALIC: aInfo.m_eItalic = ITALIC_NORMAL;break; + case PANGO_STYLE_OBLIQUE: aInfo.m_eItalic = ITALIC_OBLIQUE;break; + } + // set weight + if( eWeight <= PANGO_WEIGHT_ULTRALIGHT ) + aInfo.m_eWeight = WEIGHT_ULTRALIGHT; + else if( eWeight <= PANGO_WEIGHT_LIGHT ) + aInfo.m_eWeight = WEIGHT_LIGHT; + else if( eWeight <= PANGO_WEIGHT_NORMAL ) + aInfo.m_eWeight = WEIGHT_NORMAL; + else if( eWeight <= PANGO_WEIGHT_BOLD ) + aInfo.m_eWeight = WEIGHT_BOLD; + else + aInfo.m_eWeight = WEIGHT_ULTRABOLD; + // set width + switch( eStretch ) + { + case PANGO_STRETCH_ULTRA_CONDENSED: aInfo.m_eWidth = WIDTH_ULTRA_CONDENSED;break; + case PANGO_STRETCH_EXTRA_CONDENSED: aInfo.m_eWidth = WIDTH_EXTRA_CONDENSED;break; + case PANGO_STRETCH_CONDENSED: aInfo.m_eWidth = WIDTH_CONDENSED;break; + case PANGO_STRETCH_SEMI_CONDENSED: aInfo.m_eWidth = WIDTH_SEMI_CONDENSED;break; + case PANGO_STRETCH_NORMAL: aInfo.m_eWidth = WIDTH_NORMAL;break; + case PANGO_STRETCH_SEMI_EXPANDED: aInfo.m_eWidth = WIDTH_SEMI_EXPANDED;break; + case PANGO_STRETCH_EXPANDED: aInfo.m_eWidth = WIDTH_EXPANDED;break; + case PANGO_STRETCH_EXTRA_EXPANDED: aInfo.m_eWidth = WIDTH_EXTRA_EXPANDED;break; + case PANGO_STRETCH_ULTRA_EXPANDED: aInfo.m_eWidth = WIDTH_ULTRA_EXPANDED;break; + } + +#if OSL_DEBUG_LEVEL > 1 + fprintf( stderr, "font name BEFORE system match: \"%s\"\n", aFamily.getStr() ); +#endif + + // match font to e.g. resolve "Sans" + psp::PrintFontManager::get().matchFont( aInfo, rSettings.GetUILanguageTag().getLocale() ); + +#if OSL_DEBUG_LEVEL > 1 + fprintf( stderr, "font match %s, name AFTER: \"%s\"\n", + aInfo.m_nID != 0 ? "succeeded" : "failed", + OUStringToOString( aInfo.m_aFamilyName, RTL_TEXTENCODING_ISO_8859_1 ).getStr() ); +#endif + + int nPointHeight = 0; + /*sal_Int32 nDispDPIY = GetDisplay()->GetResolution().B(); + static gboolean(*pAbso)(const PangoFontDescription*) = + (gboolean(*)(const PangoFontDescription*))osl_getAsciiFunctionSymbol( GetSalData()->m_pPlugin, "pango_font_description_get_size_is_absolute" ); + + if( pAbso && pAbso( font ) ) + nPointHeight = (nPangoHeight * 72 + nDispDPIY*PANGO_SCALE/2) / (nDispDPIY * PANGO_SCALE); + else*/ + nPointHeight = nPangoHeight/PANGO_SCALE; + + vcl::Font aFont( aInfo.m_aFamilyName, Size( 0, nPointHeight ) ); + if( aInfo.m_eWeight != WEIGHT_DONTKNOW ) + aFont.SetWeight( aInfo.m_eWeight ); + if( aInfo.m_eWidth != WIDTH_DONTKNOW ) + aFont.SetWidthType( aInfo.m_eWidth ); + if( aInfo.m_eItalic != ITALIC_DONTKNOW ) + aFont.SetItalic( aInfo.m_eItalic ); + if( aInfo.m_ePitch != PITCH_DONTKNOW ) + aFont.SetPitch( aInfo.m_ePitch ); + + aStyleSet.SetAppFont( aFont ); + aStyleSet.SetHelpFont( aFont ); + aStyleSet.SetMenuFont( aFont ); + aStyleSet.SetToolFont( aFont ); + aStyleSet.SetLabelFont( aFont ); + aStyleSet.SetInfoFont( aFont ); + aStyleSet.SetRadioCheckFont( aFont ); + aStyleSet.SetPushButtonFont( aFont ); + aStyleSet.SetFieldFont( aFont ); + aStyleSet.SetIconFont( aFont ); + aStyleSet.SetGroupFont( aFont ); + + aFont.SetWeight( WEIGHT_BOLD ); + aStyleSet.SetTabFont( aFont ); //pull from notebook style + GTK_STYLE_REGION_TAB ? + aStyleSet.SetTitleFont( aFont ); + aStyleSet.SetFloatTitleFont( aFont ); + + // mouse over text colors + gtk_style_context_set_state(pStyle, GTK_STATE_FLAG_PRELIGHT); + gtk_style_context_get_color(pStyle, gtk_style_context_get_state(pStyle), &text_color); + aTextColor = getColor( text_color ); + aStyleSet.SetButtonRolloverTextColor( aTextColor ); + aStyleSet.SetFieldRolloverTextColor( aTextColor ); + // tooltip colors { GtkStyleContext *pCStyle = gtk_style_context_new(); @@ -1506,8 +1597,9 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) gtk_widget_path_free(pCPath); GdkRGBA tooltip_bg_color, tooltip_fg_color; - gtk_style_context_get_color(pCStyle, GTK_STATE_FLAG_NORMAL, &tooltip_fg_color); - gtk_style_context_get_background_color(pCStyle, GTK_STATE_FLAG_NORMAL, &tooltip_bg_color); + gtk_style_context_set_state(pCStyle, GTK_STATE_FLAG_NORMAL); + gtk_style_context_get_color(pCStyle, gtk_style_context_get_state(pCStyle), &tooltip_fg_color); + gtk_style_context_get_background_color(pCStyle, gtk_style_context_get_state(pCStyle), &tooltip_bg_color); g_object_unref( pCStyle ); aStyleSet.SetHelpColor( getColor( tooltip_bg_color )); @@ -1525,16 +1617,18 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) gtk_widget_path_free( pCPath ); // highlighting colors - gtk_style_context_get_background_color(pCStyle, GTK_STATE_FLAG_SELECTED, &text_color); + gtk_style_context_set_state(pCStyle, GTK_STATE_FLAG_SELECTED); + gtk_style_context_get_background_color(pCStyle, gtk_style_context_get_state(pCStyle), &text_color); ::Color aHighlightColor = getColor( text_color ); - gtk_style_context_get_color(pCStyle, GTK_STATE_FLAG_SELECTED, &text_color); + gtk_style_context_get_color(pCStyle, gtk_style_context_get_state(pCStyle), &text_color); ::Color aHighlightTextColor = getColor( text_color ); aStyleSet.SetHighlightColor( aHighlightColor ); aStyleSet.SetHighlightTextColor( aHighlightTextColor ); // field background color GdkRGBA field_background_color; - gtk_style_context_get_background_color(pCStyle, GTK_STATE_FLAG_NORMAL, &field_background_color); + gtk_style_context_set_state(pCStyle, GTK_STATE_FLAG_NORMAL); + gtk_style_context_get_background_color(pCStyle, gtk_style_context_get_state(pCStyle), &field_background_color); g_object_unref( pCStyle ); ::Color aBackFieldColor = getColor( field_background_color ); @@ -1548,30 +1642,34 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) aStyleSet.SetAcceleratorsInContextMenus( false ); // menu colors - gtk_style_context_get_background_color( mpMenuStyle, GTK_STATE_FLAG_NORMAL, &background_color ); + gtk_style_context_set_state(mpMenuStyle, GTK_STATE_FLAG_NORMAL); + gtk_style_context_get_background_color( mpMenuStyle, gtk_style_context_get_state(mpMenuStyle), &background_color ); aBackColor = getColor( background_color ); aStyleSet.SetMenuColor( aBackColor ); + // menu items + gtk_style_context_get_color( mpMenuStyle, gtk_style_context_get_state(mpMenuStyle), &color ); + aTextColor = getColor( color ); + aStyleSet.SetMenuTextColor( aTextColor ); + // menu bar - gtk_style_context_get_background_color( mpMenuBarStyle, GTK_STATE_FLAG_NORMAL, &background_color ); + gtk_style_context_set_state(mpMenuBarStyle, gtk_style_context_get_state(mpMenuStyle)); + gtk_style_context_get_background_color( mpMenuBarStyle, gtk_style_context_get_state(mpMenuStyle), &background_color ); aBackColor = getColor( background_color ); aStyleSet.SetMenuBarColor( aBackColor ); aStyleSet.SetMenuBarRolloverColor( aBackColor ); - gtk_style_context_get_color( mpMenuBarItemStyle, GTK_STATE_FLAG_NORMAL, &text_color ); + gtk_style_context_set_state(mpMenuBarItemStyle, GTK_STATE_FLAG_NORMAL); + gtk_style_context_get_color( mpMenuBarItemStyle, gtk_style_context_get_state(mpMenuBarItemStyle), &text_color ); aTextColor = aStyleSet.GetPersonaMenuBarTextColor().get_value_or( getColor( text_color ) ); aStyleSet.SetMenuBarTextColor( aTextColor ); aStyleSet.SetMenuBarRolloverTextColor( aTextColor ); - gtk_style_context_get_color( mpMenuBarItemStyle, GTK_STATE_FLAG_PRELIGHT, &text_color ); + gtk_style_context_set_state(mpMenuBarItemStyle, GTK_STATE_FLAG_PRELIGHT); + gtk_style_context_get_color( mpMenuBarItemStyle, gtk_style_context_get_state(mpMenuBarItemStyle), &text_color ); aTextColor = aStyleSet.GetPersonaMenuBarTextColor().get_value_or( getColor( text_color ) ); aStyleSet.SetMenuBarHighlightTextColor( aTextColor ); - // menu items - gtk_style_context_get_color( mpMenuStyle, GTK_STATE_FLAG_NORMAL, &color ); - aTextColor = getColor( color ); - aStyleSet.SetMenuTextColor( aTextColor ); - // Awful hack for menu separators in the Sonar and similar themes. // If the menu color is not too dark, and the menu text color is lighter, // make the "light" color lighter than the menu color and the "shadow" @@ -1587,11 +1685,12 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) aStyleSet.SetShadowColor( temp ); } - gtk_style_context_get_background_color( mpCheckMenuItemStyle, GTK_STATE_FLAG_PRELIGHT, &background_color ); + gtk_style_context_set_state(mpCheckMenuItemStyle, GTK_STATE_FLAG_PRELIGHT); + gtk_style_context_get_background_color( mpCheckMenuItemStyle, gtk_style_context_get_state(mpCheckMenuItemStyle), &background_color ); ::Color aHighlightColor = getColor( background_color ); aStyleSet.SetMenuHighlightColor( aHighlightColor ); - gtk_style_context_get_color( mpCheckMenuItemStyle, GTK_STATE_FLAG_PRELIGHT, &color ); + gtk_style_context_get_color( mpCheckMenuItemStyle, gtk_style_context_get_state(mpCheckMenuItemStyle), &color ); ::Color aHighlightTextColor = getColor( color ); aStyleSet.SetMenuHighlightTextColor( aHighlightTextColor ); @@ -1629,19 +1728,22 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) gtk_style_context_set_path(pCStyle, pCPath); gtk_widget_path_free(pCPath); - gtk_style_context_get_color(pCStyle, GTK_STATE_FLAG_NORMAL, &text_color); + gtk_style_context_set_state(pCStyle, GTK_STATE_FLAG_NORMAL); + gtk_style_context_get_color(pCStyle, gtk_style_context_get_state(pCStyle), &text_color); aTextColor = getColor( text_color ); aStyleSet.SetTabTextColor(aTextColor); // mouse over text colors gtk_style_context_add_class(pCStyle, "prelight-page"); - gtk_style_context_get_color(pCStyle, GTK_STATE_FLAG_PRELIGHT, &text_color); + gtk_style_context_set_state(pCStyle, GTK_STATE_FLAG_PRELIGHT); + gtk_style_context_get_color(pCStyle, gtk_style_context_get_state(pCStyle), &text_color); gtk_style_context_remove_class(pCStyle, "prelight-page"); aTextColor = getColor( text_color ); aStyleSet.SetTabRolloverTextColor(aTextColor); gtk_style_context_add_class(pCStyle, "active-page"); - gtk_style_context_get_color(pCStyle, GTK_STATE_FLAG_ACTIVE, &text_color); + gtk_style_context_set_state(pCStyle, GTK_STATE_FLAG_ACTIVE); + gtk_style_context_get_color(pCStyle, gtk_style_context_get_state(pCStyle), &text_color); gtk_style_context_remove_class(pCStyle, "active-page"); aTextColor = getColor( text_color ); aStyleSet.SetTabHighlightTextColor(aTextColor); @@ -1649,98 +1751,6 @@ void GtkSalGraphics::updateSettings( AllSettings& rSettings ) g_object_unref( pCStyle ); } - // UI font - const PangoFontDescription* font = gtk_style_context_get_font(pStyle, GTK_STATE_FLAG_NORMAL); - OString aFamily = pango_font_description_get_family( font ); - int nPangoHeight = pango_font_description_get_size( font ); - PangoStyle eStyle = pango_font_description_get_style( font ); - PangoWeight eWeight = pango_font_description_get_weight( font ); - PangoStretch eStretch = pango_font_description_get_stretch( font ); - - psp::FastPrintFontInfo aInfo; - // set family name - aInfo.m_aFamilyName = OStringToOUString( aFamily, RTL_TEXTENCODING_UTF8 ); - // set italic - switch( eStyle ) - { - case PANGO_STYLE_NORMAL: aInfo.m_eItalic = ITALIC_NONE;break; - case PANGO_STYLE_ITALIC: aInfo.m_eItalic = ITALIC_NORMAL;break; - case PANGO_STYLE_OBLIQUE: aInfo.m_eItalic = ITALIC_OBLIQUE;break; - } - // set weight - if( eWeight <= PANGO_WEIGHT_ULTRALIGHT ) - aInfo.m_eWeight = WEIGHT_ULTRALIGHT; - else if( eWeight <= PANGO_WEIGHT_LIGHT ) - aInfo.m_eWeight = WEIGHT_LIGHT; - else if( eWeight <= PANGO_WEIGHT_NORMAL ) - aInfo.m_eWeight = WEIGHT_NORMAL; - else if( eWeight <= PANGO_WEIGHT_BOLD ) - aInfo.m_eWeight = WEIGHT_BOLD; - else - aInfo.m_eWeight = WEIGHT_ULTRABOLD; - // set width - switch( eStretch ) - { - case PANGO_STRETCH_ULTRA_CONDENSED: aInfo.m_eWidth = WIDTH_ULTRA_CONDENSED;break; - case PANGO_STRETCH_EXTRA_CONDENSED: aInfo.m_eWidth = WIDTH_EXTRA_CONDENSED;break; - case PANGO_STRETCH_CONDENSED: aInfo.m_eWidth = WIDTH_CONDENSED;break; - case PANGO_STRETCH_SEMI_CONDENSED: aInfo.m_eWidth = WIDTH_SEMI_CONDENSED;break; - case PANGO_STRETCH_NORMAL: aInfo.m_eWidth = WIDTH_NORMAL;break; - case PANGO_STRETCH_SEMI_EXPANDED: aInfo.m_eWidth = WIDTH_SEMI_EXPANDED;break; - case PANGO_STRETCH_EXPANDED: aInfo.m_eWidth = WIDTH_EXPANDED;break; - case PANGO_STRETCH_EXTRA_EXPANDED: aInfo.m_eWidth = WIDTH_EXTRA_EXPANDED;break; - case PANGO_STRETCH_ULTRA_EXPANDED: aInfo.m_eWidth = WIDTH_ULTRA_EXPANDED;break; - } - -#if OSL_DEBUG_LEVEL > 1 - fprintf( stderr, "font name BEFORE system match: \"%s\"\n", aFamily.getStr() ); -#endif - - // match font to e.g. resolve "Sans" - psp::PrintFontManager::get().matchFont( aInfo, rSettings.GetUILanguageTag().getLocale() ); - -#if OSL_DEBUG_LEVEL > 1 - fprintf( stderr, "font match %s, name AFTER: \"%s\"\n", - aInfo.m_nID != 0 ? "succeeded" : "failed", - OUStringToOString( aInfo.m_aFamilyName, RTL_TEXTENCODING_ISO_8859_1 ).getStr() ); -#endif - - int nPointHeight = 0; - /*sal_Int32 nDispDPIY = GetDisplay()->GetResolution().B(); - static gboolean(*pAbso)(const PangoFontDescription*) = - (gboolean(*)(const PangoFontDescription*))osl_getAsciiFunctionSymbol( GetSalData()->m_pPlugin, "pango_font_description_get_size_is_absolute" ); - - if( pAbso && pAbso( font ) ) - nPointHeight = (nPangoHeight * 72 + nDispDPIY*PANGO_SCALE/2) / (nDispDPIY * PANGO_SCALE); - else*/ - nPointHeight = nPangoHeight/PANGO_SCALE; - - vcl::Font aFont( aInfo.m_aFamilyName, Size( 0, nPointHeight ) ); - if( aInfo.m_eWeight != WEIGHT_DONTKNOW ) - aFont.SetWeight( aInfo.m_eWeight ); - if( aInfo.m_eWidth != WIDTH_DONTKNOW ) - aFont.SetWidthType( aInfo.m_eWidth ); - if( aInfo.m_eItalic != ITALIC_DONTKNOW ) - aFont.SetItalic( aInfo.m_eItalic ); - if( aInfo.m_ePitch != PITCH_DONTKNOW ) - aFont.SetPitch( aInfo.m_ePitch ); - - aStyleSet.SetAppFont( aFont ); - aStyleSet.SetHelpFont( aFont ); - aStyleSet.SetMenuFont( aFont ); - aStyleSet.SetToolFont( aFont ); - aStyleSet.SetLabelFont( aFont ); - aStyleSet.SetInfoFont( aFont ); - aStyleSet.SetRadioCheckFont( aFont ); - aStyleSet.SetPushButtonFont( aFont ); - aStyleSet.SetFieldFont( aFont ); - aStyleSet.SetIconFont( aFont ); - aStyleSet.SetGroupFont( aFont ); - - aFont.SetWeight( WEIGHT_BOLD ); - aStyleSet.SetTabFont( aFont ); //pull from notebook style + GTK_STYLE_REGION_TAB ? - aStyleSet.SetTitleFont( aFont ); - aStyleSet.SetFloatTitleFont( aFont ); // get cursor blink time gboolean blink = false; |