summaryrefslogtreecommitdiff
path: root/src/post/goom/surface.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/post/goom/surface.c')
-rwxr-xr-xsrc/post/goom/surface.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/src/post/goom/surface.c b/src/post/goom/surface.c
new file mode 100755
index 000000000..2a452564b
--- /dev/null
+++ b/src/post/goom/surface.c
@@ -0,0 +1,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;
+}