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