aboutsummaryrefslogtreecommitdiff
path: root/src/imagedisplay.c
diff options
context:
space:
mode:
authortaw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1>2007-10-25 17:42:26 +0000
committertaw27 <taw27@bf6ca9ba-c028-0410-8290-897cf20841d1>2007-10-25 17:42:26 +0000
commit43c03565d1ee87135e9fe206bcbf834e16763879 (patch)
tree7a72155168fe2365960f3d6a0e717c723844a8c2 /src/imagedisplay.c
parentf96d25141ffee4ec8d18dbbcadb734fb16c92d52 (diff)
Feature partnering algorithm (of sorts)
git-svn-id: svn://cook.msm.cam.ac.uk:745/diff-tomo/dtr@177 bf6ca9ba-c028-0410-8290-897cf20841d1
Diffstat (limited to 'src/imagedisplay.c')
-rw-r--r--src/imagedisplay.c26
1 files changed, 24 insertions, 2 deletions
diff --git a/src/imagedisplay.c b/src/imagedisplay.c
index c2f2fbe..c70d8a8 100644
--- a/src/imagedisplay.c
+++ b/src/imagedisplay.c
@@ -119,7 +119,7 @@ void imagedisplay_put_data(ImageDisplay *imagedisplay, ImageRecord imagerecord)
}
-void imagedisplay_clear_circles(ImageDisplay *imagedisplay) {
+void imagedisplay_clear_marks(ImageDisplay *imagedisplay) {
ImageDisplayMark *cur;
@@ -135,7 +135,7 @@ void imagedisplay_clear_circles(ImageDisplay *imagedisplay) {
static void imagedisplay_destroyed(GtkWidget *widget, ImageDisplay *imagedisplay) {
- imagedisplay_clear_circles(imagedisplay);
+ imagedisplay_clear_marks(imagedisplay);
if ( imagedisplay->flags & IMAGEDISPLAY_QUIT_IF_CLOSED ) {
gtk_exit(0);
@@ -333,6 +333,28 @@ void imagedisplay_add_mark(ImageDisplay *imagedisplay, double x, double y, Image
}
+void imagedisplay_add_line(ImageDisplay *imagedisplay, double x1, double y1, double x2, double y2, ImageDisplayMarkType type) {
+
+ ImageDisplayMark *new;
+
+ new = malloc(sizeof(ImageDisplayMark));
+ new->x = x1; new->y = y1;
+ new->x2 = x2; new->y2 = y2;
+ new->type = type;
+ new->next = NULL;
+
+ if ( !imagedisplay->marks ) {
+ imagedisplay->marks = new;
+ } else {
+ ImageDisplayMark *cur = imagedisplay->marks;
+ while ( cur->next ) {
+ cur = cur->next;
+ }
+ cur->next = new;
+ }
+
+}
+
void imagedisplay_force_redraw(ImageDisplay *imagedisplay) {
imagedisplay_rescale(imagedisplay, imagedisplay->drawingarea_width, imagedisplay->drawingarea_height);
gtk_widget_queue_draw_area(imagedisplay->drawingarea, 0, 0, imagedisplay->drawingarea_width, imagedisplay->drawingarea_height);