Commit Graph

187 Commits

Author SHA1 Message Date
a71d64f701 app: add gegl:value-propagate to Filters -> Distorts 2015-02-06 19:26:52 +01:00
931f4581b7 app: add gegl:diffraction-patterns Filters -> Render -> Pattern 2015-01-21 00:47:11 +03:00
fdaed22911 app: add gegl:color-enhance to Color -> Auto 2015-01-13 22:40:13 +03:00
27ec429b43 app: add gegl:lens-flare to Filters -> Light and Shadow 2014-12-31 13:12:53 +03:00
be5e2e6991 app: add gegl:engrave to Filters -> Distorts 2014-12-15 23:42:57 +01:00
41e61719c4 app: add gegl:illusion to Filters -> Map 2014-12-04 20:30:57 +01:00
01c79a2661 app: add gegl:noise-solid to Filters -> Render -> Noise 2014-11-22 20:45:40 +01:00
3a5eaeb3af app: add gegl:sinus to Filters -> Render -> Pattern 2014-11-21 20:49:15 +01:00
6c590ac083 app: add gegl:supernova to Filters -> Lights & Shadows 2014-11-18 20:01:09 +01:00
a8853801a0 app: add gegl:video-degradation to Filters -> Distorts 2014-11-12 22:20:11 +01:00
488998031e app: add gegl:color-exchange to Colors -> Map 2014-11-10 22:23:54 +01:00
13a626a304 app: add gegl:oilify to Filters -> Artistic 2014-10-11 20:32:31 +02:00
50568ae258 app: add gegl:distance-transform to Filters->Generic as "Distance Map" 2014-08-03 21:34:32 +02:00
5c7e2f5c95 app: add gegl:mirrors to Filters -> Distorts as "Kaleidoscope" 2014-06-27 12:02:16 +02:00
726f7683f6 app: require gegl:cache in sanity_check_gegl_ops() 2014-06-18 18:53:36 +02:00
987d9e2800 app: add a gegl:copy-buffer to GimpApplicator
which allows to get a buffer copy of the result of the applied
operation without the overhead of running the entire graph again just
for this purpose.
2014-06-01 18:35:18 +02:00
227cff3af4 app: add gegl:color-rotate to Colors -> Map 2014-05-29 18:34:45 +02:00
00f6973b3c app: add gegl:convolution-matrix to Filters -> Generic 2014-05-29 02:36:59 +02:00
4a0e9a2083 app: gegl:noise-cell -> gegl:cell-noise 2014-05-19 01:31:55 +02:00
c899f14f79 app: add gegl:panorama-projection to Filters -> Map 2014-05-17 01:23:24 +02:00
9e1ee4235f app: add gegl:perlin-noise and gegl:simplex-noise to Filters->Render->Clouds 2014-05-17 01:17:30 +02:00
41472222c5 app: add gegl:tile-glass to the checks in sanity.c 2014-05-16 22:30:35 +02:00
7aeb9da6e3 app: follow gegl:dot removal
gegl:dot is now included in gegl:pixelize
2013-11-11 16:52:10 +01:00
21bed1e2fb Completely rewrite metadata handling using gexiv2
Based on original patches from Hartmut Kuhse and modified
by Michael Natterer. Changes include:

- remove libexif dependency and add a hard dependency on gexiv2
- typedef GExiv2Metadata to GimpMetadata to avoid having to
  include gexiv2 globally
- add basic GimpMetadata handling functions to libgimpbase
- add image and image file specific metadata functions to libgimp,
  including the exif orientation image rotate dialog
- port plug-ins to use the new APIs
- port file-tiff-save's UI to GtkBuilder
- add new plug-in "metadata" to view the image's metadata
- keep metadata around as GimpImage member in the core
- update the image's metadata on image size, resolution and precision
  changes
