diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/displaywindow.c | 28 | ||||
-rw-r--r-- | src/displaywindow.h | 2 |
2 files changed, 21 insertions, 9 deletions
diff --git a/src/displaywindow.c b/src/displaywindow.c index 8f883b7..92e3b0a 100644 --- a/src/displaywindow.c +++ b/src/displaywindow.c @@ -90,14 +90,6 @@ static gint displaywindow_changeview(GtkWidget *widget, GtkRadioAction *action, } -static gint displaywindow_changecube(GtkWidget *widget, DisplayWindow *dw) { - - dw->cube = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(widget)); - displaywindow_update(dw); - - return 0; -} - static gboolean displaywindow_gl_button_press(GtkWidget *widget, GdkEventButton *event, DisplayWindow *dw) { dw->x_start = event->x; dw->y_start = event->y; @@ -824,6 +816,22 @@ static void displaywindow_addui_callback(GtkUIManager *ui, GtkWidget *widget, Gt } +static gint displaywindow_changecube(GtkWidget *widget, DisplayWindow *dw) { + + dw->cube = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(widget)); + displaywindow_update(dw); + + return 0; +} + +static gint displaywindow_changelines(GtkWidget *widget, DisplayWindow *dw) { + + dw->lines = gtk_toggle_action_get_active(GTK_TOGGLE_ACTION(widget)); + displaywindow_update(dw); + + return 0; +} + static void displaywindow_addmenubar(DisplayWindow *dw) { GtkActionEntry entries[] = { @@ -849,7 +857,8 @@ static void displaywindow_addmenubar(DisplayWindow *dw) { }; guint n_radios = G_N_ELEMENTS(radios); GtkToggleActionEntry toggles[] = { - { "CubeAction", NULL, "100 nm^-1 _cube", "<Ctrl>C", NULL, G_CALLBACK(displaywindow_changecube), TRUE }, + { "CubeAction", NULL, "Show 100 nm^-1 _Cube", "<Ctrl>C", NULL, G_CALLBACK(displaywindow_changecube), dw->cube }, + { "LinesAction", NULL, "Show Indexing Lines", "<Ctrl>L", NULL, G_CALLBACK(displaywindow_changelines), dw->lines }, }; guint n_toggles = G_N_ELEMENTS(toggles); @@ -898,6 +907,7 @@ DisplayWindow *displaywindow_open(ControlContext *ctx) { dw->view_quat[3] = 1.0; dw->ctx = ctx; dw->cube = TRUE; + dw->lines = FALSE; dw->window = gtk_window_new(GTK_WINDOW_TOPLEVEL); gtk_window_set_title(GTK_WINDOW(dw->window), title); diff --git a/src/displaywindow.h b/src/displaywindow.h index 98ec148..f53e19f 100644 --- a/src/displaywindow.h +++ b/src/displaywindow.h @@ -17,6 +17,7 @@ #define DISPLAYWINDOW_H #include <gtk/gtk.h> +#include <GL/gl.h> #include "control.h" @@ -44,6 +45,7 @@ typedef struct dw_struct { int gl_use_buffers; /* 0=use vertex arrays only, otherwise use VBOs */ GLuint gl_ref_vertex_buffer; /* "Measured reflection" stuff */ GLfloat *gl_ref_vertex_array; + int lines; GLuint gl_ref_normal_buffer; GLfloat *gl_ref_normal_array; GLsizei gl_ref_num_vertices; |