mirror of
https://github.com/gryf/wmaker.git
synced 2026-01-05 21:34:17 +01:00
added fontmanager.c
This commit is contained in:
81
WINGs/fontmanager.c
Normal file
81
WINGs/fontmanager.c
Normal file
@@ -0,0 +1,81 @@
|
||||
|
||||
#include "WINGsP.h"
|
||||
|
||||
|
||||
static void
|
||||
changeFontProp(char *fname, char *newprop, int which)
|
||||
{
|
||||
char before[128], prop[128], after[128];
|
||||
char *ptr, *bptr;
|
||||
int part=0;
|
||||
|
||||
if(!fname || !prop)
|
||||
return;
|
||||
|
||||
ptr = fname;
|
||||
bptr = before;
|
||||
while (*ptr) {
|
||||
if(*ptr == '-') {
|
||||
*bptr = 0;
|
||||
if(part==which) bptr = prop;
|
||||
else if(part==which+1) bptr = after;
|
||||
*bptr++ = *ptr;
|
||||
part++;
|
||||
} else {
|
||||
*bptr++ = *ptr;
|
||||
} ptr++;
|
||||
}*bptr = 0;
|
||||
snprintf(fname, 255, "%s-%s%s", before, newprop, after);
|
||||
}
|
||||
|
||||
|
||||
WMFont *
|
||||
WMGetFontPlain(WMScreen *scrPtr, WMFont *font)
|
||||
{
|
||||
WMFont *nfont=NULL;
|
||||
if(!scrPtr|| !font)
|
||||
return NULL;
|
||||
return font;
|
||||
|
||||
}
|
||||
|
||||
WMFont *
|
||||
WMGetFontBold(WMScreen *scrPtr, WMFont *font)
|
||||
{
|
||||
WMFont *newfont=NULL;
|
||||
char fname[256];
|
||||
if(!scrPtr || !font)
|
||||
return NULL;
|
||||
snprintf(fname, 255, font->name);
|
||||
changeFontProp(fname, "bold", 2);
|
||||
newfont = WMCreateNormalFont(scrPtr, fname);
|
||||
if(!newfont)
|
||||
newfont = font;
|
||||
return newfont;
|
||||
}
|
||||
|
||||
WMFont *
|
||||
WMGetFontItalic(WMScreen *scrPtr, WMFont *font)
|
||||
{
|
||||
WMFont *newfont=NULL;
|
||||
char fname[256];
|
||||
if(!scrPtr || !font)
|
||||
return NULL;
|
||||
snprintf(fname, 255, font->name);
|
||||
changeFontProp(fname, "o", 3);
|
||||
newfont = WMCreateNormalFont(scrPtr, fname);
|
||||
if(!newfont)
|
||||
newfont = font;
|
||||
return newfont;
|
||||
}
|
||||
|
||||
WMFont *
|
||||
WMGetFontOfSize(WMScreen *scrPtr, WMFont *font, int size)
|
||||
{
|
||||
WMFont *nfont=NULL;
|
||||
if(!scrPtr || !font || size<1)
|
||||
return NULL;
|
||||
return font;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user