From cacba45f1c615257c2c6a9f041e851e0ac030c13 Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Mon, 4 Feb 2019 11:37:15 +0100 Subject: [PATCH] LizaBold8x10: Import a bold variant of Liza8x10 and make it the default bold. Start using it right away for window titles. --- Base/res/fonts/LizaBold8x10.font | Bin 0 -> 10318 bytes SharedGraphics/Font.cpp | 26 +++++++++++++++++++++++++- SharedGraphics/Font.h | 1 + WindowServer/WSWindowManager.cpp | 7 ++++++- WindowServer/WSWindowManager.h | 5 +++++ 5 files changed, 37 insertions(+), 2 deletions(-) create mode 100644 Base/res/fonts/LizaBold8x10.font diff --git a/Base/res/fonts/LizaBold8x10.font b/Base/res/fonts/LizaBold8x10.font new file mode 100644 index 0000000000000000000000000000000000000000..23e9055a5f79db7d1cc5f42bef2f251e04be8fd5 GIT binary patch literal 10318 zcmeH}zlxJV6vYMQW06G`3lRxH!3VIC6cWT@D<5JM2?}A|LM$Yt@KJmfA*H2_VreBd zf>;I5FPW3Q8Nbg}vAhS)-oJBa=FAuI*73=UgUc5x9zJ{Z=)v>(6US*&fm9$BNCp0{ z0@pRJkL=<+{@u!}1m|F`I$T%V7c=6fcu#yOUaS67*^}yDk_E@&OuQp47s(9jfV^XJk>shjAior`K5yGYOg;AE{|S8dq2B3G zVIc2wxLo8w-_><%q|)YIycya<-V~C9+#9fVB;KgLXGN>hZXRok=sU7!C!#07QaciP zWA-VPd@tVje$AcA^3Cxd4c3-GxtkpGO|&bOoW=8e9==(6>7#DCuieAztew9X`n?w0 z7c2csexY0u<6MP%u(l+lzt^OI84!5hHah$3yx#%KOs_lZ+<&8(kA7TVREYEGi#oW* zejwfjo!?e|ll@SMe^KOp0Bhn*){6XU@68~ z>>Fe1pzRwg7yIx*dp>@fv&wir=WLm8-&U!e=IA&?`p}s7>Ld3ZiC`r%-x^$z&s~Vg zQwQBST6|w)a;Ds!|4#lV@w@mr=M9 zlh8MBtbD6W{FV<@=S|SuXQ2+3;?R3JPoLKfS+oE%H9Zycd`S zvIl31ccTv4KKJ?#SipTtrT^VPpRSTR7>VSENZoLc_wu)0)BwRmbiU702h8yOHi>`y z<9jfV{r(2*U&MuIUGaf+!cIlkZOOIpeY}=la-amp{XEb6(rb7gcVuRqN6)Ef9kDIx ziD>sFE+YFd-|V|DdmHQn+Wj1FtK0hT`r`M<-t58edt5E?N(3X(^M~xFG5k4^zZUt; zL1uZL+#SxluN%>cGeweX(at08Dr4_LL7YWgDrI)?JkPM*HB`sv8!6_uz-)4cbz3T7 z-read_entire_file(*current); + ASSERT(buffer); + s_default_bold_font = Font::load_from_memory(buffer.pointer()).leak_ref(); +#endif + ASSERT(s_default_bold_font); + } + return *s_default_bold_font; +} + RetainPtr Font::clone() const { size_t bytes_per_glyph = glyph_width() * glyph_height(); diff --git a/SharedGraphics/Font.h b/SharedGraphics/Font.h index b32d672b1ff..0b560d822c4 100644 --- a/SharedGraphics/Font.h +++ b/SharedGraphics/Font.h @@ -9,6 +9,7 @@ class Font : public Retainable { public: static Font& default_font(); + static Font& default_bold_font(); RetainPtr clone() const; diff --git a/WindowServer/WSWindowManager.cpp b/WindowServer/WSWindowManager.cpp index c4fcf0d471f..7e039a94fd0 100644 --- a/WindowServer/WSWindowManager.cpp +++ b/WindowServer/WSWindowManager.cpp @@ -123,6 +123,11 @@ WSWindowManager::WSWindowManager() m_front_painter = make(*m_front_bitmap); m_back_painter = make(*m_back_bitmap); + m_font = Font::default_bold_font(); + + m_front_painter->set_font(font()); + m_back_painter->set_font(font()); + m_background_color = Color(50, 50, 50); m_active_window_border_color = Color(110, 34, 9); m_active_window_border_color2 = Color(244, 202, 158); @@ -159,7 +164,7 @@ void WSWindowManager::paint_window_frame(WSWindow& window) auto titlebar_title_rect = titlebar_inner_rect; - titlebar_title_rect.set_width(Font::default_font().glyph_width() * window.title().length()); + titlebar_title_rect.set_width(font().glyph_width() * window.title().length()); Rect inner_border_rect { window.x() - 1, diff --git a/WindowServer/WSWindowManager.h b/WindowServer/WSWindowManager.h index 3373dba2323..d55ea347917 100644 --- a/WindowServer/WSWindowManager.h +++ b/WindowServer/WSWindowManager.h @@ -39,6 +39,9 @@ public: void invalidate(); void flush(const Rect&); + Font& font() { return *m_font; } + const Font& font() const { return *m_font; } + private: WSWindowManager(); virtual ~WSWindowManager() override; @@ -98,6 +101,8 @@ private: OwnPtr m_back_painter; OwnPtr m_front_painter; + RetainPtr m_font; + mutable Lock m_lock; bool m_flash_flush { false };