mirror of
https://github.com/Llewellynvdm/conky.git
synced 2024-11-19 19:45:15 +00:00
e28f79a133
As a side effect, font and colour specific stuff got outsourced, too. This is because the apropriate functions are used by conky.c as well as specials.c, so they should be kept on their own. In the long term I hope for positive impact on the X11 integration mess. (Take e.g. the mass of X11 ifdefs cluttering conky.c.) Though this commit contains no optimisations in this direction, just plain outsourcing, to ensure minimised (intended: none) changes to conky's interface behaviour.
79 lines
2.3 KiB
C
79 lines
2.3 KiB
C
/* Conky, a system monitor, based on torsmo
|
|
*
|
|
* Any original torsmo code is licensed under the BSD license
|
|
*
|
|
* All code written since the fork of torsmo is licensed under the GPL
|
|
*
|
|
* Please see COPYING for details
|
|
*
|
|
* Copyright (c) 2004, Hannu Saransaari and Lauri Hakkarainen
|
|
* Copyright (c) 2005-2008 Brenden Matthews, Philip Kovacs, et. al.
|
|
* (see AUTHORS)
|
|
* All rights reserved.
|
|
*
|
|
* This program is free software: you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation, either version 3 of the License, or
|
|
* (at your option) any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|
*
|
|
*/
|
|
#ifndef _FONTS_H
|
|
#define _FONTS_H
|
|
|
|
#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 ? (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() (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 64 // hmm, no particular reason, just makes sense.
|
|
|
|
/* direct access to registered fonts (FIXME: bad encapsulation) */
|
|
extern struct font_list *fonts;
|
|
extern int selected_font;
|
|
extern int font_count;
|
|
|
|
void set_font(void);
|
|
int addfont(const char *);
|
|
void set_first_font(const char *);
|
|
void free_fonts(void);
|
|
void load_fonts(void);
|
|
|
|
#endif /* _FONTS_H */
|