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