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(strcmp(name, "*default*") == 0)
16 return d->defaultsubfont;
17 if(lastname && strcmp(name, lastname)==0 && d==lastsubfont->bits->display){
18 lastsubfont->ref++;
19 return lastsubfont;
20 }
21 return 0;
22 }
24 void
25 installsubfont(char *name, Subfont *subfont)
26 {
27 free(lastname);
28 lastname = strdup(name);
29 lastsubfont = subfont; /* notice we don't free the old one; that's your business */
30 }
32 void
33 uninstallsubfont(Subfont *subfont)
34 {
35 if(subfont == lastsubfont){
36 lastname = 0;
37 lastsubfont = 0;
38 }
39 }