Mercurial > cropper
changeset 3:6aaba3a61563
added ratio control code
author | meillo@marmaro.de |
---|---|
date | Wed, 05 Dec 2007 00:08:39 +0100 |
parents | e359bea4c8ac |
children | 2f11ab3e6047 |
files | Makefile callbacks.c callbacks.h |
diffstat | 3 files changed, 27 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- 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}
--- a/callbacks.c Tue Dec 04 23:20:51 2007 +0100 +++ b/callbacks.c Wed Dec 05 00:08:39 2007 +0100 @@ -6,29 +6,40 @@ #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")); } @@ -36,31 +47,34 @@ 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) { - gint h; - h = gtk_spin_button_get_value_as_int(lookup_widget(cropper_window, "ratio_w_spinbutton")); + 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_set_value(lookup_widget(cropper_window, "ratio_h_spinbutton"), h); + gtk_spin_button_update(lookup_widget(cropper_window, "ratio_w_spinbutton")); + }
--- 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 <gtk/gtk.h> -gdouble ratio; +double ratio; void on_ratio_none_activate(GtkMenuItem* menuitem, gpointer user_data); void on_ratio_square_activate(GtkMenuItem* menuitem, gpointer user_data);