]> git.lizzy.rs Git - plan9front.git/blob - sys/src/libdraw/subfontcache.c
Import sources from 2011-03-30 iso image
[plan9front.git] / sys / src / libdraw / subfontcache.c
1 #include <u.h>
2 #include <libc.h>
3 #include <draw.h>
4
5 /*
6  * Easy versions of the cache routines; may be substituted by fancier ones for other purposes
7  */
8
9 static char     *lastname;
10 Subfont *lastsubfont;
11
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 }
24
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 }
32
33 void
34 uninstallsubfont(Subfont *subfont)
35 {
36         if(subfont == lastsubfont){
37                 lastname = 0;
38                 lastsubfont = 0;
39         }
40 }