From 17b1c19054f992699384708e194147a905ee9739 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Wed, 23 Jan 2013 16:01:35 +0000 Subject: [PATCH] UI todo: Added "Panel Title" style to Theme settings. Allows to make these nice larger or draw differently. Also tried to put hinting in Style, but this needs to be a per-font setting. uiFont data is still not being saved (also not allowing to set own font files for UI). That's a todo for 267 then. --- release/scripts/startup/bl_ui/space_userpref.py | 7 +++++++ source/blender/blenfont/BLF_api.h | 1 + source/blender/blenfont/intern/blf_glyph.c | 6 +++++- source/blender/makesdna/DNA_userdef_types.h | 2 +- source/blender/makesrna/intern/rna_userdef.c | 16 ++++------------ 5 files changed, 18 insertions(+), 14 deletions(-) diff --git a/release/scripts/startup/bl_ui/space_userpref.py b/release/scripts/startup/bl_ui/space_userpref.py index daf9190e766..dad729077e0 100644 --- a/release/scripts/startup/bl_ui/space_userpref.py +++ b/release/scripts/startup/bl_ui/space_userpref.py @@ -800,6 +800,13 @@ class USERPREF_PT_theme(Panel): style = context.user_preferences.ui_styles[0] + ui = style.panel_title + col.label(text="Panel Title:") + ui_style_items(col, ui) + + col.separator() + col.separator() + ui = style.widget col.label(text="Widget:") ui_style_items(col, ui) diff --git a/source/blender/blenfont/BLF_api.h b/source/blender/blenfont/BLF_api.h index 25b55eacd77..0ca97975d87 100644 --- a/source/blender/blenfont/BLF_api.h +++ b/source/blender/blenfont/BLF_api.h @@ -183,6 +183,7 @@ void BLF_dir_free(char **dirs, int count); #define BLF_KERNING_DEFAULT (1 << 3) #define BLF_MATRIX (1 << 4) #define BLF_ASPECT (1 << 5) +#define BLF_HINTING (1 << 6) #define BLF_DRAW_STR_DUMMY_MAX 1024 diff --git a/source/blender/blenfont/intern/blf_glyph.c b/source/blender/blenfont/intern/blf_glyph.c index 12c0088e93e..a6b04b24399 100644 --- a/source/blender/blenfont/intern/blf_glyph.c +++ b/source/blender/blenfont/intern/blf_glyph.c @@ -213,6 +213,7 @@ GlyphBLF *blf_glyph_add(FontBLF *font, unsigned int index, unsigned int c) FT_Error err; FT_Bitmap bitmap, tempbitmap; int sharp = (U.text_render & USER_TEXT_DISABLE_AA); + int flags = FT_LOAD_TARGET_NORMAL | FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP; FT_BBox bbox; unsigned int key; @@ -220,10 +221,13 @@ GlyphBLF *blf_glyph_add(FontBLF *font, unsigned int index, unsigned int c) if (g) return g; + if (font->flags & BLF_HINTING) + flags &= ~FT_LOAD_NO_HINTING; + if (sharp) err = FT_Load_Glyph(font->face, (FT_UInt)index, FT_LOAD_TARGET_MONO); else - err = FT_Load_Glyph(font->face, (FT_UInt)index, FT_LOAD_TARGET_NORMAL | FT_LOAD_NO_HINTING | FT_LOAD_NO_BITMAP); /* Sure about NO_* flags? */ + err = FT_Load_Glyph(font->face, (FT_UInt)index, flags); if (err) return NULL; diff --git a/source/blender/makesdna/DNA_userdef_types.h b/source/blender/makesdna/DNA_userdef_types.h index 3027a3abd7d..861d44b214e 100644 --- a/source/blender/makesdna/DNA_userdef_types.h +++ b/source/blender/makesdna/DNA_userdef_types.h @@ -66,7 +66,7 @@ typedef struct uiFont { short blf_id; /* from blfont lib */ short uifont_id; /* own id */ short r_to_l; /* fonts that read from left to right */ - short pad; + short hinting; } uiFont; /* this state defines appearance of text */ diff --git a/source/blender/makesrna/intern/rna_userdef.c b/source/blender/makesrna/intern/rna_userdef.c index 67cc833ffb6..1160d144b06 100644 --- a/source/blender/makesrna/intern/rna_userdef.c +++ b/source/blender/makesrna/intern/rna_userdef.c @@ -608,22 +608,14 @@ static void rna_def_userdef_theme_ui_style(BlenderRNA *brna) RNA_def_struct_clear_flag(srna, STRUCT_UNDO); RNA_def_struct_ui_text(srna, "Style", "Theme settings for style sets"); - /* (not used yet) */ -#if 0 - prop = RNA_def_property(srna, "panelzoom", PROP_FLOAT, PROP_NONE); - RNA_def_property_range(prop, 0.5, 2.0); - RNA_def_property_ui_text(prop, "Panel Zoom", "Default zoom level for panel areas"); -#endif - /* (not used yet) */ -#if 0 - prop = RNA_def_property(srna, "group_label", PROP_POINTER, PROP_NONE); + prop = RNA_def_property(srna, "panel_title", PROP_POINTER, PROP_NONE); RNA_def_property_flag(prop, PROP_NEVER_NULL); - RNA_def_property_pointer_sdna(prop, NULL, "grouplabel"); + RNA_def_property_pointer_sdna(prop, NULL, "paneltitle"); RNA_def_property_struct_type(prop, "ThemeFontStyle"); - RNA_def_property_ui_text(prop, "Group Label Font", ""); + RNA_def_property_ui_text(prop, "Panel Title Font", ""); RNA_def_property_update(prop, 0, "rna_userdef_update"); -#endif + prop = RNA_def_property(srna, "widget_label", PROP_POINTER, PROP_NONE); RNA_def_property_flag(prop, PROP_NEVER_NULL); RNA_def_property_pointer_sdna(prop, NULL, "widgetlabel");