summaryrefslogtreecommitdiff
path: root/internal.h
diff options
context:
space:
mode:
Diffstat (limited to 'internal.h')
-rw-r--r--internal.h19
1 files changed, 15 insertions, 4 deletions
diff --git a/internal.h b/internal.h
index 3190a19..c204d9a 100644
--- a/internal.h
+++ b/internal.h
@@ -38,6 +38,17 @@ void *erealloc(void*, ulong);
Memimage *eallocmemimage(Rectangle, ulong);
/* fb */
+Raster *allocraster(char*, Rectangle, ulong);
+void clearraster(Raster*, ulong);
+void fclearraster(Raster*, float);
+uchar *rasterbyteaddr(Raster*, Point);
+void rasterput(Raster*, Point, void*);
+void rasterget(Raster*, Point, void*);
+void rasterputcolor(Raster*, Point, ulong);
+ulong rastergetcolor(Raster*, Point);
+void rasterputfloat(Raster*, Point, float);
+float rastergetfloat(Raster*, Point);
+void freeraster(Raster*);
Framebuf *mkfb(Rectangle);
void rmfb(Framebuf*);
Framebufctl *mkfbctl(Rectangle);
@@ -61,10 +72,10 @@ void memsetl(void*, ulong, usize);
/* nanosec */
uvlong nanosec(void);
-/* ulong getpixel(Framebuf *fb, Point p) */
-#define getpixel(fb, p) (((fb)->cb)[Dx((fb)->r)*(p).y + (p).x])
-/* void putpixel(Framebuf *fb, Point p, ulong c) */
-#define putpixel(fb, p, c) (((fb)->cb)[Dx((fb)->r)*(p).y + (p).x] = (c))
+#define getpixel(fb, p) rastergetcolor(fb, p)
+#define putpixel(fb, p, c) rasterputcolor(fb, p, c)
+#define getdepth(fb, p) rastergetfloat(fb, p)
+#define putdepth(fb, p, z) rasterputfloat(fb, p, z)
/* void SWAP(type t, type *a, type *b) */
#define SWAP(t, a, b) {t tmp; tmp = *(a); *(a) = *(b); *(b) = tmp;}