# HG changeset patch # User meillo@marmaro.de # Date 1196809719 -3600 # Node ID 6aaba3a61563a4f22be41858c03af625a69710b7 # Parent e359bea4c8ac20c929c5ff644ae437a191f883d7 added ratio control code diff -r e359bea4c8ac -r 6aaba3a61563 Makefile --- a/Makefile Tue Dec 04 23:20:51 2007 +0100 +++ b/Makefile Wed Dec 05 00:08:39 2007 +0100 @@ -19,7 +19,7 @@ clean: - rm ${OBJS} + rm *.o rm ${PACKAGE} diff -r e359bea4c8ac -r 6aaba3a61563 callbacks.c --- a/callbacks.c Tue Dec 04 23:20:51 2007 +0100 +++ b/callbacks.c Wed Dec 05 00:08:39 2007 +0100 @@ -6,61 +6,75 @@ #include "support.h" +void update_spin_button_ratio(GtkWidget* spinbutton) { + g_print("ratio change: %f\n", ratio); + /*gtk_spin_button_set_value((spinbutton), gtk_spin_button_get_value(spinbutton));*/ + /*gtk_spin_button_update(spinbutton);*/ + on_ratio_w_spinbutton_value_changed(spinbutton, NULL); +} void on_ratio_none_activate (GtkMenuItem* menuitem, gpointer user_data) { - ratio = 0; + ratio = (double) 1; + update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton")); } void on_ratio_square_activate (GtkMenuItem* menuitem, gpointer user_data) { - ratio = 1; + ratio = (double) 1; + update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton")); } void on_ratio_4x3_activate (GtkMenuItem* menuitem, gpointer user_data) { - ratio = 4/3; + ratio = (double) 4/3; + update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton")); } void on_ratio_3x2_activate (GtkMenuItem* menuitem, gpointer user_data) { - ratio = 3/2; + ratio = (double) 3/2; + update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton")); } void on_ratio_custom_activate (GtkMenuItem* menuitem, gpointer user_data) { + ratio = (double) gtk_spin_button_get_value_as_int(lookup_widget(cropper_window, "ratio_w_spinbutton")) / gtk_spin_button_get_value_as_int(lookup_widget(cropper_window, "ratio_h_spinbutton")); + update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton")); +} + + + + + +void on_ratio_w_spinbutton_value_changed (GtkSpinButton* spinbutton, gpointer user_data) { + /*gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_h_spinbutton"), gtk_spin_button_get_value(spinbutton) / ratio);*/ + g_print("spinbutton W - ratio: %f\n", ratio); + gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_h_spinbutton"), gtk_spin_button_get_value(spinbutton) / ratio); +} + + +void on_ratio_w_spinbutton_change_value (GtkSpinButton* spinbutton, GtkScrollType scroll, gpointer user_data) { +} + + +void on_ratio_h_spinbutton_change_value (GtkSpinButton* spinbutton, GtkScrollType scroll, gpointer user_data) { +} + + +void on_ratio_h_spinbutton_value_changed (GtkSpinButton* spinbutton, gpointer user_data) { + /*gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_w_spinbutton"), gtk_spin_button_get_value(spinbutton) * ratio);*/ + g_print("spinbutton H - ratio: %f\n", ratio); + gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_w_spinbutton"), gtk_spin_button_get_value(spinbutton) * ratio); } +void on_ratio_swap_button_clicked (GtkButton* button, gpointer user_data) { + + ratio = 1.0 / ratio; + gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_w_spinbutton"), gtk_spin_button_get_value(lookup_widget(cropper_window, "ratio_h_spinbutton"))); + gtk_spin_button_update(lookup_widget(cropper_window, "ratio_w_spinbutton")); - - -void on_ratio_w_spinbutton_value_changed (GtkSpinButton* spinbutton, gpointer user_data) { - -} - - -void on_ratio_w_spinbutton_change_value (GtkSpinButton* spinbutton, GtkScrollType scroll, gpointer user_data) { - -} - - -void on_ratio_h_spinbutton_change_value (GtkSpinButton* spinbutton, GtkScrollType scroll, gpointer user_data) { - -} - - -void on_ratio_h_spinbutton_value_changed (GtkSpinButton* spinbutton, gpointer user_data) { - -} - - -void on_ratio_swap_button_clicked (GtkButton* button, gpointer user_data) { - gint h; - - h = gtk_spin_button_get_value_as_int(lookup_widget(cropper_window, "ratio_w_spinbutton")); - gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_w_spinbutton"), gtk_spin_button_get_value(lookup_widget(cropper_window, "ratio_h_spinbutton"))); - gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_h_spinbutton"), h); } diff -r e359bea4c8ac -r 6aaba3a61563 callbacks.h --- a/callbacks.h Tue Dec 04 23:20:51 2007 +0100 +++ b/callbacks.h Wed Dec 05 00:08:39 2007 +0100 @@ -1,6 +1,6 @@ #include -gdouble ratio; +double ratio; void on_ratio_none_activate(GtkMenuItem* menuitem, gpointer user_data); void on_ratio_square_activate(GtkMenuItem* menuitem, gpointer user_data);