Blame


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