subfont.c 546 B

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