From ccbfa3fe4053b703ea959d4a2ad16323dea50218 Mon Sep 17 00:00:00 2001 From: Thomas White Date: Sun, 19 Sep 2010 02:49:07 +0200 Subject: cubeit: Improve output --- src/cubeit.c | 28 ++++++++++++++++++++-------- 1 file changed, 20 insertions(+), 8 deletions(-) (limited to 'src/cubeit.c') diff --git a/src/cubeit.c b/src/cubeit.c index d5949848..407c4b56 100644 --- a/src/cubeit.c +++ b/src/cubeit.c @@ -322,6 +322,7 @@ static void write_slice(const char *filename, double *vals, int z, cairo_surface_t *surface; cairo_t *c; int w, h; + double xl, yl, xli; w = xs; h = ys; @@ -336,13 +337,24 @@ static void write_slice(const char *filename, double *vals, int z, } max /= boost; - STATUS("%f %f\n", s*(xs*as+ys*bs*cos(ang)), s*(ys*bs*sin(ang))); + xl = s*as; + yl = s*bs*sin(ang); + xli = s*bs*cos(ang); + + STATUS("%f %f\n", xs*xl + ys*xli, ys*yl); surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, - s*(xs*as+ys*bs*cos(ang)), - s*(ys*bs*sin(ang))); + xs*xl + ys*xli, ys*yl); c = cairo_create(surface); + + cairo_scale(c, 1.0, -1.0); + cairo_translate(c, 0.0, ys*yl); + + cairo_rectangle(c, 0.0, 0.0, xs*xl + ys*xli, ys*yl); + cairo_set_source_rgb(c, 1.0, 1.0, 1.0); + cairo_fill(c); + for ( y=0; y