diff options
author | Oliver Schinagl <oliver@schinagl.nl> | 2007-12-19 15:44:23 (GMT) |
---|---|---|
committer | Oliver Schinagl <oliver@schinagl.nl> | 2007-12-19 15:44:23 (GMT) |
commit | a60088999da4f44bf5885f431fe78eb87d643ae7 (patch) | |
tree | 27940a3cd14a7cdee60ddb0263bf1173c51df56c /Smoke/gtk.c | |
parent | c287b3f591fe3e10dceedfd90a5ce71b2c703988 (diff) | |
download | 2iv35-a60088999da4f44bf5885f431fe78eb87d643ae7.zip 2iv35-a60088999da4f44bf5885f431fe78eb87d643ae7.tar.gz 2iv35-a60088999da4f44bf5885f431fe78eb87d643ae7.tar.bz2 |
splitted up glyphs
Diffstat (limited to 'Smoke/gtk.c')
-rw-r--r-- | Smoke/gtk.c | 100 |
1 files changed, 20 insertions, 80 deletions
diff --git a/Smoke/gtk.c b/Smoke/gtk.c index e567e44..9c91164 100644 --- a/Smoke/gtk.c +++ b/Smoke/gtk.c @@ -47,12 +47,14 @@ #include <rfftw.h> //the numerical simulation FFTW library + #include "fluids.h" #include "palette.h" #include "renderer_gl.h" #include "seedpoint.h" #include "gtk_colormap.h" +#include "gtk_glyphs.h" /************************************************************************** * The following section contains all the macro definitions. @@ -406,19 +408,23 @@ key_press_event (GtkWidget *widget, break; case GDK_x: - if (fluids_get_render_smoke()) { - fluids_set_render_smoke(TRUE); + if (smoke_get_render()) { + smoke_set_render(TRUE); } else { - fluids_set_render_smoke(FALSE); + smoke_set_render(FALSE); } break; case GDK_y: - toggle_glyph_usage(); + if (glyphs_get_render()) { + glyphs_set_render(TRUE); + } else { + glyphs_set_render(FALSE); + } break; case GDK_m: - scalar_col++; if (scalar_col > COLOR_OLIVER) scalar_col = COLOR_BLACKWHITE; + scalar_col++; if (scalar_col > PALETTE_OLIVER) scalar_col = PALETTE_BLACKWHITE; break; case GDK_a: @@ -605,7 +611,12 @@ void show_settings(GtkWidget *notebook) #endif static gboolean select_render_smoke(GtkWidget *button, gpointer data) { - fluids_set_render_smoke(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))); + smoke_set_render(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))); +} + + +static gboolean select_render_glyphs(GtkWidget *button, gpointer data) { + glyphs_set_render(gtk_toggle_button_get_active(GTK_TOGGLE_BUTTON(button))); } static gboolean @@ -639,8 +650,8 @@ GtkWidget *create_main_page(void) gtk_widget_show(button); button = gtk_check_button_new_with_label("Draw Glyphs"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(toggle_glyph_usage), NULL); + gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), FALSE); + g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(select_render_glyphs), NULL); gtk_box_pack_start (GTK_BOX(box), button, TRUE, TRUE, 0); gtk_widget_show(button); @@ -706,77 +717,6 @@ GtkWidget *create_main_page(void) return page; } -/* - * Draw glyph notebook page - */ -GtkWidget *create_glyph_page(void) -{ - /* in reality a page is really just a vbox filled with other widgets - */ - GtkWidget *page; - GtkWidget *frame; - GtkWidget *box; - GtkWidget *button; - GSList *dataset_group; - - page = gtk_vbox_new(FALSE, 0); - - frame = gtk_frame_new("Scalarset"); - - box = gtk_hbox_new(FALSE, 0); - - button = gtk_radio_button_new_with_label (NULL, "Rho"); - gtk_toggle_button_set_active(GTK_TOGGLE_BUTTON(button), TRUE); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_glyph_scalar), (gpointer)SCALAR_RHO); - gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - dataset_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(button)); - - button = gtk_radio_button_new_with_label(dataset_group, "Velocity"); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_glyph_scalar), (gpointer)SCALAR_VEL); - gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - button = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(button), "Force"); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_glyph_scalar), (gpointer)SCALAR_FORCE); - gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - gtk_container_add(GTK_CONTAINER(frame), box); - gtk_widget_show(box); - - gtk_box_pack_start (GTK_BOX(page), frame, FALSE, TRUE, 0); - gtk_widget_show(frame); - - frame = gtk_frame_new("Vectorset"); - - box = gtk_hbox_new(FALSE, 0); - - button = gtk_radio_button_new_with_label(NULL, "Velocity"); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_glyph_vector), (gpointer)VECTOR_VEL); - gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - dataset_group = gtk_radio_button_get_group(GTK_RADIO_BUTTON(button)); - - button = gtk_radio_button_new_with_label_from_widget(GTK_RADIO_BUTTON(button), "Force"); - g_signal_connect (G_OBJECT(button), "clicked", G_CALLBACK(set_glyph_vector), (gpointer)VECTOR_FORCE); - gtk_box_pack_start(GTK_BOX(box), button, TRUE, TRUE, 0); - gtk_widget_show(button); - - gtk_container_add(GTK_CONTAINER(frame), box); - gtk_widget_show(box); - - gtk_box_pack_start (GTK_BOX(page), frame, FALSE, TRUE, 0); - gtk_widget_show(frame); - - return page; -} - -/* - * Draw divergence notebook page - */ GtkWidget *create_divergence_page(void) { /* in reality a page is really just a vbox filled with other widgets @@ -980,7 +920,7 @@ create_window (GdkGLConfig *glconfig) notebook_page_label = gtk_label_new("Glyphs"); gtk_widget_show(notebook_page_label); - notebook_page = create_glyph_page(); + notebook_page = create_glyphs_page(); gtk_widget_show(notebook_page); gtk_notebook_append_page(GTK_NOTEBOOK(settings_notebook), notebook_page, notebook_page_label); |