updated version #, imlib2 fixed, i forgot when the window size changes we totally...
[monky] / src / fonts.h
index 01e222b..913b29e 100644 (file)
@@ -9,7 +9,7 @@
  * Please see COPYING for details
  *
  * Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
- * Copyright (c) 2005-2009 Brenden Matthews, Philip Kovacs, et. al.
+ * Copyright (c) 2005-2010 Brenden Matthews, Philip Kovacs, et. al.
  *     (see AUTHORS)
  * All rights reserved.
  *
 
 #include "x11.h"
 
+/* for fonts */
+struct font_list {
+
+       char name[DEFAULT_TEXT_BUFFER_SIZE];
+       int num;
+       XFontStruct *font;
+
+#ifdef XFT
+       XftFont *xftfont;
+       int font_alpha;
+#endif
+};
+
 #ifdef XFT
 
-#define font_height() (use_xft ? (ctx->fonts[ctx->selected_font].xftfont->ascent + \
-       ctx->fonts[ctx->selected_font].xftfont->descent) \
-       : (ctx->fonts[ctx->selected_font].font->max_bounds.ascent + \
-       ctx->fonts[ctx->selected_font].font->max_bounds.descent))
-#define font_ascent() (use_xft ? ctx->fonts[ctx->selected_font].xftfont->ascent \
-       : ctx->fonts[ctx->selected_font].font->max_bounds.ascent)
-#define font_descent() (use_xft ? ctx->fonts[ctx->selected_font].xftfont->descent \
-       : ctx->fonts[ctx->selected_font].font->max_bounds.descent)
+#define font_height() (use_xft ? (fonts[selected_font].xftfont->ascent + \
+       fonts[selected_font].xftfont->descent) \
+       : (fonts[selected_font].font->max_bounds.ascent + \
+       fonts[selected_font].font->max_bounds.descent))
+#define font_ascent() (use_xft ? fonts[selected_font].xftfont->ascent \
+       : fonts[selected_font].font->max_bounds.ascent)
+#define font_descent() (use_xft ? fonts[selected_font].xftfont->descent \
+       : fonts[selected_font].font->max_bounds.descent)
 
 #else
 
-#define font_height() (ctx->fonts[ctx->selected_font].font->max_bounds.ascent + \
-       ctx->fonts[ctx->selected_font].font->max_bounds.descent)
-#define font_ascent() ctx->fonts[ctx->selected_font].font->max_bounds.ascent
-#define font_descent() ctx->fonts[ctx->selected_font].font->max_bounds.descent
+#define font_height() (fonts[selected_font].font->max_bounds.ascent + \
+       fonts[selected_font].font->max_bounds.descent)
+#define font_ascent() fonts[selected_font].font->max_bounds.ascent
+#define font_descent() fonts[selected_font].font->max_bounds.descent
 
 #endif
 
 #define MAX_FONTS 256
 
+/* direct access to registered fonts (FIXME: bad encapsulation) */
+extern struct font_list *fonts;
+extern int selected_font;
+extern int font_count;
 
-void setup_fonts(conky_context *ctx);
-void set_font(conky_context *ctx);
-int add_font(conky_context *ctx, const char *);
-void set_first_font(conky_context *ctx, const char *);
-void free_fonts(conky_context *ctx);
-void load_fonts(conky_context *ctx);
+void setup_fonts(void);
+void set_font(void);
+int add_font(const char *);
+void set_first_font(const char *);
+void free_fonts(void);
+void load_fonts(void);
 
 #endif /* _FONTS_H */
 #endif /* X11 */