aboutsummaryrefslogtreecommitdiff
path: root/src/libmemdraw/subfont.c
blob: e2bdee5c02d1af5f0551f015329c5ff6278ee58c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <u.h>
#include <libc.h>
#include <draw.h>
#include <memdraw.h>

Memsubfont*
allocmemsubfont(char *name, int n, int height, int ascent, Fontchar *info, Memimage *i)
{
	Memsubfont *f;

	f = malloc(sizeof(Memsubfont));
	if(f == 0)
		return 0;
	f->n = n;
	f->height = height;
	f->ascent = ascent;
	f->info = info;
	f->bits = i;
	if(name)
		f->name = strdup(name);
	else
		f->name = 0;
	return f;
}

void
freememsubfont(Memsubfont *f)
{
	if(f == 0)
		return;
	free(f->info);	/* note: f->info must have been malloc'ed! */
	freememimage(f->bits);
	free(f);
}