diff options
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/FbTk/Font.cc | 16 |
2 files changed, 18 insertions, 1 deletions
@@ -1,5 +1,8 @@ | |||
1 | (Format: Year/Month/Day) | 1 | (Format: Year/Month/Day) |
2 | Changes for 0.9.14: | 2 | Changes for 0.9.14: |
3 | *05/06/15: | ||
4 | * Fixes #1216020, *.font.effect wont get cleared if not defined in style (Mathias) | ||
5 | FbTk/Font.cc | ||
3 | *05/06/09: | 6 | *05/06/09: |
4 | * Reordering of the WorkspaceMenu (Mathias) | 7 | * Reordering of the WorkspaceMenu (Mathias) |
5 | Icon submenu ontop, workspaces below, new|edit|remove on bottom | 8 | Icon submenu ontop, workspaces below, new|edit|remove on bottom |
diff --git a/src/FbTk/Font.cc b/src/FbTk/Font.cc index 365637d..6aa17ea 100644 --- a/src/FbTk/Font.cc +++ b/src/FbTk/Font.cc | |||
@@ -160,6 +160,16 @@ typedef std::map<std::string, FbTk::FontImp* > FontCache; | |||
160 | typedef FontCache::iterator FontCacheIt; | 160 | typedef FontCache::iterator FontCacheIt; |
161 | FontCache font_cache; | 161 | FontCache font_cache; |
162 | 162 | ||
163 | |||
164 | void resetEffects(FbTk::Font* font) { | ||
165 | font->setHalo(false); | ||
166 | font->setHaloColor(FbTk::Color("white", DefaultScreen(FbTk::App::instance()->display()))); | ||
167 | font->setShadow(false); | ||
168 | font->setShadowColor(FbTk::Color("black", DefaultScreen(FbTk::App::instance()->display()))); | ||
169 | font->setShadowOffY(2); | ||
170 | font->setShadowOffX(2); | ||
171 | } | ||
172 | |||
163 | }; // end nameless namespace | 173 | }; // end nameless namespace |
164 | 174 | ||
165 | 175 | ||
@@ -263,6 +273,7 @@ bool Font::load(const std::string &name) { | |||
263 | if (name.size() == 0) | 273 | if (name.size() == 0) |
264 | return false; | 274 | return false; |
265 | 275 | ||
276 | bool ret = false; | ||
266 | StringMapIt lookup_entry; | 277 | StringMapIt lookup_entry; |
267 | FontCacheIt cache_entry; | 278 | FontCacheIt cache_entry; |
268 | 279 | ||
@@ -271,6 +282,7 @@ bool Font::load(const std::string &name) { | |||
271 | (cache_entry = font_cache.find(lookup_entry->second)) != font_cache.end()) { | 282 | (cache_entry = font_cache.find(lookup_entry->second)) != font_cache.end()) { |
272 | m_fontstr = cache_entry->first; | 283 | m_fontstr = cache_entry->first; |
273 | m_fontimp = cache_entry->second; | 284 | m_fontimp = cache_entry->second; |
285 | resetEffects(this); | ||
274 | return true; | 286 | return true; |
275 | } | 287 | } |
276 | 288 | ||
@@ -289,6 +301,7 @@ bool Font::load(const std::string &name) { | |||
289 | m_fontstr = cache_entry->first; | 301 | m_fontstr = cache_entry->first; |
290 | m_fontimp = cache_entry->second; | 302 | m_fontimp = cache_entry->second; |
291 | lookup_map[name] = m_fontstr; | 303 | lookup_map[name] = m_fontstr; |
304 | resetEffects(this); | ||
292 | return true; | 305 | return true; |
293 | } | 306 | } |
294 | 307 | ||
@@ -313,13 +326,14 @@ bool Font::load(const std::string &name) { | |||
313 | m_fontimp = tmp_font; | 326 | m_fontimp = tmp_font; |
314 | font_cache[(*name_it)] = tmp_font; | 327 | font_cache[(*name_it)] = tmp_font; |
315 | m_fontstr = name; | 328 | m_fontstr = name; |
329 | resetEffects(this); | ||
316 | return true; | 330 | return true; |
317 | } | 331 | } |
318 | 332 | ||
319 | delete tmp_font; | 333 | delete tmp_font; |
320 | } | 334 | } |
321 | 335 | ||
322 | return false;; | 336 | return false; |
323 | } | 337 | } |
324 | 338 | ||
325 | unsigned int Font::textWidth(const char * const text, unsigned int size) const { | 339 | unsigned int Font::textWidth(const char * const text, unsigned int size) const { |