Small fix for an enum
[wmaker-crm.git] / WINGs / fontmanager.c
blobdce8f9ff16fcaef78d93571f0f1aa7fd95a352ea
2 #include "WINGsP.h"
5 static void
6 changeFontProp(char *fname, char *newprop, int which)
8 char before[128], prop[128], after[128];
9 char *ptr, *bptr;
10 int part=0;
12 if(!fname || !prop)
13 return;
15 ptr = fname;
16 bptr = before;
17 while (*ptr) {
18 if(*ptr == '-') {
19 *bptr = 0;
20 if(part==which) bptr = prop;
21 else if(part==which+1) bptr = after;
22 *bptr++ = *ptr;
23 part++;
24 } else {
25 *bptr++ = *ptr;
26 } ptr++;
27 }*bptr = 0;
28 snprintf(fname, 255, "%s-%s%s", before, newprop, after);
32 WMFont *
33 WMGetFontPlain(WMScreen *scrPtr, WMFont *font)
35 if(!scrPtr || !font)
36 return NULL;
37 return font;
40 WMFont *
41 WMGetFontBold(WMScreen *scrPtr, WMFont *font)
43 WMFont *newfont=NULL;
44 char fname[256];
45 if(!scrPtr || !font)
46 return NULL;
47 snprintf(fname, 255, font->name);
48 changeFontProp(fname, "bold", 2);
49 newfont = WMCreateNormalFont(scrPtr, fname);
50 if(!newfont)
51 newfont = font;
52 return newfont;
55 WMFont *
56 WMGetFontItalic(WMScreen *scrPtr, WMFont *font)
58 WMFont *newfont=NULL;
59 char fname[256];
60 if(!scrPtr || !font)
61 return NULL;
62 snprintf(fname, 255, font->name);
63 changeFontProp(fname, "o", 3);
64 newfont = WMCreateNormalFont(scrPtr, fname);
65 if(!newfont)
66 newfont = font;
67 return newfont;
70 WMFont *
71 WMGetFontOfSize(WMScreen *scrPtr, WMFont *font, int size)
73 if(!scrPtr || !font || size<1)
74 return NULL;
75 return font;