1*8ccd4a63SDavid du Colombier #include <u.h>
2*8ccd4a63SDavid du Colombier #include <libc.h>
3*8ccd4a63SDavid du Colombier #include <draw.h>
4*8ccd4a63SDavid du Colombier #include <memdraw.h>
57dd7cddfSDavid du Colombier
67dd7cddfSDavid du Colombier Memsubfont*
allocmemsubfont(char * name,int n,int height,int ascent,Fontchar * info,Memimage * i)77dd7cddfSDavid du Colombier allocmemsubfont(char *name, int n, int height, int ascent, Fontchar *info, Memimage *i)
87dd7cddfSDavid du Colombier {
97dd7cddfSDavid du Colombier Memsubfont *f;
107dd7cddfSDavid du Colombier
117dd7cddfSDavid du Colombier f = malloc(sizeof(Memsubfont));
127dd7cddfSDavid du Colombier if(f == 0)
137dd7cddfSDavid du Colombier return 0;
147dd7cddfSDavid du Colombier f->n = n;
157dd7cddfSDavid du Colombier f->height = height;
167dd7cddfSDavid du Colombier f->ascent = ascent;
177dd7cddfSDavid du Colombier f->info = info;
187dd7cddfSDavid du Colombier f->bits = i;
197dd7cddfSDavid du Colombier if(name)
207dd7cddfSDavid du Colombier f->name = strdup(name);
217dd7cddfSDavid du Colombier else
227dd7cddfSDavid du Colombier f->name = 0;
237dd7cddfSDavid du Colombier return f;
247dd7cddfSDavid du Colombier }
257dd7cddfSDavid du Colombier
267dd7cddfSDavid du Colombier void
freememsubfont(Memsubfont * f)277dd7cddfSDavid du Colombier freememsubfont(Memsubfont *f)
287dd7cddfSDavid du Colombier {
297dd7cddfSDavid du Colombier if(f == 0)
307dd7cddfSDavid du Colombier return;
317dd7cddfSDavid du Colombier free(f->info); /* note: f->info must have been malloc'ed! */
327dd7cddfSDavid du Colombier freememimage(f->bits);
337dd7cddfSDavid du Colombier free(f);
347dd7cddfSDavid du Colombier }
35