cropper

annotate 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
rev   line source
meillo@0 1 #include <gtk/gtk.h>
meillo@0 2
meillo@2 3 #include "main.h"
meillo@0 4 #include "callbacks.h"
meillo@0 5 #include "interface.h"
meillo@0 6 #include "support.h"
meillo@0 7
meillo@0 8
meillo@3 9 void update_spin_button_ratio(GtkWidget* spinbutton) {
meillo@3 10 g_print("ratio change: %f\n", ratio);
meillo@3 11 /*gtk_spin_button_set_value((spinbutton), gtk_spin_button_get_value(spinbutton));*/
meillo@3 12 /*gtk_spin_button_update(spinbutton);*/
meillo@3 13 on_ratio_w_spinbutton_value_changed(spinbutton, NULL);
meillo@3 14 }
meillo@2 15
meillo@2 16 void on_ratio_none_activate (GtkMenuItem* menuitem, gpointer user_data) {
meillo@3 17 ratio = (double) 1;
meillo@3 18 update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton"));
meillo@2 19 }
meillo@2 20
meillo@2 21
meillo@2 22 void on_ratio_square_activate (GtkMenuItem* menuitem, gpointer user_data) {
meillo@3 23 ratio = (double) 1;
meillo@3 24 update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton"));
meillo@2 25 }
meillo@2 26
meillo@2 27
meillo@2 28 void on_ratio_4x3_activate (GtkMenuItem* menuitem, gpointer user_data) {
meillo@3 29 ratio = (double) 4/3;
meillo@3 30 update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton"));
meillo@2 31 }
meillo@2 32
meillo@2 33
meillo@2 34 void on_ratio_3x2_activate (GtkMenuItem* menuitem, gpointer user_data) {
meillo@3 35 ratio = (double) 3/2;
meillo@3 36 update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton"));
meillo@2 37 }
meillo@2 38
meillo@2 39
meillo@2 40 void on_ratio_custom_activate (GtkMenuItem* menuitem, gpointer user_data) {
meillo@3 41 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"));
meillo@3 42 update_spin_button_ratio(lookup_widget(cropper_window, "ratio_w_spinbutton"));
meillo@3 43 }
meillo@3 44
meillo@3 45
meillo@3 46
meillo@3 47
meillo@3 48
meillo@3 49 void on_ratio_w_spinbutton_value_changed (GtkSpinButton* spinbutton, gpointer user_data) {
meillo@3 50 /*gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_h_spinbutton"), gtk_spin_button_get_value(spinbutton) / ratio);*/
meillo@3 51 g_print("spinbutton W - ratio: %f\n", ratio);
meillo@3 52 gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_h_spinbutton"), gtk_spin_button_get_value(spinbutton) / ratio);
meillo@3 53 }
meillo@3 54
meillo@3 55
meillo@3 56 void on_ratio_w_spinbutton_change_value (GtkSpinButton* spinbutton, GtkScrollType scroll, gpointer user_data) {
meillo@3 57 }
meillo@3 58
meillo@3 59
meillo@3 60 void on_ratio_h_spinbutton_change_value (GtkSpinButton* spinbutton, GtkScrollType scroll, gpointer user_data) {
meillo@3 61 }
meillo@3 62
meillo@3 63
meillo@3 64 void on_ratio_h_spinbutton_value_changed (GtkSpinButton* spinbutton, gpointer user_data) {
meillo@3 65 /*gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_w_spinbutton"), gtk_spin_button_get_value(spinbutton) * ratio);*/
meillo@3 66 g_print("spinbutton H - ratio: %f\n", ratio);
meillo@3 67 gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_w_spinbutton"), gtk_spin_button_get_value(spinbutton) * ratio);
meillo@0 68
meillo@0 69 }
meillo@0 70
meillo@0 71
meillo@3 72 void on_ratio_swap_button_clicked (GtkButton* button, gpointer user_data) {
meillo@3 73
meillo@3 74 ratio = 1.0 / ratio;
meillo@3 75 gtk_spin_button_set_value(lookup_widget(cropper_window, "ratio_w_spinbutton"), gtk_spin_button_get_value(lookup_widget(cropper_window, "ratio_h_spinbutton")));
meillo@3 76 gtk_spin_button_update(lookup_widget(cropper_window, "ratio_w_spinbutton"));
meillo@0 77
meillo@2 78 }
meillo@2 79
meillo@2 80
meillo@2 81
meillo@2 82
meillo@2 83
meillo@1 84 gboolean on_cropper_window_delete_event (GtkWidget* widget, GdkEvent *event, gpointer user_data) {
meillo@2 85 /* g_print("thanks for using the program - visit http://prog.marmaro.de\n"); */
meillo@1 86 return FALSE;
meillo@0 87 }
meillo@0 88
meillo@1 89 void on_cropper_window_destroy (GtkObject* object, gpointer user_data) {
meillo@0 90 gtk_main_quit();
meillo@0 91 }
meillo@0 92