Commit Graph

1581 Commits

Author SHA1 Message Date
1c1e7813f4 libgimp: Use a relative path to libgimp-2.0.la so parallel builds work. 2012-05-13 15:42:21 +02:00
d7db79c2f2 app: Make tests build
In particular: link.
2012-05-10 22:12:58 +02:00
486e76bdab libgimp*: use GIMP_API_VERSION in Makefile.am instead of hardcoding 2.0 2012-05-04 15:38:45 +02:00
ffa1546853 libgimp: add GEGL branch to gimp_layer_new_from_surface() 2012-05-03 04:13:39 +02:00
48a264ce4b libgimp: add GEGL branch to gimp_layer_new_from_pixbuf()
can't get rid of the legacy impl yet bacause plug-ins need to be able
to run in compat mode.
2012-05-03 03:48:49 +02:00
3ad73b3658 libgimpcolor: add GdkPixbuf <-> GeglBuffer utility functions
and update tons of includes in libgimp and app.
2012-05-03 03:37:20 +02:00
7e17a1e42e libgimp: deprecate the entire legacy pixel fiddling api
which generates a gazillion warnings in plug-ins, a perfect guide
where to do porting.
2012-05-03 01:51:39 +02:00
86f53a3ceb libgimp: make pdbgen generate GIMP_DEPRECATED stuff
instead of GIMP_DISABLE_DEPRECATED.
2012-05-03 01:12:25 +02:00
0d481702c7 libgimp*: add GIMP_DEPRECATED macros using G_DEPRECATED
and start using them instead of GIMP_DISABLE_DEPRECATED where possible.
2012-05-03 00:54:21 +02:00
9f85f35c07 libgimp: don't recurse infinitely in gimp_parasite_detach()
(cherry picked from commit 5b59af7c2e)
2012-05-03 00:35:55 +02:00
3d5758d209 libgimp: fix docs of deprecated functions
(cherry picked from commit 569c122137)
2012-05-03 00:26:26 +02:00
b5842539f5 libgimp: don't recurse infinitely in deprecated gimpvectors functions
(cherry picked from commit f32706a0d1)
2012-05-03 00:26:09 +02:00
43cce00fd9 libgimp: fix NULL colormap for gimp_drawable_get_format() 2012-05-02 17:51:22 +02:00
641848ea0b Fix the palette handling in gimp_drawable_get_format() 2012-05-02 17:51:21 +02:00
2cb15f8669 libgimp: fix swapped alpha handling in indexed case 2012-05-02 17:51:20 +02:00
1badcb7ce9 app: add GIMP_PRECISION_U32 and all its formats 2012-05-02 17:51:19 +02:00
2e7944cad0 app: add GIMP_PRECISION_HALF for 16 bit floating point
and use babl_format_get_palette() to simplify some code.
2012-05-02 17:51:18 +02:00
92b4c66777 pdb: export gimp-image-get-precision 2012-05-02 17:51:17 +02:00
8918fd338b pdb/libgimp: export gimp-image-new-with-precision
And switch on precision awareness of a plug-in in the core when
possible, instead of in the libgimp wrappers.
2012-05-02 17:51:17 +02:00
3e4edc1aea pdb/libgimp: export enum GimpPrecision and gimp-image-convert-precision 2012-05-02 17:51:17 +02:00
21dfb8bd9f app/libgimp: enable plug-ins on high precision images
Add gimp_plugin_enable_precision() in libgimp which switches the
plug-in to deal with the drawables' real precision, call it from the
libgimp GeglBuffer and Babl format APIs. If it's not enabled, let the
core's plug-in convert the tiles to legacy formats when sending them
over the wire.
2012-05-02 17:51:14 +02:00
3a46cfbbc6 app/pdb: allow some more stuff on indexed by simply removing the restriction 2012-05-02 17:51:12 +02:00
3e0891b80c libgimp: sytle cleanup in GimpTileBackendPlugin
and use gimp_drawable_get_format() instead our own utility function.
2012-05-02 17:50:53 +02:00
79464eefce libgimp: add gimp_drawable_get_format() 2012-05-02 17:50:53 +02:00
ee97c1f4ff app: correct usage of babl formats
GIMP was doing evil hacks lying to GEGL about it's pixels being in a linear
color space when they are not. This causes incorrect rendering, makes gaussian
blur misbehave etc.

The legacy projection modes should be implemented using the same 2.2 gamma
formats that are correct to specify for sRGB data. (for proper color
management in higher bitdepths; icc backend babl formats should be used.)

For the old image modes correct babl formats are:

R'G'B'A u8  -  8 bit RGB with 2.2 gamma (sRGB) with linear alpha component
R'G'B' u8   -  8 bit RGB with 2.2 gamma (sRGB)
Y'A u8      -  8 bit Grayscale with 2.2 gamma with linear alpha component
Y' u8       -  8 bit Grayscale with 2.2 gamma

