subfont.c 561 B

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