cropper
diff callbacks.c @ 3:6aaba3a61563
added ratio control code
author | meillo@marmaro.de |
---|---|
date | Wed, 05 Dec 2007 00:08:39 +0100 |
parents | e359bea4c8ac |
children | 2f11ab3e6047 |
line diff
1.1 --- a/callbacks.c Tue Dec 04 23:20:51 2007 +0100 1.2 +++ b/callbacks.c Wed Dec 05 00:08:39 2007 +0100 1.3 @@ -6,61 +6,75 @@ 1.4 #include "support.h" 1.5 1.6 1.7 +void update_spin_button_ratio(GtkWidget* spinbutton) { 1.8 + g_print("ratio change: %f\n", ratio); 1.9 + /*gtk_spin_button_set_value((spinbutton), gtk_spin_button_get_value(spinbutton));*/ 1.10 + /*gtk_spin_button_update(spinbutton);*/ 1.11 + on_ratio_w_spinbutton_value_changed(spinbutton, NULL); 1.12 +} 1.13 1.14 void on_ratio_none_activate (GtkMenuItem* menuitem, gpointer user_data) { 1.15 - ratio = 0; 1.16 + ratio = (double) 1; 1.17 + update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton")); 1.18 } 1.19 1.20 1.21 void on_ratio_square_activate (GtkMenuItem* menuitem, gpointer user_data) { 1.22 - ratio = 1; 1.23 + ratio = (double) 1; 1.24 + update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton")); 1.25 } 1.26 1.27 1.28 void on_ratio_4x3_activate (GtkMenuItem* menuitem, gpointer user_data) { 1.29 - ratio = 4/3; 1.30 + ratio = (double) 4/3; 1.31 + update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton")); 1.32 } 1.33 1.34 1.35 void on_ratio_3x2_activate (GtkMenuItem* menuitem, gpointer user_data) { 1.36 - ratio = 3/2; 1.37 + ratio = (double) 3/2; 1.38 + update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton")); 1.39 } 1.40 1.41 1.42 void on_ratio_custom_activate (GtkMenuItem* menuitem, gpointer user_data) { 1.43 + 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")); 1.44 + update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton")); 1.45 +} 1.46 + 1.47 + 1.48 + 1.49 + 1.50 + 1.51 +void on_ratio_w_spinbutton_value_changed (GtkSpinButton* spinbutton, gpointer user_data) { 1.52 + /*gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_h_spinbutton"), gtk_spin_button_get_value(spinbutton) / ratio);*/ 1.53 + g_print("spinbutton W - ratio: %f\n", ratio); 1.54 + gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_h_spinbutton"), gtk_spin_button_get_value(spinbutton) / ratio); 1.55 +} 1.56 + 1.57 + 1.58 +void on_ratio_w_spinbutton_change_value (GtkSpinButton* spinbutton, GtkScrollType scroll, gpointer user_data) { 1.59 +} 1.60 + 1.61 + 1.62 +void on_ratio_h_spinbutton_change_value (GtkSpinButton* spinbutton, GtkScrollType scroll, gpointer user_data) { 1.63 +} 1.64 + 1.65 + 1.66 +void on_ratio_h_spinbutton_value_changed (GtkSpinButton* spinbutton, gpointer user_data) { 1.67 + /*gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_w_spinbutton"), gtk_spin_button_get_value(spinbutton) * ratio);*/ 1.68 + g_print("spinbutton H - ratio: %f\n", ratio); 1.69 + gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_w_spinbutton"), gtk_spin_button_get_value(spinbutton) * ratio); 1.70 1.71 } 1.72 1.73 1.74 +void on_ratio_swap_button_clicked (GtkButton* button, gpointer user_data) { 1.75 + 1.76 + ratio = 1.0 / ratio; 1.77 + gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_w_spinbutton"), gtk_spin_button_get_value(lookup_widget(cropper_window, "ratio_h_spinbutton"))); 1.78 + gtk_spin_button_update(lookup_widget(cropper_window, "ratio_w_spinbutton")); 1.79 1.80 - 1.81 - 1.82 -void on_ratio_w_spinbutton_value_changed (GtkSpinButton* spinbutton, gpointer user_data) { 1.83 - 1.84 -} 1.85 - 1.86 - 1.87 -void on_ratio_w_spinbutton_change_value (GtkSpinButton* spinbutton, GtkScrollType scroll, gpointer user_data) { 1.88 - 1.89 -} 1.90 - 1.91 - 1.92 -void on_ratio_h_spinbutton_change_value (GtkSpinButton* spinbutton, GtkScrollType scroll, gpointer user_data) { 1.93 - 1.94 -} 1.95 - 1.96 - 1.97 -void on_ratio_h_spinbutton_value_changed (GtkSpinButton* spinbutton, gpointer user_data) { 1.98 - 1.99 -} 1.100 - 1.101 - 1.102 -void on_ratio_swap_button_clicked (GtkButton* button, gpointer user_data) { 1.103 - gint h; 1.104 - 1.105 - h = gtk_spin_button_get_value_as_int(lookup_widget(cropper_window, "ratio_w_spinbutton")); 1.106 - gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_w_spinbutton"), gtk_spin_button_get_value(lookup_widget(cropper_window, "ratio_h_spinbutton"))); 1.107 - gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_h_spinbutton"), h); 1.108 } 1.109 1.110