~ubuntu-branches/ubuntu/jaunty/gimp/jaunty-security

« back to all changes in this revision

Viewing changes to plug-ins/common/lic.c

  • Committer: Bazaar Package Importer
  • Author(s): Daniel Holbach
  • Date: 2007-05-02 16:33:03 UTC
  • mfrom: (1.1.4 upstream)
  • Revision ID: james.westby@ubuntu.com-20070502163303-bvzhjzbpw8qglc4y
Tags: 2.3.16-1ubuntu1
* Resynchronized with Debian, remaining Ubuntu changes:
  - debian/rules: i18n magic.
* debian/control.in:
  - Maintainer: Ubuntu Core Developers <ubuntu-devel@lists.ubuntu.com>
* debian/patches/02_help-message.patch,
  debian/patches/03_gimp.desktop.in.in.patch,
  debian/patches/10_dont_show_wizard.patch: updated.
* debian/patches/04_composite-signedness.patch,
  debian/patches/05_add-letter-spacing.patch: dropped, used upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
36
36
 
37
37
#include "config.h"
38
38
 
39
 
#include <stdio.h>
40
 
#include <stdlib.h>
41
 
 
42
 
#include <gtk/gtk.h>
43
 
 
44
39
#include <libgimp/gimp.h>
45
40
#include <libgimp/gimpui.h>
46
41
 
54
49
#define numx    40              /* Pseudo-random vector grid size */
55
50
#define numy    40
56
51
 
57
 
#define HELP_ID "plug-in-lic"
 
52
#define PLUG_IN_PROC   "plug-in-lic"
 
53
#define PLUG_IN_BINARY "lic"
58
54
 
59
55
typedef enum
60
56
{
446
442
 
447
443
  maxc = drawable->width * drawable->height;
448
444
 
449
 
  gimp_pixel_rgn_init (&region, drawable, 0, 0,
450
 
                       drawable->width, drawable->height, FALSE, FALSE);
 
445
  gimp_pixel_rgn_init (&region, drawable, border_x1, border_y1,
 
446
                       border_x2 - border_x1, border_y2 - border_y1, FALSE, FALSE);
451
447
 
452
448
  themap = g_new (guchar, maxc);
453
449
 
498
494
  GimpPixelRgn src_rgn, dest_rgn;
499
495
 
500
496
  gimp_pixel_rgn_init (&src_rgn, drawable,
501
 
                       0, 0,
502
 
                       drawable->width,
503
 
                       drawable->height, FALSE, FALSE);
 
497
                       border_x1, border_y1,
 
498
                       border_x2 - border_x1,
 
499
                       border_y2 - border_y1, FALSE, FALSE);
504
500
 
505
501
  gimp_pixel_rgn_init (&dest_rgn, drawable,
506
 
                       0, 0,
507
 
                       drawable->width,
508
 
                       drawable->height, TRUE, TRUE);
 
502
                       border_x1, border_y1,
 
503
                       border_x2 - border_x1,
 
504
                       border_y2 - border_y1, TRUE, TRUE);
509
505
 
510
506
  for (ycount = 0; ycount < src_rgn.h; ycount++)
511
507
    {
564
560
 
565
561
  /* Get some useful info on the input drawable */
566
562
  /* ========================================== */
567
 
 
568
563
  gimp_drawable_mask_bounds (drawable->drawable_id,
569
564
                             &border_x1, &border_y1, &border_x2, &border_y2);
570
565
 
571
 
  gimp_progress_init (_("Van Gogh (LIC)..."));
 
566
  gimp_progress_init (_("Van Gogh (LIC)"));
572
567
 
573
568
  if (licvals.effect_convolve == 0)
574
569
    generatevectors ();
611
606
 
612
607
  gimp_drawable_flush (drawable);
613
608
  gimp_drawable_merge_shadow (drawable->drawable_id, TRUE);
614
 
  gimp_drawable_update (drawable->drawable_id, 0, 0,
615
 
                        drawable->width, drawable->height);
 
609
  gimp_drawable_update (drawable->drawable_id, border_x1, border_y1,
 
610
                        border_x2 - border_x1, border_y2 - border_y1);
616
611
 
617
612
  gimp_displays_flush ();
618
613
}
641
636
  gint       row;
642
637
  gboolean   run;
643
638
 
644
 
  gimp_ui_init ("lic", TRUE);
 
639
  gimp_ui_init (PLUG_IN_BINARY, TRUE);
645
640
 
646
 
  dialog = gimp_dialog_new (_("Van Gogh (LIC)"), "lic",
 
641
  dialog = gimp_dialog_new (_("Van Gogh (LIC)"), PLUG_IN_BINARY,
647
642
                            NULL, 0,
648
 
                            gimp_standard_help_func, HELP_ID,
 
643
                            gimp_standard_help_func, PLUG_IN_PROC,
649
644
 
650
645
                            GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL,
651
646
                            GTK_STOCK_OK,     GTK_RESPONSE_OK,
652
647
 
653
648
                            NULL);
654
649
 
 
650
  gtk_dialog_set_alternative_button_order (GTK_DIALOG (dialog),
 
651
                                           GTK_RESPONSE_OK,
 
652
                                           GTK_RESPONSE_CANCEL,
 
653
                                           -1);
 
654
 
 
655
  gimp_window_set_transient (GTK_WINDOW (dialog));
 
656
 
655
657
  vbox = gtk_vbox_new (FALSE, 12);
656
658
  gtk_container_set_border_width (GTK_CONTAINER (vbox), 12);
657
659
  gtk_container_add (GTK_CONTAINER (GTK_DIALOG (dialog)->vbox), vbox);
711
713
                              &licvals.effect_image_id);
