1*37da2899SCharles.Forsyth #include "lib9.h"
2*37da2899SCharles.Forsyth #include "draw.h"
3*37da2899SCharles.Forsyth #include "memdraw.h"
4*37da2899SCharles.Forsyth
5*37da2899SCharles.Forsyth Memsubfont*
allocmemsubfont(char * name,int n,int height,int ascent,Fontchar * info,Memimage * i)6*37da2899SCharles.Forsyth allocmemsubfont(char *name, int n, int height, int ascent, Fontchar *info, Memimage *i)
7*37da2899SCharles.Forsyth {
8*37da2899SCharles.Forsyth Memsubfont *f;
9*37da2899SCharles.Forsyth
10*37da2899SCharles.Forsyth f = malloc(sizeof(Memsubfont));
11*37da2899SCharles.Forsyth if(f == 0)
12*37da2899SCharles.Forsyth return 0;
13*37da2899SCharles.Forsyth f->n = n;
14*37da2899SCharles.Forsyth f->height = height;
15*37da2899SCharles.Forsyth f->ascent = ascent;
16*37da2899SCharles.Forsyth f->info = info;
17*37da2899SCharles.Forsyth f->bits = i;
18*37da2899SCharles.Forsyth if(name)
19*37da2899SCharles.Forsyth f->name = strdup(name);
20*37da2899SCharles.Forsyth else
21*37da2899SCharles.Forsyth f->name = 0;
22*37da2899SCharles.Forsyth return f;
23*37da2899SCharles.Forsyth }
24*37da2899SCharles.Forsyth
25*37da2899SCharles.Forsyth void
freememsubfont(Memsubfont * f)26*37da2899SCharles.Forsyth freememsubfont(Memsubfont *f)
27*37da2899SCharles.Forsyth {
28*37da2899SCharles.Forsyth if(f == 0)
29*37da2899SCharles.Forsyth return;
30*37da2899SCharles.Forsyth free(f->info); /* note: f->info must have been malloc'ed! */
31*37da2899SCharles.Forsyth freememimage(f->bits);
32*37da2899SCharles.Forsyth free(f);
33*37da2899SCharles.Forsyth }
34