void load_images(AppData *appdata) {
g_print("Loading images\n");
- int i = 0;
+ guint i = 0;
while(i < 10) {
- char* path = malloc(30);
+ char* path = g_malloc(30);
g_sprintf(path, IMAGE_PATH, i);
- appdata->image_array[i] = (GtkImage*) gtk_image_new_from_file(path);
+ appdata->image_array[i] = gtk_image_new_from_file(path);
g_print(path);
g_print("\n");
- free(path);
+ g_free(path);
i++;
}
}
-void reset_speed(AppData* appdata) {
+void load_initial_pixbufs(AppData* appdata) {
- GdkPixbuf* zero = gtk_image_get_pixbuf(appdata->image_array[0]);
+ GdkPixbuf* zero = gtk_image_get_pixbuf(GTK_IMAGE(appdata->image_array[0]));
- appdata->speed_array[0] = (GtkImage*) gtk_image_new_from_pixbuf(zero);
- appdata->speed_array[1] = (GtkImage*) gtk_image_new_from_pixbuf(zero);
- appdata->speed_array[2] = (GtkImage*) gtk_image_new_from_pixbuf(zero);
+ appdata->digit_array[0] = GTK_WIDGET(gtk_image_new_from_pixbuf(zero));
+ appdata->digit_array[1] = GTK_WIDGET(gtk_image_new_from_pixbuf(zero));
+ appdata->digit_array[2] = GTK_WIDGET(gtk_image_new_from_pixbuf(zero));
}
void set_nth_digit(AppData* appdata, guint n, guint value) {
//assert(nth >= 0 && nth < 3);
- GtkImage* image = appdata->speed_array[n];
- GdkPixbuf* buf = gtk_image_get_pixbuf(appdata->image_array[value]);
- gtk_image_set_from_pixbuf(image, buf);
- gtk_widget_queue_draw(GTK_WIDGET(appdata->speed_array[n]));
+ GtkWidget* image = appdata->digit_array[n];
+ GdkPixbuf* buf = gtk_image_get_pixbuf(GTK_IMAGE(appdata->image_array[value]));
+ gtk_image_set_from_pixbuf(GTK_IMAGE(image), buf);
}
-guint randomize(AppData* appdata) {
+void repaint_all_digits(AppData* appdata) {
+ gtk_widget_queue_draw(GTK_WIDGET(appdata->digit_array[0]));
+ gtk_widget_queue_draw(GTK_WIDGET(appdata->digit_array[1]));
+ gtk_widget_queue_draw(GTK_WIDGET(appdata->digit_array[2]));
+}
+
+void randomize(AppData* appdata) {
gint32 n = g_random_int_range(0, 3);
- GtkImage* image = appdata->speed_array[n];
+ GtkWidget* image = appdata->digit_array[n];
gint32 m = g_random_int_range(0, 10);
- GdkPixbuf* buf = gtk_image_get_pixbuf(appdata->image_array[m]);
+ GdkPixbuf* buf = gtk_image_get_pixbuf(GTK_IMAGE(appdata->image_array[m]));
g_print("Setting number %d to %d.. ", n+1, m);
- gtk_image_set_from_pixbuf(image, buf);
- gtk_widget_queue_draw(GTK_WIDGET(appdata->speed_array[n]));
-
- return TRUE;
+ gtk_image_set_from_pixbuf(GTK_IMAGE(image), buf);
+ gtk_widget_queue_draw(appdata->digit_array[n]);
}
void create_ui(AppData* appdata) {
appdata->window);
// add three digits to the hbox
- gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->speed_array[0]), FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->speed_array[1]), FALSE, FALSE, 0);
- gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->speed_array[2]), FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->digit_array[0]), FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->digit_array[1]), FALSE, FALSE, 0);
+ gtk_box_pack_start(GTK_BOX(hbox), GTK_WIDGET(appdata->digit_array[2]), FALSE, FALSE, 0);
gtk_box_pack_start_defaults(GTK_BOX(vbox), top_e); // add event box on top
gtk_box_pack_start_defaults(GTK_BOX(vbox), hbox); // numbers to the middle