Mercurial > cropper
comparison interface.c @ 7:ec2d11d96fb0
image is now gdk-pixbuff; zoom implemented in a basic way
author | meillo@marmaro.de |
---|---|
date | Wed, 19 Mar 2008 23:01:43 +0100 |
parents | 61e5a1727231 |
children | b0824876d379 |
comparison
equal
deleted
inserted
replaced
6:f53ce3b28bb4 | 7:ec2d11d96fb0 |
---|---|
4 #include <string.h> | 4 #include <string.h> |
5 #include <stdio.h> | 5 #include <stdio.h> |
6 | 6 |
7 #include <gdk/gdkkeysyms.h> | 7 #include <gdk/gdkkeysyms.h> |
8 #include <gtk/gtk.h> | 8 #include <gtk/gtk.h> |
9 #include <gdk-pixbuf/gdk-pixbuf.h> | |
9 | 10 |
10 #include "main.h" | 11 #include "main.h" |
11 #include "callbacks.h" | 12 #include "callbacks.h" |
12 #include "interface.h" | 13 #include "interface.h" |
13 #include "support.h" | 14 #include "support.h" |
352 gtk_widget_set_name (nav_container, "nav_container"); | 353 gtk_widget_set_name (nav_container, "nav_container"); |
353 gtk_widget_show (nav_container); | 354 gtk_widget_show (nav_container); |
354 gtk_box_pack_start (GTK_BOX (vbox7), nav_container, TRUE, TRUE, 0); | 355 gtk_box_pack_start (GTK_BOX (vbox7), nav_container, TRUE, TRUE, 0); |
355 | 356 |
356 /* image_area */ | 357 /* image_area */ |
357 image_area = gtk_image_new_from_file (image_filename); | 358 image_buffer = gdk_pixbuf_new_from_file(image_filename, NULL); |
358 gtk_widget_set_name (image_area, "image_area"); | 359 image_area = gtk_image_new_from_pixbuf(image_buffer); |
359 gtk_widget_show (image_area); | 360 gtk_widget_set_name(image_area, "image_area"); |
360 gtk_box_pack_start (GTK_BOX (nav_container), image_area, TRUE, TRUE, 0); | 361 gtk_widget_show(image_area); |
362 gtk_box_pack_start(GTK_BOX(nav_container), image_area, TRUE, TRUE, 0); | |
361 | 363 |
362 hbox16 = gtk_hbox_new (FALSE, 6); | 364 hbox16 = gtk_hbox_new (FALSE, 6); |
363 gtk_widget_set_name (hbox16, "hbox16"); | 365 gtk_widget_set_name (hbox16, "hbox16"); |
364 gtk_widget_show (hbox16); | 366 gtk_widget_show (hbox16); |
365 gtk_box_pack_start (GTK_BOX (vbox7), hbox16, FALSE, TRUE, 0); | 367 gtk_box_pack_start (GTK_BOX (vbox7), hbox16, FALSE, TRUE, 0); |
420 gtk_widget_set_name (okay_box, "okay_box"); | 422 gtk_widget_set_name (okay_box, "okay_box"); |
421 gtk_widget_show (okay_box); | 423 gtk_widget_show (okay_box); |
422 gtk_box_pack_end (GTK_BOX (hbox16), okay_box, FALSE, TRUE, 0); | 424 gtk_box_pack_end (GTK_BOX (hbox16), okay_box, FALSE, TRUE, 0); |
423 */ | 425 */ |
424 | 426 |
425 crop_okbutton = gtk_button_new (); | 427 crop_okbutton = gtk_button_new (); |
426 gtk_widget_set_name (crop_okbutton, "crop_okbutton"); | 428 gtk_widget_set_name (crop_okbutton, "crop_okbutton"); |
427 gtk_widget_show (crop_okbutton); | 429 gtk_widget_show (crop_okbutton); |
428 gtk_box_pack_end (GTK_BOX (dialog_vbox1), crop_okbutton, FALSE, FALSE, 0); | 430 gtk_box_pack_end (GTK_BOX (dialog_vbox1), crop_okbutton, FALSE, FALSE, 0); |
429 GTK_WIDGET_SET_FLAGS (crop_okbutton, GTK_CAN_DEFAULT); | 431 GTK_WIDGET_SET_FLAGS (crop_okbutton, GTK_CAN_DEFAULT); |
430 | 432 |
431 alignment1 = gtk_alignment_new (0.5, 0.5, 0, 0); | 433 alignment1 = gtk_alignment_new (0.5, 0.5, 0, 0); |
432 gtk_widget_set_name (alignment1, "alignment1"); | 434 gtk_widget_set_name (alignment1, "alignment1"); |
433 gtk_widget_show (alignment1); | 435 gtk_widget_show (alignment1); |
434 gtk_container_add (GTK_CONTAINER (crop_okbutton), alignment1); | 436 gtk_container_add (GTK_CONTAINER (crop_okbutton), alignment1); |
435 | 437 |
436 hbox11 = gtk_hbox_new (FALSE, 2); | 438 hbox11 = gtk_hbox_new (FALSE, 2); |
437 gtk_widget_set_name (hbox11, "hbox11"); | 439 gtk_widget_set_name (hbox11, "hbox11"); |
438 gtk_widget_show (hbox11); | 440 gtk_widget_show (hbox11); |
439 gtk_container_add (GTK_CONTAINER (alignment1), hbox11); | 441 gtk_container_add (GTK_CONTAINER (alignment1), hbox11); |
440 | 442 |
441 crop_image = gtk_image_new_from_stock ("gtk-ok", GTK_ICON_SIZE_BUTTON); | 443 crop_image = gtk_image_new_from_stock ("gtk-ok", GTK_ICON_SIZE_BUTTON); |
442 gtk_widget_set_name (crop_image, "crop_image"); | 444 gtk_widget_set_name (crop_image, "crop_image"); |
443 gtk_widget_show (crop_image); | 445 gtk_widget_show (crop_image); |
444 gtk_box_pack_start (GTK_BOX (hbox11), crop_image, FALSE, FALSE, 0); | 446 gtk_box_pack_start (GTK_BOX (hbox11), crop_image, FALSE, FALSE, 0); |
445 | 447 |
446 label12 = gtk_label_new_with_mnemonic ("_Crop"); | 448 label12 = gtk_label_new_with_mnemonic ("_Crop"); |
447 gtk_widget_set_name (label12, "label12"); | 449 gtk_widget_set_name (label12, "label12"); |
448 gtk_widget_show (label12); | 450 gtk_widget_show (label12); |
449 gtk_box_pack_start (GTK_BOX (hbox11), label12, FALSE, FALSE, 0); | 451 gtk_box_pack_start (GTK_BOX (hbox11), label12, FALSE, FALSE, 0); |
450 | 452 |
451 | 453 |
452 | 454 |
453 | 455 |
454 | 456 |
457 g_signal_connect (G_OBJECT (cropper_window), "show", | |
458 G_CALLBACK (on_cropper_window_create), | |
459 NULL); | |
455 /* destroy */ | 460 /* destroy */ |
456 g_signal_connect (G_OBJECT (cropper_window), "destroy", | 461 g_signal_connect (G_OBJECT (cropper_window), "destroy", |
457 G_CALLBACK (on_cropper_window_destroy), | 462 G_CALLBACK (on_cropper_window_destroy), |
458 NULL); | 463 NULL); |
459 | 464 |
461 /* crop */ | 466 /* crop */ |
462 g_signal_connect (G_OBJECT (crop_okbutton), "clicked", | 467 g_signal_connect (G_OBJECT (crop_okbutton), "clicked", |
463 G_CALLBACK (on_crop_clicked), | 468 G_CALLBACK (on_crop_clicked), |
464 NULL); | 469 NULL); |
465 | 470 |
471 | |
472 /* zoom */ | |
473 g_signal_connect (G_OBJECT (crop_zoom_in_button), "clicked", | |
474 G_CALLBACK (on_zoom_in_button_clicked), | |
475 NULL); | |
476 g_signal_connect (G_OBJECT (crop_zoom_out_button), "clicked", | |
477 G_CALLBACK (on_zoom_out_button_clicked), | |
478 NULL); | |
479 g_signal_connect (G_OBJECT (crop_zoom_100_button), "clicked", | |
480 G_CALLBACK (on_zoom_100_button_clicked), | |
481 NULL); | |
482 g_signal_connect (G_OBJECT (crop_zoom_fit_button), "clicked", | |
483 G_CALLBACK (on_zoom_fit_button_clicked), | |
484 NULL); | |
466 | 485 |
467 | 486 |
468 /* aspect ratio */ | 487 /* aspect ratio */ |
469 /* | 488 /* |
470 g_signal_connect (G_OBJECT (ratio_w_spinbutton), "value_changed", | 489 g_signal_connect (G_OBJECT (ratio_w_spinbutton), "value_changed", |
525 g_signal_connect (G_OBJECT (lookup_widget(cropper_window, "crop_image")), "selection_changed", | 544 g_signal_connect (G_OBJECT (lookup_widget(cropper_window, "crop_image")), "selection_changed", |
526 G_CALLBACK (selection_changed_cb), | 545 G_CALLBACK (selection_changed_cb), |
527 data); | 546 data); |
528 */ | 547 */ |
529 | 548 |
530 | |
531 /* zoom */ | |
532 /* | |
533 g_signal_connect (G_OBJECT (zoom_in_button), "clicked", | |
534 G_CALLBACK (zoom_in_button_clicked_cb), | |
535 data); | |
536 g_signal_connect (G_OBJECT (zoom_out_button), "clicked", | |
537 G_CALLBACK (zoom_out_button_clicked_cb), | |
538 data); | |
539 g_signal_connect (G_OBJECT (zoom_100_button), "clicked", | |
540 G_CALLBACK (zoom_100_button_clicked_cb), | |
541 data); | |
542 g_signal_connect (G_OBJECT (zoom_fit_button), "clicked", | |
543 G_CALLBACK (zoom_fit_button_clicked_cb), | |
544 data); | |
545 */ | |
546 | 549 |
547 | 550 |
548 | 551 |
549 | 552 |
550 | 553 |
602 GLADE_HOOKUP_OBJECT (cropper_window, vbox5, "vbox5"); | 605 GLADE_HOOKUP_OBJECT (cropper_window, vbox5, "vbox5"); |
603 GLADE_HOOKUP_OBJECT (cropper_window, frame1, "frame1"); | 606 GLADE_HOOKUP_OBJECT (cropper_window, frame1, "frame1"); |
604 GLADE_HOOKUP_OBJECT (cropper_window, vbox7, "vbox7"); | 607 GLADE_HOOKUP_OBJECT (cropper_window, vbox7, "vbox7"); |
605 GLADE_HOOKUP_OBJECT (cropper_window, nav_container, "nav_container"); | 608 GLADE_HOOKUP_OBJECT (cropper_window, nav_container, "nav_container"); |
606 GLADE_HOOKUP_OBJECT (cropper_window, image_area, "image_area"); | 609 GLADE_HOOKUP_OBJECT (cropper_window, image_area, "image_area"); |
610 GLADE_HOOKUP_OBJECT (cropper_window, image_buffer, "image_buffer"); | |
607 GLADE_HOOKUP_OBJECT (cropper_window, hbox16, "hbox16"); | 611 GLADE_HOOKUP_OBJECT (cropper_window, hbox16, "hbox16"); |
608 GLADE_HOOKUP_OBJECT (cropper_window, hbox17, "hbox17"); | 612 GLADE_HOOKUP_OBJECT (cropper_window, hbox17, "hbox17"); |
609 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_in_button, "crop_zoom_in_button"); | 613 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_in_button, "crop_zoom_in_button"); |
610 GLADE_HOOKUP_OBJECT (cropper_window, image2, "image2"); | 614 GLADE_HOOKUP_OBJECT (cropper_window, image2, "image2"); |
611 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_out_button, "crop_zoom_out_button"); | 615 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_out_button, "crop_zoom_out_button"); |
613 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_100_button, "crop_zoom_100_button"); | 617 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_100_button, "crop_zoom_100_button"); |
614 GLADE_HOOKUP_OBJECT (cropper_window, image3, "image3"); | 618 GLADE_HOOKUP_OBJECT (cropper_window, image3, "image3"); |
615 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_fit_button, "crop_zoom_fit_button"); | 619 GLADE_HOOKUP_OBJECT (cropper_window, crop_zoom_fit_button, "crop_zoom_fit_button"); |
616 GLADE_HOOKUP_OBJECT (cropper_window, image1, "image1"); | 620 GLADE_HOOKUP_OBJECT (cropper_window, image1, "image1"); |
617 /*GLADE_HOOKUP_OBJECT_NO_REF (cropper_window, dialog_action_area1, "dialog_action_area1"); */ | 621 /*GLADE_HOOKUP_OBJECT_NO_REF (cropper_window, dialog_action_area1, "dialog_action_area1"); */ |
618 GLADE_HOOKUP_OBJECT (cropper_window, crop_okbutton, "crop_okbutton"); | 622 GLADE_HOOKUP_OBJECT (cropper_window, crop_okbutton, "crop_okbutton"); |
619 GLADE_HOOKUP_OBJECT (cropper_window, alignment1, "alignment1"); | 623 GLADE_HOOKUP_OBJECT (cropper_window, alignment1, "alignment1"); |
620 GLADE_HOOKUP_OBJECT (cropper_window, hbox11, "hbox11"); | 624 GLADE_HOOKUP_OBJECT (cropper_window, hbox11, "hbox11"); |
621 GLADE_HOOKUP_OBJECT (cropper_window, crop_image, "crop_image"); | 625 GLADE_HOOKUP_OBJECT (cropper_window, crop_image, "crop_image"); |
622 GLADE_HOOKUP_OBJECT (cropper_window, label12, "label12"); | 626 GLADE_HOOKUP_OBJECT (cropper_window, label12, "label12"); |
623 | 627 |