From d200349cad19fa80947b441711cc36685a974aa2 Mon Sep 17 00:00:00 2001 From: Tom White Date: Mon, 29 Sep 2008 15:08:19 +0100 Subject: Line wrapping in src/imagedisplay.{c,h} --- src/imagedisplay.c | 34 ++++++++++++++++++++++------------ src/imagedisplay.h | 18 +++++++++++++----- 2 files changed, 35 insertions(+), 17 deletions(-) diff --git a/src/imagedisplay.c b/src/imagedisplay.c index 00b7285..4ca46a5 100644 --- a/src/imagedisplay.c +++ b/src/imagedisplay.c @@ -3,7 +3,7 @@ * * Show raw and processed images * - * (c) 2007 Thomas White + * (c) 2007-2008 Thomas White * * dtr - Diffraction Tomography Reconstruction * @@ -181,7 +181,8 @@ static gboolean imagedisplay_redraw(GtkWidget *drawingarea, GdkEventExpose *even yoffs = ((double)imagedisplay->drawingarea_height - imagedisplay->view_height) / 2; scale = (double)imagedisplay->view_width/imagedisplay->imagerecord.width; - gdk_draw_pixbuf(drawingarea->window, drawingarea->style->bg_gc[GTK_WIDGET_STATE(drawingarea)], imagedisplay->pixbuf_scaled, + gdk_draw_pixbuf(drawingarea->window, drawingarea->style->bg_gc[GTK_WIDGET_STATE(drawingarea)], + imagedisplay->pixbuf_scaled, 0, 0, xoffs, yoffs, imagedisplay->view_width, imagedisplay->view_height, GDK_RGB_DITHER_NONE, 0, 0); @@ -245,8 +246,9 @@ static gboolean imagedisplay_redraw(GtkWidget *drawingarea, GdkEventExpose *even default : gc = imagedisplay->gc_marks_1; break; } - if ( (cur->type == IMAGEDISPLAY_MARK_CIRCLE_1) || (cur->type == IMAGEDISPLAY_MARK_CIRCLE_2) - || (cur->type == IMAGEDISPLAY_MARK_CIRCLE_3) ) { + if ( (cur->type == IMAGEDISPLAY_MARK_CIRCLE_1) + || (cur->type == IMAGEDISPLAY_MARK_CIRCLE_2) + || (cur->type == IMAGEDISPLAY_MARK_CIRCLE_3) ) { double r; @@ -351,10 +353,14 @@ ImageDisplay *imagedisplay_new_nowindow(ImageRecord imagerecord, ImageDisplayFla G_CALLBACK(imagedisplay->mouse_click_func), callback_data); } - g_signal_connect(GTK_OBJECT(imagedisplay->drawingarea), "realize", G_CALLBACK(imagedisplay_realize), imagedisplay); - g_signal_connect(GTK_OBJECT(imagedisplay->drawingarea), "destroy", G_CALLBACK(imagedisplay_destroyed), imagedisplay); - g_signal_connect(GTK_OBJECT(imagedisplay->drawingarea), "configure_event", G_CALLBACK(imagedisplay_configure_event), imagedisplay); - g_signal_connect(GTK_OBJECT(imagedisplay->drawingarea), "expose-event", G_CALLBACK(imagedisplay_redraw), imagedisplay); + g_signal_connect(GTK_OBJECT(imagedisplay->drawingarea), "realize", + G_CALLBACK(imagedisplay_realize), imagedisplay); + g_signal_connect(GTK_OBJECT(imagedisplay->drawingarea), "destroy", + G_CALLBACK(imagedisplay_destroyed), imagedisplay); + g_signal_connect(GTK_OBJECT(imagedisplay->drawingarea), "configure_event", + G_CALLBACK(imagedisplay_configure_event), imagedisplay); + g_signal_connect(GTK_OBJECT(imagedisplay->drawingarea), "expose-event", + G_CALLBACK(imagedisplay_redraw), imagedisplay); return imagedisplay; @@ -362,7 +368,8 @@ ImageDisplay *imagedisplay_new_nowindow(ImageRecord imagerecord, ImageDisplayFla /* Display an image */ ImageDisplay *imagedisplay_open_with_message(ImageRecord imagerecord, const char *title, const char *message, - ImageDisplayFlags flags, GCallback mouse_click_func, gpointer callback_data) { + ImageDisplayFlags flags, GCallback mouse_click_func, + gpointer callback_data) { ImageDisplay *imagedisplay; GdkGeometry geom; @@ -375,7 +382,8 @@ ImageDisplay *imagedisplay_open_with_message(ImageRecord imagerecord, const char gtk_window_set_title(GTK_WINDOW(imagedisplay->window), imagedisplay->title); geom.min_width = 128; geom.min_height = 128; - gtk_window_set_geometry_hints(GTK_WINDOW(imagedisplay->window), GTK_WIDGET(imagedisplay->drawingarea), &geom, GDK_HINT_MIN_SIZE); + gtk_window_set_geometry_hints(GTK_WINDOW(imagedisplay->window), GTK_WIDGET(imagedisplay->drawingarea), + &geom, GDK_HINT_MIN_SIZE); gtk_window_set_default_size(GTK_WINDOW(imagedisplay->window), 512, 512); @@ -411,7 +419,8 @@ 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) { +void imagedisplay_add_line(ImageDisplay *imagedisplay, double x1, double y1, + double x2, double y2, ImageDisplayMarkType type) { ImageDisplayMark *new; @@ -436,6 +445,7 @@ void imagedisplay_add_line(ImageDisplay *imagedisplay, double x1, double y1, dou 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); + gtk_widget_queue_draw_area(imagedisplay->drawingarea, 0, 0, imagedisplay->drawingarea_width, + imagedisplay->drawingarea_height); } diff --git a/src/imagedisplay.h b/src/imagedisplay.h index 325ea96..e20e4eb 100644 --- a/src/imagedisplay.h +++ b/src/imagedisplay.h @@ -3,7 +3,7 @@ * * Show raw and processed images * - * (c) 2007 Thomas White + * (c) 2007-2008 Thomas White * * dtr - Diffraction Tomography Reconstruction * @@ -80,12 +80,20 @@ typedef struct imagedisplay_struct { } ImageDisplay; extern ImageDisplay *imagedisplay_open(ImageRecord image, const char *title, ImageDisplayFlags flags); + extern ImageDisplay *imagedisplay_open_with_message(ImageRecord image, const char *title, const char *message, - ImageDisplayFlags flags, GCallback mouse_click_func, gpointer callback_data); + ImageDisplayFlags flags, GCallback mouse_click_func, + gpointer callback_data); + extern ImageDisplay *imagedisplay_new_nowindow(ImageRecord imagerecord, ImageDisplayFlags flags, const char *message, - GCallback mouse_click_func, gpointer callback_data); -extern void imagedisplay_add_mark(ImageDisplay *imagedisplay, double x, double y, ImageDisplayMarkType type, double weight); -extern void imagedisplay_add_line(ImageDisplay *imagedisplay, double x1, double y1, double x2, double y2, ImageDisplayMarkType type); + GCallback mouse_click_func, gpointer callback_data); + +extern void imagedisplay_add_mark(ImageDisplay *imagedisplay, double x, double y, ImageDisplayMarkType type, + double weight); + +extern void imagedisplay_add_line(ImageDisplay *imagedisplay, double x1, double y1, + double x2, double y2, ImageDisplayMarkType type); + extern void imagedisplay_force_redraw(ImageDisplay *imagedisplay); extern void imagedisplay_put_data(ImageDisplay *imagedisplay, ImageRecord imagerecord); extern void imagedisplay_close(ImageDisplay *imagedisplay); -- cgit v1.2.3