712
714
 
713
715
  gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
714
 
                             _("_Effect Image:"), 0.0, 0.5, combo, 2, TRUE);
 
716
                             _("_Effect image:"), 0.0, 0.5, combo, 2, TRUE);
715
717
 
716
718
  table = gtk_table_new (5, 3, FALSE);
717
719
  gtk_table_set_col_spacings (GTK_TABLE (table), 6);
726
728
                                     licvals.filtlen, 0.1, 64, 1.0, 8.0, 1,
727
729
                                     TRUE, 0, 0,
728
730
                                     NULL, NULL);
729
 
  g_signal_connect (scale_data, "value_changed",
 
731
  g_signal_connect (scale_data, "value-changed",
730
732
                    G_CALLBACK (gimp_double_adjustment_update),
731
733
                    &licvals.filtlen);
732
734
 
735
737
                                     licvals.noisemag, 1, 5, 0.1, 1.0, 1,
736
738
                                     TRUE, 0, 0,
737
739
                                     NULL, NULL);
738
 
  g_signal_connect (scale_data, "value_changed",
 
740
  g_signal_connect (scale_data, "value-changed",
739
741
                    G_CALLBACK (gimp_double_adjustment_update),
740
742
                    &licvals.noisemag);
741
743
 
744
746
                                     licvals.intsteps, 1, 40, 1.0, 5.0, 1,
745
747
                                     TRUE, 0, 0,
746
748
                                     NULL, NULL);
747
 
  g_signal_connect (scale_data, "value_changed",
 
749
  g_signal_connect (scale_data, "value-changed",
748
750
                    G_CALLBACK (gimp_double_adjustment_update),
749
751
                    &licvals.intsteps);
750
752
 
753
755
                                     licvals.minv, -100, 0, 1, 10, 1,
754
756
                                     TRUE, 0, 0,
755
757
                                     NULL, NULL);
756
 
  g_signal_connect (scale_data, "value_changed",
 
758
  g_signal_connect (scale_data, "value-changed",
757
759
                    G_CALLBACK (gimp_double_adjustment_update),
758
760
                    &licvals.minv);
759
761
 
762
764
                                     licvals.maxv, 0, 100, 1, 10, 1,
763
765
                                     TRUE, 0, 0,
764
766
                                     NULL, NULL);
765
 
  g_signal_connect (scale_data, "value_changed",
 
767
  g_signal_connect (scale_data, "value-changed",
766
768
                    G_CALLBACK (gimp_double_adjustment_update),
767
769
                    &licvals.maxv);
768
770
 
796
798
static void
797
799
query (void)
798
800
{
799
 
  static GimpParamDef args[] =
 
801
  static const GimpParamDef args[] =
800
802
  {
801
 
    { GIMP_PDB_INT32,    "run_mode", "Interactive"    },
 
803
    { GIMP_PDB_INT32,    "run-mode", "Interactive"    },
802
804
    { GIMP_PDB_IMAGE,    "image",    "Input image"    },
803
805
    { GIMP_PDB_DRAWABLE, "drawable", "Input drawable" }
804
806
  };
805
807
 
806
 
  gimp_install_procedure ("plug_in_lic",
807
 
                          "Creates a Van Gogh effect (Line Integral Convolution)",
 
808
  gimp_install_procedure (PLUG_IN_PROC,
 
809
                          N_("Special effects that nobody understands"),
808
810
                          "No help yet",
809
811
                          "Tom Bech & Federico Mena Quintero",
810
812
                          "Tom Bech & Federico Mena Quintero",
815
817
                          G_N_ELEMENTS (args), 0,
816
818
                          args, NULL);
817
819
 
818
 
  gimp_plugin_menu_register ("plug_in_lic", "<Image>/Filters/Map");
 
820
  gimp_plugin_menu_register (PLUG_IN_PROC, "<Image>/Filters/Artistic");
819
821
}
820
822
 
821
823
static void
848
850
  /* Possibly retrieve data */
849
851
  /* ====================== */
850
852
 
851
 
  gimp_get_data ("plug_in_lic", &licvals);
 
853
  gimp_get_data (PLUG_IN_PROC, &licvals);
852
854
 
853
855
  /* Get the specified drawable */
854
856
  /* ========================== */
873
875
                if (create_main_dialog ())
874
876
                  compute_image (drawable);
875
877
 
876
 
                gimp_set_data ("plug_in_lic", &licvals, sizeof (LicValues));
 
878
                gimp_set_data (PLUG_IN_PROC, &licvals, sizeof (LicValues));
877
879
              break;
878
880
              case GIMP_RUN_WITH_LAST_VALS:
879
881
                compute_image (drawable);
890
892
  gimp_drawable_detach (drawable);
891
893
}
892
894
 
893
 
GimpPlugInInfo PLUG_IN_INFO =
 
895
const GimpPlugInInfo PLUG_IN_INFO =
894
896
{
895
897
  NULL,  /* init_proc  */
896
898
  NULL,  /* quit_proc  */