summaryrefslogtreecommitdiffstats
Side-by-side diff
-rw-r--r--src/Makefile.am55
-rw-r--r--src/controller/README_controller.txt18
-rw-r--r--src/controller/actions/clear_selection.h (renamed from src/controller/clear_selection.h)0
-rw-r--r--src/controller/actions/clear_selection.sqc (renamed from src/controller/clear_selection.sqc)4
-rw-r--r--src/controller/actions/pan.c8
-rw-r--r--src/controller/actions/pan.h9
-rw-r--r--src/controller/actions/process_hits.c (renamed from src/controller/exp004processhits.c)12
-rw-r--r--src/controller/actions/process_hits.h8
-rw-r--r--src/controller/actions/sel_save.c141
-rw-r--r--src/controller/actions/sel_save.h9
-rw-r--r--src/controller/actions/sel_save.sqc (renamed from src/controller/selsave.sqc)8
-rw-r--r--src/controller/actions/selection_from_db.h (renamed from src/controller/selection_from_db.h)0
-rw-r--r--src/controller/actions/selection_from_db.sqc (renamed from src/controller/selection_from_db.sqc)8
-rw-r--r--src/controller/actions/set_ortho.h (renamed from src/controller/set_ortho.h)0
-rw-r--r--src/controller/actions/vis_sel_set.h (renamed from src/controller/vis_sel_set.h)0
-rw-r--r--src/controller/actions/zoom.c (renamed from src/controller/performzoom.c)12
-rw-r--r--src/controller/actions/zoom.h9
-rw-r--r--src/controller/callbacks/display.c (renamed from src/controller/exp004display.c)8
-rw-r--r--src/controller/callbacks/display.h9
-rw-r--r--src/controller/callbacks/keyboard.c (renamed from src/controller/keyboard.c)10
-rw-r--r--src/controller/callbacks/keyboard.h (renamed from src/controller/keyboard.h)0
-rw-r--r--src/controller/callbacks/mouse.c (renamed from src/controller/exp004mouse.c)36
-rw-r--r--src/controller/callbacks/mouse.h9
-rw-r--r--src/controller/callbacks/mouse_wheel.c (renamed from src/controller/mousewheel.c)22
-rw-r--r--src/controller/callbacks/mouse_wheel.h (renamed from src/controller/mousewheel.h)8
-rw-r--r--src/controller/callbacks/reshape.c (renamed from src/controller/exp004reshape.c)10
-rw-r--r--src/controller/callbacks/reshape.h6
-rw-r--r--src/controller/exp004display.h6
-rw-r--r--src/controller/exp004mouse.h6
-rw-r--r--src/controller/exp004processhits.h8
-rw-r--r--src/controller/exp004reshape.h6
-rw-r--r--src/controller/performzoom.h9
-rw-r--r--src/controller/selsave.h9
-rw-r--r--src/controller/set_ortho.c21
-rw-r--r--src/model/geometry/density_legend_geometry.c4
-rw-r--r--src/view/exp004view.c20
36 files changed, 332 insertions, 176 deletions
diff --git a/src/controller/callbacks/reshape.c b/src/controller/callbacks/reshape.c
new file mode 100644
index 0000000..da2e2bf
--- a/dev/null
+++ b/src/controller/callbacks/reshape.c
@@ -0,0 +1,50 @@
+#include "../../model/geometry/density_legend_geometry.h"
+#include "../../view/exp004state0.h"
+#include "../actions/set_ortho.h"
+#include "reshape.h"
+#include <GL/glut.h>
+
+#define S exp004state0
+
+void
+reshape (int w, int h)
+{
+ glMatrixMode (GL_PROJECTION);
+ glLoadIdentity ();
+
+ /*
+ * This scaling produces an odd effect when the coordinates are not
+ * centered at 0,0. When 0,0 is the lower left rather than the
+ * center this reshape is a bit unnatural since the image is not
+ * centered in the middle of the window.
+ */
+
+ if (w <= h)
+ {
+ S.ortho.min_x = S.ortho_min;
+ S.ortho.max_x = S.ortho_max;
+ S.ortho.min_y = S.ortho_min * (double) h / (double) w;
+ S.ortho.max_y = S.ortho_max * (double) h / (double) w;
+ }
+ else
+ {
+ S.ortho.min_x = S.ortho_min * (double) w / (double) h;
+ S.ortho.max_x = S.ortho_max * (double) w / (double) h;
+ S.ortho.min_y = S.ortho_min;
+ S.ortho.max_y = S.ortho_max;
+ }
+
+ set_ortho ();
+
+ glMatrixMode (GL_MODELVIEW);
+
+ // Set the viewport equal to the size of the window.
+ glViewport (0, 0, (GLsizei) w, (GLsizei) h);
+
+ S.viewport.w = w;
+ S.viewport.h = h;
+
+ density_legend_geometry ();
+
+ return;
+}

Valid XHTML 1.0 Strict

Copyright © 2009 Don Pellegrino All Rights Reserved.