Blob


1 #include <u.h>
2 #include <libc.h>
3 #include <draw.h>
5 /*
6 * Easy versions of the cache routines; may be substituted by fancier ones for other purposes
7 */
9 static char *lastname;
10 Subfont *lastsubfont;
12 Subfont*
13 lookupsubfont(Display *d, char *name)
14 {
15 if(d && strcmp(name, "*default*") == 0)
16 return d->defaultsubfont;
17 if(lastname && strcmp(name, lastname)==0)
18 if(d==lastsubfont->bits->display){
19 lastsubfont->ref++;
20 return lastsubfont;
21 }
22 return 0;
23 }
25 void
26 installsubfont(char *name, Subfont *subfont)
27 {
28 free(lastname);
29 lastname = strdup(name);
30 lastsubfont = subfont; /* notice we don't free the old one; that's your business */
31 }
33 void
34 uninstallsubfont(Subfont *subfont)
35 {
36 if(subfont == lastsubfont){
37 lastname = 0;
38 lastsubfont = 0;
39 }
40 }