Y u8        -  8 bit linear data, used for masks/channels
A u8        -  8 bit linear alpha

-----------------------------------------------

RGBA float  -     32bit floating point linear light RGB
RaGaBaA float  -  32bit floating point linear light RGB, premultiplied alpha
                  to be used for processing that needs to scale by the alpha,
                  (blurs, resampling etc)
R'G'B'A float  -  32bit floating point sRGB with gamma, to be used where
                  the result depends on being closer to perceptual when
                  processing, can be used a cheaper alternative to CIE Lab
                  based modes.

-----------------------------------------------

The legacy layer modes should use the formats with gamma 2.2 only for loading
and rendering legacy XCF files correctly, in the brave new world compositing
should most likely be done in linear light with "RGBA float" and even better
"RaGaBaA float" like GEGL does for porter duff and other compositing modes.

The ability to chose the legacy layer modes should probably be hidden from the
user unless an old .xcf has been opened.
2012-05-02 17:50:38 +02:00
cde58408fa app: remove the legacy levels cruft 2012-05-02 17:46:12 +02:00
2ff19d7087 libgimp: flush underlying drawable on gegl_buffer_flush 2012-05-02 17:46:08 +02:00
efb82673de libgimp: make GimpTileBackendPlugin properly private, and some cleanup 2012-05-02 17:46:08 +02:00
4bdbff08d7 libgimp: add a GeglBuffer backend for plug-ins
Also added an API to get GeglBuffers for drawables, you choose whether you
get.
2012-05-02 17:46:08 +02:00
e01189ca77 app: remove checks from stuff that now works on indexed layers 2012-05-02 17:46:04 +02:00
0025f9f354 fix typo "equalizee" 2012-04-12 01:28:30 +02:00
bd591d73cf libgimp: add gimp_ink_blob_type_get_type() to gimp.def 2012-03-02 12:20:21 +01:00
b952f80be0 Bug 658477 - add PDB support for more paint and ink options
Apply heavily modified patch from Es Swartz which adds PDB API for
brush size, angle and aspect ratio, as well as a full interface for
ink. Changed to patch to add all procedures to the "context" group
instead of creating new PDB groups, properly use the new
GimpPDBContext APIs for paint options, and did some general cleanup.
(Warning, completely untested).
2012-03-01 12:58:26 +01:00
056e09a6cb Remove the makefile.msc build system, it is unmaintained since 2008 2011-12-16 15:53:56 +01:00
921922e95d libgimp: Change comment to point at correct alternate function 2011-12-07 10:31:24 +05:30
ebbad40885 Doc fixes in both source comments and gtk-doc files 2011-11-25 21:39:55 +01:00
e46aee647d libgimp: missed to commit a generated comment change 2011-11-03 22:47:12 +01:00
634cf6d620 pdb: add gimp-dynamics-refresh and gimp-dynamics-get-list 2011-10-31 22:22:19 +01:00
01344f811d pdb: add dynamics accessors to the context procedures 2011-10-31 21:08:12 +01:00
0cb9ffa0ec libgimp: Drop dead assignment 2011-10-12 17:00:26 +05:30
72b0ef397f libgimp: use gtk_box_new() 2011-09-30 10:53:32 +02:00
e071bfa3b6 Bug 656716 - Have a procedure to get a layer from its name
Add gimp_image_get_[layer|channel|vectors]_by_name().
2011-09-24 16:35:59 +02:00
da37e9ff3e Bug 596410 - gimp-image-get-filename returns NULL for imported files
Make gimp_image_get_uri() and gimp_image_get_filename() behave as in
the GIMP 2.6 days. Add new functions gimp_image_get_xcf_uri(),
gimp_image_get_exported_uri() and gimp_image_get_imported_uri().
2011-08-12 21:15:16 +02:00
9c6338900e libgimp*: don't derive from GtkHBox and GtkVBox in libgimp either
I know this is not 100% compatible, but is in fact absolutely safe to
change unless somebody is using the headers in ways that are totally
wrong.
2011-07-27 19:53:34 +02:00
c35ff719a7 app/libgimp*: remove stuff found by -Wunused-but-set-variable 2011-05-01 23:23:19 +02:00
856c89a845 libgimp: add guards that #error out if individual files are included 2011-04-28 19:59:52 +02:00
cc47b2a600 libgimpwidgets/color: move the cairo color utility functions to libgimpcolor
Add CAIRO_CFLAGS to a lot of Makefiles to make this possible, and
because they pull in cairo via the libgimp headers.
2011-04-28 15:50:39 +02:00
ee03177be8 libgimp: don't include individual files from libgimp* 2011-04-28 14:24:59 +02:00
3d7e51c52f libgimp: #include "libgimpbase/gimpbase.h" instead of individual files 2011-04-28 13:09:30 +02:00
6877a14caf Fix gtk-doc for gimp_layer_new_from_surface() 2011-04-27 20:35:56 +05:30