]> Dogcows Code - chaz/openbox/commitdiff
add option to the rc file to use/not use AA for Xft fonts
authorDana Jansens <danakj@orodu.net>
Mon, 8 Jul 2002 04:40:34 +0000 (04:40 +0000)
committerDana Jansens <danakj@orodu.net>
Mon, 8 Jul 2002 04:40:34 +0000 (04:40 +0000)
src/Font.cc
src/Font.hh
src/Screen.cc
src/Screen.hh

index 979c4c215a64b24385baa8c7ada2c9f010f37c43..ac315d507598f72d060c33d03979f55bd593f136 100644 (file)
@@ -44,23 +44,23 @@ using std::endl;
 #include "GCCache.hh"
 #include "Color.hh"
 
-bool        BFont::_antialias       = True;
 string      BFont::_fallback_font   = "fixed";
 
-
 #ifdef XFT
 BFont::BFont(Display *d, BScreen *screen, const string &family, int size,
-             bool bold, bool italic) : _display(d),
-                                       _screen(screen),
-                                       _family(family),
-                                       _simplename(False),
-                                       _size(size),
-                                       _bold(bold),
-                                       _italic(italic),
-                                       _xftfont(0),
-                                       _font(0),
-                                       _fontset(0),
-                                       _fontset_extents(0) {
+             bool bold, bool italic, bool antialias) :
+                                          _display(d),
+                                          _screen(screen),
+                                          _family(family),
+                                          _simplename(False),
+                                          _size(size),
+                                          _bold(bold),
+                                          _italic(italic),
+                                          _antialias(antialias),
+                                          _xftfont(0),
+                                          _font(0),
+                                          _fontset(0),
+                                          _fontset_extents(0) {
   _valid = False;
 
   _xftfont = XftFontOpen(_display, _screen->getScreenNumber(),
@@ -90,6 +90,7 @@ BFont::BFont(Display *d, BScreen *screen, const string &xlfd) :
                                        _display(d),
                                        _screen(screen),
 #ifdef    XFT
+                                       _antialias(False),
                                        _xftfont(0),
 #endif // XFT
                                        _font(0),
index 07712794031187d4327187c8faf2ec7dc4e34b11..9f083db9d306845afa68e0e04de9441dfd71234f 100644 (file)
@@ -47,13 +47,9 @@ class BFont {
    * static members
    */
 private:
-  static bool         _antialias;
   static std::string  _fallback_font;
 
 public:
-  inline static bool antialias(void) { return _antialias; }
-  inline static void setAntialias(bool a) { _antialias = a; }
-
   // the fallback is only used for X fonts, not for Xft fonts, since it is
   // assumed that X fonts will be the fallback from Xft.
   inline static std::string fallbackFont(void) { return _fallback_font; }
@@ -74,6 +70,8 @@ private:
   bool              _italic;
 
 #ifdef XFT
+  bool              _antialias;
+
   XftFont          *_xftfont;
 
   bool createXftFont(void);
@@ -97,7 +95,7 @@ public:
 #ifdef XFT
   // loads an Xft font
   BFont(Display *d, BScreen *screen, const std::string &family, int size,
-        bool bold, bool italic);
+        bool bold, bool italic, bool antialias = True);
 #endif
   // loads a standard X font
   BFont(Display *d, BScreen *screen, const std::string &xlfd);
index b294dbf583b4df1843551939bbe76e0ce759a97a..2ff2ce4d67bf1d95118b4746de26ebb5d39127a1 100644 (file)
@@ -388,6 +388,13 @@ void BScreen::saveFocusLast(bool f) {
 }
 
 
+void BScreen::saveAAFonts(bool f) {
+  resource.aa_fonts = f;
+  reconfigure();
+  config->setValue(screenstr + "antialiasFonts", resource.aa_fonts);
+}
+
+
 void BScreen::saveHideToolbar(bool h) {
   resource.hide_toolbar = h;
   if (resource.hide_toolbar)
@@ -497,6 +504,7 @@ void BScreen::save_rc(void) {
   saveSloppyFocus(resource.sloppy_focus);
   saveAutoRaise(resource.auto_raise);
   saveImageDither(doImageDither());
+  saveAAFonts(resource.aa_fonts);
   saveOpaqueMove(resource.opaque_move);
   saveFullMax(resource.full_max);
   saveFocusNew(resource.focus_new);
@@ -540,6 +548,9 @@ void BScreen::load_rc(void) {
   if (! config->getValue(screenstr + "opaqueMove", resource.opaque_move))
     resource.opaque_move = false;
 
+  if (! config->getValue(screenstr + "antialiasFonts", resource.aa_fonts))
+    resource.aa_fonts = true;
+
   if (! config->getValue(screenstr + "hideToolbar", resource.hide_toolbar))
     resource.hide_toolbar = false;
 
@@ -2158,7 +2169,7 @@ BFont *BScreen::readDatabaseFont(const string &rbasename,
     }
     
     BFont *b = new BFont(blackbox->getXDisplay(), this, family, i, bold,
-                         italic);
+                         italic, resource.aa_fonts);
     if (b->valid())
       return b;
     else
index 6fa92c5fb8fca5dbca1e26ffbf711e2572e7712a..4de9daa2da45471c01c7b1758345165ebdfe7aef 100644 (file)
@@ -26,7 +26,6 @@
 
 extern "C" {
 #include <X11/Xlib.h>
-#include <X11/Xresource.h>
 
 #ifdef    TIME_WITH_SYS_TIME
 #  include <sys/time.h>
@@ -150,7 +149,7 @@ private:
 
     bool sloppy_focus, auto_raise, auto_edge_balance, ordered_dither,
       opaque_move, full_max, focus_new, focus_last, click_raise,
-      hide_toolbar, window_to_window_snap, window_corner_snap;
+      hide_toolbar, window_to_window_snap, window_corner_snap, aa_fonts;
     BColor border_color;
 
     unsigned int workspaces;
@@ -205,6 +204,7 @@ public:
   inline bool doAutoRaise(void) const { return resource.auto_raise; }
   inline bool doClickRaise(void) const { return resource.click_raise; }
   inline bool isScreenManaged(void) const { return managed; }
+  inline bool doAAFonts(void) const { return resource.aa_fonts; }
   inline bool doImageDither(void) const { return image_control->doDither(); }
   inline bool doOrderedDither(void) const { return resource.ordered_dither; }
   inline bool doOpaqueMove(void) const { return resource.opaque_move; }
@@ -268,6 +268,7 @@ public:
   void saveColPlacementDirection(int d);
   void saveEdgeSnapThreshold(int t);
   void saveImageDither(bool d);
+  void saveAAFonts(bool f);
   void saveOpaqueMove(bool o);
   void saveFullMax(bool f);
   void saveFocusNew(bool f);
This page took 0.033834 seconds and 4 git commands to generate.