Implemented the font family enumerator on GTK+.
This commit is contained in:
parent
9987c98dcd
commit
5d47fcab5a
2
ui.h
2
ui.h
|
@ -458,7 +458,7 @@ typedef struct uiDrawFontFamilies uiDrawFontFamilies;
|
||||||
_UI_EXTERN uiDrawFontFamilies *uiDrawListFontFamilies(void);
|
_UI_EXTERN uiDrawFontFamilies *uiDrawListFontFamilies(void);
|
||||||
_UI_EXTERN uintmax_t uiDrawFontFamiliesNumFamilies(uiDrawFontFamilies *ff);
|
_UI_EXTERN uintmax_t uiDrawFontFamiliesNumFamilies(uiDrawFontFamilies *ff);
|
||||||
_UI_EXTERN char *uiDrawFontFamiliesFamily(uiDrawFontFamilies *ff, uintmax_t n);
|
_UI_EXTERN char *uiDrawFontFamiliesFamily(uiDrawFontFamilies *ff, uintmax_t n);
|
||||||
_UI_EXTERN void uiDrawFreeFontFamilies(uiDrawFontFamilies *);
|
_UI_EXTERN void uiDrawFreeFontFamilies(uiDrawFontFamilies *ff);
|
||||||
|
|
||||||
typedef enum uiModifiers {
|
typedef enum uiModifiers {
|
||||||
uiModifierCtrl = 1 << 0,
|
uiModifierCtrl = 1 << 0,
|
||||||
|
|
36
unix/draw.c
36
unix/draw.c
|
@ -446,3 +446,39 @@ void uiDrawRestore(uiDrawContext *c)
|
||||||
{
|
{
|
||||||
cairo_restore(c->cr);
|
cairo_restore(c->cr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
struct uiDrawFontFamilies {
|
||||||
|
PangoFontFamily **f;
|
||||||
|
int n;
|
||||||
|
};
|
||||||
|
|
||||||
|
uiDrawFontFamilies *uiDrawListFontFamilies(void)
|
||||||
|
{
|
||||||
|
uiDrawFontFamilies *ff;
|
||||||
|
PangoFontMap *map;
|
||||||
|
|
||||||
|
ff = uiNew(uiDrawFontFamilies);
|
||||||
|
map = pango_cairo_font_map_get_default();
|
||||||
|
pango_font_map_list_families(map, &(ff->f), &(ff->n));
|
||||||
|
// do not free map; it's a shared resource
|
||||||
|
return ff;
|
||||||
|
}
|
||||||
|
|
||||||
|
uintmax_t uiDrawFontFamiliesNumFamilies(uiDrawFontFamilies *ff)
|
||||||
|
{
|
||||||
|
return ff->n;
|
||||||
|
}
|
||||||
|
|
||||||
|
char *uiDrawFontFamiliesFamily(uiDrawFontFamilies *ff, uintmax_t n)
|
||||||
|
{
|
||||||
|
PangoFontFamily *f;
|
||||||
|
|
||||||
|
f = ff->f[n];
|
||||||
|
return uiUnixStrdupText(pango_font_family_get_name(f));
|
||||||
|
}
|
||||||
|
|
||||||
|
void uiDrawFreeFontFamilies(uiDrawFontFamilies *ff)
|
||||||
|
{
|
||||||
|
g_free(ff->f);
|
||||||
|
uiFree(ff);
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue