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