diff options
author | Oliver Schinagl <oliver@schinagl.nl> | 2007-12-20 01:34:35 (GMT) |
---|---|---|
committer | Oliver Schinagl <oliver@schinagl.nl> | 2007-12-20 01:34:35 (GMT) |
commit | 4aabbced4987d0321827e4ae8bbd2e928205c9ba (patch) | |
tree | bad531cdacb7b4ce76e19f467e0c90677654c548 /Smoke/gtk.c | |
parent | c087310ffc1618cac7d0100b5492794f5d03db20 (diff) | |
download | 2iv35-4aabbced4987d0321827e4ae8bbd2e928205c9ba.zip 2iv35-4aabbced4987d0321827e4ae8bbd2e928205c9ba.tar.gz 2iv35-4aabbced4987d0321827e4ae8bbd2e928205c9ba.tar.bz2 |
moved alpha value constant to each of their own classes;
flowvis now draws copy of frame
Diffstat (limited to 'Smoke/gtk.c')
-rw-r--r-- | Smoke/gtk.c | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/Smoke/gtk.c b/Smoke/gtk.c index df9a6ee..d17d4ad 100644 --- a/Smoke/gtk.c +++ b/Smoke/gtk.c @@ -96,7 +96,7 @@ static void toggle_animation (GtkWidget *widget); static GdkGLConfig *configure_gl (void); static GtkWidget *create_popup_menu (GtkWidget *drawing_area); -static GtkWidget *create_window (GdkGLConfig *glconfig); +static GtkWidget *create_window (GdkGLConfig *glconfig, fftw_real *field); /************************************************************************** @@ -179,6 +179,7 @@ expose_event (GtkWidget *widget, GdkEventExpose *event, gpointer data) { + fftw_real *field = (gpointer)data; GdkGLContext *glcontext = gtk_widget_get_gl_context (widget); GdkGLDrawable *gldrawable = gtk_widget_get_gl_drawable (widget); @@ -194,8 +195,8 @@ expose_event (GtkWidget *widget, // fluids glMatrixMode(GL_MODELVIEW); glLoadIdentity(); - calculate_one_simulation_step(); - visualize(); + calculate_one_simulation_step(field); + visualize(field); // endf /* Swap buffers */ @@ -604,7 +605,7 @@ create_popup_menu (GtkWidget *drawing_area) *** drawing area that has an OpenGL-capable visual. ***/ static GtkWidget * -create_window (GdkGLConfig *glconfig) +create_window (GdkGLConfig *glconfig, fftw_real *field) { GtkWidget *window; GtkWidget *hbox; @@ -661,7 +662,7 @@ create_window (GdkGLConfig *glconfig) g_signal_connect (G_OBJECT (drawing_area), "configure_event", G_CALLBACK (configure_event), NULL); g_signal_connect (G_OBJECT (drawing_area), "expose_event", - G_CALLBACK (expose_event), NULL); + G_CALLBACK (expose_event), (gpointer)field); g_signal_connect (G_OBJECT (drawing_area), "unrealize", G_CALLBACK (unrealize), NULL); @@ -841,9 +842,10 @@ main (int argc, int i; struct color4f colormap; float value; + fftw_real *field; /* Initialize the simulation */ - init_simulation(DIM); + field = init_simulation(DIM); /* Initialize GTK. */ gtk_init (&argc, &argv); @@ -855,7 +857,7 @@ main (int argc, glconfig = configure_gl (); /* Create and show the application window. */ - window = create_window (glconfig); + window = create_window (glconfig, field); gtk_widget_show (window); init_gl(); |