]> Dogcows Code - chaz/openbox/blobdiff - src/Font.hh
Take menu file from rc file if it isn't specified on the command line.
[chaz/openbox] / src / Font.hh
index 4f4624ed60ca30caf1475e4801a9670449235783..6f6431ef276af8d83723a0f677f79c6a34678600 100644 (file)
@@ -47,13 +47,11 @@ 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; }
   inline static void setFallbackFont(const std::string &f)
     { _fallback_font = f; }
@@ -65,14 +63,21 @@ private:
   Display          *_display;
   BScreen          *_screen;
 
-  std::string       _name;
+  std::string       _family;
   bool              _simplename;  // true if not spec'd as a -*-* string
   int               _size;
   bool              _bold;
   bool              _italic;
 
 #ifdef XFT
+  bool              _antialias;
+  bool              _shadow;
+  unsigned char     _offset;
+  int               _tint;
+
   XftFont          *_xftfont;
+
+  bool createXftFont(void);
 #endif
   
   // standard
@@ -81,24 +86,29 @@ private:
   XFontSet          _fontset;
   XFontSetExtents  *_fontset_extents;
 
-  std::string buildXlfdName(bool mb) const;
+  std::string buildXlfd(void) const;
+  std::string buildMultibyteXlfd(void) const;
 
-  bool init(const std::string &xlfd = "");
-  bool createFont(void);
-  bool parseFontString(const std::string &xlfd);
+  bool createXFont(const std::string &xlfd);
+  bool parseXlfd(const std::string &xlfd);
   
   bool              _valid;
 
 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 shadow, unsigned char offset, 
+        int tint, bool antialias = True);
+#endif
+  // loads a standard X font
   BFont(Display *d, BScreen *screen, const std::string &xlfd);
-  virtual ~BFont();
+  virtual ~BFont(void);
 
   inline bool valid(void) const { return _valid; }
 
-  inline std::string name(void) const { assert(_valid); return _name; }
-  inline int size(void) const { assert(_valid); return _size / 10; }
+  inline std::string family(void) const { assert(_valid); return _family; }
+  inline int size(void) const { assert(_valid); return _size; }
   inline bool bold(void) const { assert(_valid); return _bold; }
   inline bool italic(void) const { assert(_valid); return _italic; }
 
This page took 0.024534 seconds and 4 git commands to generate.