diff --git a/solidify/level.c b/solidify/level.c index 7030b1f..c8fb8b7 100644 --- a/solidify/level.c +++ b/solidify/level.c @@ -223,7 +223,7 @@ static gboolean scroll_event(GtkWidget *widget, GdkEventScroll *event, } -static gboolean expose_event(GtkWidget *widget, GdkEventExpose *event, +static gboolean expose_event_xy(GtkWidget *widget, GdkEventExpose *event, gpointer user_data) { draw_image(widget, user_data, has_osd); @@ -231,6 +231,22 @@ static gboolean expose_event(GtkWidget *widget, GdkEventExpose *event, } +static gboolean expose_event_xz(GtkWidget *widget, GdkEventExpose *event, + gpointer user_data) +{ + draw_xz(widget, user_data, -1); + return TRUE; +} + + +static gboolean expose_event_zy(GtkWidget *widget, GdkEventExpose *event, + gpointer user_data) +{ + draw_zy(widget, user_data, -1); + return TRUE; +} + + static gboolean motion_notify_event(GtkWidget *widget, GdkEventMotion *event, gpointer data) { @@ -280,14 +296,16 @@ void level(GtkWidget *canvas, struct face *f) gtk_container_add(GTK_CONTAINER(evbox), xy); gtk_widget_show_all(canvas); - draw_image(xy, f, 0); - draw_xz(xz, f, -1); - draw_zy(zy, f, -1); + has_osd = 0; g_signal_connect(G_OBJECT(evbox), "scroll-event", G_CALLBACK(scroll_event), f); g_signal_connect(G_OBJECT(xy), "expose-event", - G_CALLBACK(expose_event), f); + G_CALLBACK(expose_event_xy), f); + g_signal_connect(G_OBJECT(xz), "expose-event", + G_CALLBACK(expose_event_xz), f); + g_signal_connect(G_OBJECT(zy), "expose-event", + G_CALLBACK(expose_event_zy), f); g_signal_connect(G_OBJECT(xy), "motion-notify-event", G_CALLBACK(motion_notify_event), f); }