bugrepair VFS, update autotools files
[gpiv.git] / src / display.h
blob154b93f3c0050eff2cc348992e566908d53abfcc
1 /* -*- Mode: C; indent-tabs-mode: nil; c-basic-offset: 4 c-style: "K&R" -*- */
3 /*----------------------------------------------------------------------
5 gpiv - Graphic program for Particle Image Velocimetry, based on gtk/gnome
6 libraries.
8 Copyright (C) 2002, 2003, 2004, 2005, 2006, 2007, 2008
9 Gerber van der Graaf <gerber_graaf@users.sourceforge.net>
11 This file is part of gpiv.
13 Gpiv is free software; you can redistribute it and/or modify
14 it under the terms of the GNU General Public License as published by
15 the Free Software Foundation; either version 2, or (at your option)
16 any later version.
18 This program is distributed in the hope that it will be useful,
19 but WITHOUT ANY WARRANTY; without even the implied warranty of
20 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 GNU General Public License for more details.
23 You should have received a copy of the GNU General Public License
24 along with this program; if not, write to the Free Software Foundation,
25 Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
27 ----------------------------------------------------------------------*/
31 * (callback) functions for the display
32 * $Log: display.h,v $
33 * Revision 1.14 2007-12-19 08:42:35 gerber
34 * debugged
36 * Revision 1.13 2007-11-23 16:24:07 gerber
37 * release 0.5.0: Kafka
39 * Revision 1.12 2007-06-06 17:00:48 gerber
40 * Retreives images/data from URI using Gnome Virtual File System.
42 * Revision 1.11 2007/02/05 15:17:09 gerber
43 * auto stretching, broadcast display settings to buffers from preferences
45 * Revision 1.10 2007-01-29 11:27:43 gerber
46 * added image formats png, gif, tif png, bmp, improved buffer display
48 * Revision 1.9 2006/01/31 14:28:12 gerber
49 * version 0.3.0
51 * Revision 1.8 2005/06/15 09:40:40 gerber
52 * debugged, optimized
54 * Revision 1.7 2004/10/15 19:24:05 gerber
55 * GPIV_ and Gpiv prefix to defines and structure names of libgpiv
57 * Revision 1.6 2004/06/14 21:19:23 gerber
58 * Image depth up to 16 bits.
59 * Improvement "single int" and "drag int" in Eval tab.
60 * Viewer's pop-up menu.
61 * Adaption for gpiv_matrix_* and gpiv_vector_*.
62 * Resizing console.
63 * See Changelog for further info.
65 * Revision 1.5 2003/09/01 11:17:14 gerber
66 * improved monitoring of interrogation process
68 * Revision 1.4 2003/08/22 15:24:52 gerber
69 * interactive spatial scaling
71 * Revision 1.3 2003/07/31 11:43:26 gerber
72 * display images in gnome canvas (HOERAreset)
74 * Revision 1.2 2003/06/27 13:47:26 gerber
75 * display ruler, line/point evaluation
77 * Revision 1.1.1.1 2003/06/17 17:10:52 gerber
78 * Imported gpiv
82 #ifndef DISPLAY_H
83 #define DISPLAY_H
85 #include "display_image.h"
86 #include "display_event.h"
87 #include "display_zoom.h"
90 enum DataType {
91 DATA_TYPE__INTREG,
92 DATA_TYPE__PIV
96 enum DisplayMenuId {
97 VIEW_MENUBAR,
98 VIEW_RULERS,
99 STRETCH_AUTO,
100 VIEW_BLUE,
101 VIEW_BLACK,
102 VIEW_IMAGE_A,
103 VIEW_IMAGE_B,
104 VIEW_INTERROGATION_AREAS,
105 VIEW_VELOCITY_VECTORS,
106 VIEW_NONE_SCALARS,
107 VIEW_VORTICITY,
108 VIEW_SHEAR_STRAIN,
109 VIEW_NORMAL_STRAIN,
110 VECTOR_COLOR_PEAK,
111 VECTOR_COLOR_SNR,
112 VECTOR_COLOR_MAGNGRAY,
113 VECTOR_COLOR_MAGNCOLOR
117 gboolean shift_pressed, ctrl_pressed, alt_pressed;
118 gint enable_col_start, enable_col_end, enable_row_start,
119 enable_row_end;
121 void
122 /* on_display_set_focus(gpointer data, guint action, GtkWidget *widget); */
123 on_display_set_focus (GtkWidget *widget,
124 gpointer data);
126 void
127 delete_display (GtkWidget *widget,
128 GdkEvent *event,
129 gpointer data);
131 void
132 on_adj_changed (GtkAdjustment *adj,
133 gpointer data);
135 /* void */
136 /* select_zoomscale (GtkMenuItem * menuitem, gpointer data, guint action); */
138 void
139 zoom_display (Display *disp,
140 gint zoom_index);
143 * Callback functions for the display menu
146 void
147 on_menu_synchronize_popup (GtkMenuItem *menuitem,
148 gpointer user_data);
150 void
151 on_stretch_activate (GtkMenuItem *menuitem,
152 gpointer user_data);
154 void
155 on_zoom_activate (GtkMenuItem *menuitem,
156 gpointer user_data);
158 void
159 on_vector_scale_activate (GtkMenuItem *menuitem,
160 gpointer user_data);
163 * Callbacks for popup menus
165 void
166 view_toggle_menubar (GtkWidget *widget,
167 gpointer data);
169 void
170 view_toggle_rulers (GtkWidget *widget,
171 gpointer data);
173 void
174 view_toggle_stretch_display_auto (GtkWidget *widget,
175 gpointer data);
177 void
178 view_toggle_stretch_display (GtkWidget *widget,
179 gpointer data);
181 void
182 select_zoomscale (gpointer data,
183 guint action,
184 GtkWidget *widget);
186 void
187 select_view_background (gpointer data,
188 guint action,
189 GtkWidget *widget);
191 void
192 view_toggle_intregs (GtkWidget *widget,
193 gpointer data);
195 void
196 view_toggle_piv (GtkWidget *widget,
197 gpointer data);
199 void
200 select_view_scalardata (gpointer data,
201 guint action,
202 GtkWidget *widget);
204 void
205 select_vectorscale (gpointer data,
206 guint action,
207 GtkWidget *widget);
209 void
210 select_vectorcolor (gpointer data,
211 guint action,
212 GtkWidget *widget);
214 void
215 on_view_options_clicked (GtkButton *button,
216 gpointer user_data);
219 #endif /* DISPLAY_H */