summaryrefslogtreecommitdiff
path: root/src/post/goom/surface.c
blob: 2a452564b01f5562b13108602873e2da6bafa7f3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include "surface.h"
#include <stdlib.h>

Surface * surface_new (int w, int h) {
  Surface * s = (Surface*)malloc(sizeof(Surface));
  s->realstart = (int*)malloc(w*h*4 + 128);
  s->buf = (int*)((int)s->realstart + 128 - (((int)s->realstart) % 128));
  s->size = w*h;
  s->width = w;
  s->height = h;
  return s;
}

void surface_delete (Surface **s) {
  free ((*s)->realstart);
  free (*s);
  *s = NULL;
}