- obsolete the old metadata parasites
- migrate the old parasites to new GimpMetadata object on XCF load
2013-10-27 01:02:17 +02:00
7e536e4465 app: remove unused variables and some cleanup in sanity_check_gegl_ops() 2013-10-04 14:43:18 +02:00
1649ae4eac app: Use the function gegl_has_operation in sanity.c 2013-09-01 11:48:02 -04:00
96a090d9b1 app: Enable the gegl op sanity check 2013-07-31 15:26:02 -04:00
47cb117fa8 app: Disable the gegl operation sanity check for now
It turns out that this interferes with gimp registering gegl ops
later on.
2013-07-30 11:39:25 -04:00
7a01ecf3cd app: Populate the list of required ops in sanity.c 2013-07-29 23:18:09 -04:00
f464695a1b app: Add a sanity check for required gegl ops.
The check is in place, but the list still needs to be populated.
2013-07-29 22:40:10 -04:00
bfb83109bc Bump some other places the GEGL version is checked 2013-06-04 18:11:33 -07:00
d856ba624e Reduce glib required micro version
Change 2.36.1 to 2.36.0, because Ubuntu.
2013-05-28 16:06:45 -07:00
e5b7df0748 Depend on GLib >= 2.36.1 2013-05-25 22:43:48 +02:00
4a81849e36 app: Use SHM transport for data transfer for display
Recent Cairo uses SHM transports when available, and exposes the ability
for its users to manage images shared between it and the display.
This allows us to eliminate copies, and if the architecture supports it
even to upload directly into GPU addressable memory without any copies
(all in normal system memory so we suffer no performance penalty when
applying the filters). The caveat is that we need to be aware of the
synchronize requirements, the cairo_surface_flush and
cairo_surface_mark_dirty, around access to the transport image. To
reduce the frequency of these barriers, we can subdivide the transport
image into small chunks as to satisfy individual updates and delay the
synchronisation barrier until we are forced to reuse earlier pixels.

Note this bumps the required Cairo version to 1.12, and please be aware
that the XSHM transport requires bug fixes from cairo.git (will be
1.12.12)

v2: After further reflections with Mitch, we realized we can share the
transport surface between all canvases by attaching it to the common
screen.

v3: Fix a couple of typos in insert_node() introduced when switching
variables names.

v4: Encapsulating within an image surface rather than a subsurface was
hiding the backing SHM segment from cairo, causing it to allocate
further SHM resources to stream the upload. We should be able to use a
sub-surface here, but it is more convenient to wrap the pixels in an
image surface for rendering the filters (and conveniently masking the
callee flushes from invalidating our parent transport surface).

Cc: Michael Natterer <mitch@gimp.org>
2013-02-02 13:59:59 +01:00
02bd9de54f configure: require GEGL 0.2.1 from git
this is obviously not exact, but better than 0.2.0 which definitely
doesn't work any longer.
2012-07-05 21:46:07 +02:00
6888304f4a configure: require GLib 2.32.0 for the new G_DEPRECATED macros 2012-05-03 00:49:11 +02:00
8b028ee8ce depend on babl>=0.1.11 2012-05-02 17:51:18 +02:00
531709c8db Depend on ATK 2.2.0, GTK+ 2.24.10, GdkPixbuf 2.24.1
And do some final NEWS adjustments for RC1
2012-04-03 00:53:04 +02:00
36c52537e4 bump babl req versions to 0.1.10 and gegl to 0.2.0 2012-04-02 23:11:07 +01:00
9252922651 Depend on GEGL 0.1.9 and use the new gegk-0.1 pkg-config file 2012-04-02 12:33:26 +02:00
817d516da4 Depend on Babl 0.1.8 2012-03-30 10:13:23 +02:00
6cff213038 configure: depend on GLib >= 2.30.2
For the reasons mentioned in the last version bump commit below.
2011-11-30 23:32:00 +01:00
3673549257 Depend on lots of newer library versions
Gegl >= 0.1.8, Babl >= 0.1.6, Gdk-Pixbuf >= 1.24.0, Pango >= 1.29.4,
GLib >= 2.28.8, GTK+ 2.24.7

Which means depending on a gazillion of bug fixes, which means less
pain for GIMP 2.8 users, and less useless bugzilla traffic eating
developer resources.
2011-11-19 18:16:39 +01:00
24ee3370b8 Depend on GTK+ >= 2.24.3, cairo >= 1.20.1, gdk-pixbuf >= 2.22.1
and completely separate configure and sanity checks for gdk-pixbuf
from GTK+, because it's now distributed as a separate package. Remove
all sorts of conditional compiling based on GDK_CHECK_VERSION() and
CAIRO_VERSION.
2011-04-06 19:58:24 +02:00
514a5548cd configure: require GLib >= 2.28.1 2011-03-07 17:11:28 +01:00
063e9e54ee Require GEGL 0.1.6 2011-02-13 21:59:27 +01:00
3e38686693 app: also bump the babl and gegl versions in sanity.c 2011-01-22 23:53:38 +01:00
d96b491050 Update use of Pango API and bump required version to 1.22.0
Uodate Pango required version and stop using the deprecated
pango_cairo_font_map_create_context(). Compile with
PANGO_DISABLED_DEPRECATED for pango < 1.30.
2010-09-07 00:53:17 +02:00
8a8140986f Include cairo.h from correct path 2010-09-02 19:10:10 +03:00
3762e03bf6 Require cairo >= 1.8.0 and add a cairo sanity check to app/sanity.c 2010-08-08 16:49:50 +02:00