#include "keyboard.h" #include "clear_selection.h" #include "selection_from_db.h" #include "exp004reshape.h" #include "../view/exp004state0.h" #include #define S exp004state0 void keyboard (unsigned char key, int x, int y) { switch (key) { case 27: /* * ESC Pressed. */ clear_selection (); glutPostRedisplay (); break; case 'g': /* * g has been pressed. This is used to load a selection from * the database since it is the convention to use g for * refreshing a buffer in Emacs. */ selection_from_db (); glutPostRedisplay (); break; case 'l': /* * Toggle display of the legend. */ S.legend = !S.legend; glutPostRedisplay (); break; case 'r': /* * Reset the view (unzoom). */ S.zoom.active = false; exp004reshape (S.viewport.w, S.viewport.h); glutPostRedisplay (); break; case 's': /* * Selection will be used to define a set. */ S.selection.purpose = SET; break; case 'z': /* * Selection will be use to zoom. */ S.selection.purpose = ZOOM; break; } return; }