diff options
author | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2007-08-21 17:13:18 +0000 |
---|---|---|
committer | taw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1> | 2007-08-21 17:13:18 +0000 |
commit | f1f7e3243ed291fa9276585f58f957c3f28d5212 (patch) | |
tree | d4be61936ff7b50e805f92834392d22bcdefd1f0 /src/imagedisplay.c | |
parent | 25ccc1413dca19717009ced22a643df3223e1a42 (diff) |
Stuff
git-svn-id: svn://cook.msm.cam.ac.uk:745/diff-tomo/dtr@70 bf6ca9ba-c028-0410-8290-897cf20841d1
Diffstat (limited to 'src/imagedisplay.c')
-rw-r--r-- | src/imagedisplay.c | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/src/imagedisplay.c b/src/imagedisplay.c index 6ca646c..9c7aee5 100644 --- a/src/imagedisplay.c +++ b/src/imagedisplay.c @@ -244,3 +244,33 @@ void imagedisplay_mark_point(ImageDisplay *imagedisplay, unsigned int x, unsigne } +void imagedisplay_mark_circle(ImageDisplay *imagedisplay, unsigned int x, unsigned int y) { + + guchar *image_eightbit; + int xd, yd; + int w, h; + + if ( !imagedisplay->pixbuf ) return; + + w = imagedisplay->width; + h = imagedisplay->height; + + g_object_get(G_OBJECT(imagedisplay->pixbuf), "pixels", &image_eightbit, NULL); + + if ( (y >= 0) && (y < h) ) { + for ( xd=biggest(x-3, 0); xd<=smallest(x+3, w-1); xd++ ) { + imagedisplay->data[3*( xd+w*(h-1-y) )] = 0; + imagedisplay->data[3*( xd+w*(h-1-y) )+1] = 255; + imagedisplay->data[3*( xd+w*(h-1-y) )+2] = 0; + } + } + if ( (x >= 0) && (x < w) ) { + for ( yd=biggest(y-3, 0); yd<=smallest(y+3, h-1); yd++ ) { + imagedisplay->data[3*( x+w*(h-1-yd) )] = 0; + imagedisplay->data[3*( x+w*(h-1-yd) )+1] = 255; + imagedisplay->data[3*( x+w*(h-1-yd) )+2] = 0; + } + } + +} + |