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);