Support creating linear/sRGB-gamma variants of gray profiles and
rename gimp_color_profile_new_linear_rgb_from_color_profile() to
gimp_color_profile_new_linear_gamma_from_color_profile() because it's
not RGB-specific any longer.
Add gimp_color_profile_new_srgb_gray() and
gimp_color_profile_new_linear_gray().
I know "srgb_gray" sounds odd but it's better than
"gray_with_srgb_trc"...
Please review, I have no clue if that code is right.
Add two private functions which are currently unused but will
become public once it's clear where exactly we need them:
gimp_color_profile_get_rgb_matrix_colorants(): returns a GimpMatrix2
with the RGB colorants.
gimp_color_profile_new_foobar(): takes an existing profile and creates
a new one with the same RGB colorants but a linear gamma TRC. To be
renamed and made more general.
Fix gimp_color_profile_get_format() to return the right format for
"cairo-RGB24": simply check for the more special cairo formats first,
then check for the general RGB models. Found by Massimo.
to not return a reference that has to be dropped. Also allow NULL to
be returned if the managed cannot have a profile. If it can have one,
get_color_profile() still always returns a profile (either the
assigned one, or a generated built-in one).
it used to be a typedef to gpointer and actually was a cmsHPROFILE.
Change its API to be more "standard", remove the public close()
function. The object caches both the cmsHPROFILE and the data/length
ICC blob, so conversions between the two become obsolete (simply call
get_lcms_profile() or get_icc_profile()).
Adapt everything to the new API, but port it in a naive way for now,
the code doesn't take advantage of the new possibilities yet (like
refcounting).
because it confuses gtk-doc and breaks some links. Also change the
"Index of new symbols in GIMP 2.x" sections to be what seems to be the
modern standard (looked at the GLib and GTK+ docs), and update some
other stuff.
which returns a GimpColorProfile instead of just an ICC blob like
get_icc_profile(). Also, it will always return a profile, as in
fall back to the built-in profiles automatically.
Which returns an lcms format given a Babl format. It also returns a
Babl format to be used instead of the passed format, but only if lcms
doesn't support the passed format.
Profiles from disk have a lower precision than those created from
scratch via lcms API. Ensure identical profiles by returning a
"loaded" profile from gimp_lcms_create_srgb_profile() (simply do a
save/load roundtrip in memory).
which returns a string meant to label the profile in the GUI, it's
either the profile's description, its model, or "(unnamed profile)" as
a fallback. Use the function instead of duplicating that logic
inconsistently and imcompletely all over the place.
The foo_DEPENDENCIES rule replaces the default dependencies, where
EXTRA_foo_DEPENDENCIES just appends to it. This was causing libgimp
and libgimpui to build out of order.
Add functions to get a profile's description, manufacturer, model and
copyright, and use them instead of implementing the same 10 times.
Also add a GimpColorProfile typedef which avoids both having to
include lcms globally or using a gpointer instead (which looks bad and
non-descriptive in an API).
Change gimp_pixbuf_create_buffer() to copy the pixels if a linear
buffer cannot be created. Add functions that convert between
GimpTempBuf and GdkPixbuf. Fix users of gimp_pixbuf_create_buffer()
to make the least possible copies. Patch modified by Mitch.
- don't include <gdk-pixbuf/gdk-pixbuf.h> in headers in app/
- instead, include it in many .c files instead of <glib-object.h>,
finally acknowledging the fact that app/ depends on gdk-pixbuf almost
globally
- fix up includes as if libgimpbase depended in GIO, which it soon will
This only helps to maintain proper includes in app/ and shouldn't
affect plug-ins at all, because these are supposed to only include the
main headers from libgimp/ since the beginning of time.
The gimpfootypes.h files do not have these guards, so we can continue
to maintain app/'s include policy that is very likely to error out if
wrong things are included.
2009-01-23 Kevin Cozens <kcozens@cvs.gimp.org>
* libgimpcolor/gimprgb-parse.c: Applied patch from Andreas Turtschan
to fix more RGB colour values. Fixes bug #568909.
svn path=/trunk/; revision=27937
2009-01-23 Kevin Cozens <kcozens@cvs.gimp.org>
* libgimpcolor/gimprgb-parse.c: Applied patch from Andreas Turtschan
to fix colour values for slategray and slategray. Fixes bug #568839.
svn path=/trunk/; revision=27932
2009-01-17 Michael Natterer <mitch@gimp.org>
* all files with a GPL header and all COPYING files:
Change licence to GPLv3 (and to LGPLv3 for libgimp).
Cleaned up some copyright headers and regenerated the parsers in
the ImageMap plugin.
svn path=/trunk/; revision=27913
2008-12-10 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb-parse.c: updated link to the color
keywords
in the SVG spec.
svn path=/trunk/; revision=27772
* app/gegl/gimpoperationpointlayermode.c
(gimp_operation_point_layer_mode_process): Implemented the layer
modes Hue, Saturation, Color and Value.
Works the same for 100% opaque layers:
o Hue
o Saturation
o Color
o Value
* libgimpcolor/gimphsl.[ch]: Added gimp_hsl_set().
svn path=/trunk/; revision=27466
2007-10-29 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimpadaptivesupersample.c
(gimp_adaptive_supersample_area): return with a warning if
called
with NULL render_func or put_pixel_func.
svn path=/trunk/; revision=23985
2007-09-28 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimpcolorspace.c (gimp_hsv_to_rgb_int): avoid the
ambiguity of returning different values for the same color and
limit the Hue output range to [0..359].
svn path=/trunk/; revision=23681
2007-06-25 Sven Neumann <sven@gimp.org>
* configure.in: removed extra check for gthread and fold it into
the GLIB and GTK checks.
* */Makefile.am: changed accordingly.
* app/main.c (main): always call g_thread_init().
svn path=/trunk/; revision=22832
2007-06-01 Sven Neumann <sven@gimp.org>
* libgimpcolor/Makefile.am
* libgimpcolor/gimpcolor.h
* libgimpcolor/gimpcolortypes.h
* libgimpcolor/gimpcolormanaged.[ch]: added an interface that
will
be used to implement the missing bits of color management.
* libgimpcolor/gimpcolor.def: updated.
svn path=/trunk/; revision=22691
2007-05-26 Michael Natterer <mitch@gimp.org>
* libgimpcolor/gimprgb.c (gimp_param_rgb_values_cmp): fully
initialize all bytes of "int1" and "int2" so we don't produce
wrong color compare results (and shut up valgrind).
Fixes bug #353696.
svn path=/trunk/; revision=22627
2006-04-27 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb.[ch]: hide the GimpParamSpecRGB struct
again. Added getter for the has_alpha field.
* libgimpcolor/gimpcolor.def: updated.
* app/config/gimpconfig-dump.c
* libgimpconfig/gimpconfig-serialize.c: use
gimp_param_spec_rgb_has_alpha() instead of accessing the
GimpParamSpecRGB struct directly.
2006-04-27 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb.[ch]: added "has_alpha" to GimpParamSpecRGB.
Made the GimpParamSpecRGB struct public. When validating a color,
only look at the alpha channel if has_alpha is set.
* libgimpconfig/gimpconfig-params.h: added "has_alpha" to
GIMP_CONFIG_INSTALL_PROP_RGB macro definition.
* libgimpconfig/gimpconfig-serialize.c: serialize color values as
"(rgb r g b)" if the param-spec indicates that the alpha channel
is meaningless.
* app/config/gimpconfig-dump.c: take "has_alpha" into account when
documenting color properties.
* app/core/gimpcontext.c
* app/core/gimpgrid.c
* app/display/gimpdisplayoptions.c
* app/text/gimptext.c
* app/widgets/gimpaction.c
* app/widgets/gimpcolorbar.c
* libgimpwidgets/gimpcolorarea.c
* libgimpwidgets/gimpcolorbutton.c: specify whether color properties
have an alpha channel.
* tools/pdbgen/app.pl: handle "has_alpha" for color paramaters.
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/context.pdb
* tools/pdbgen/pdb/grid.pdb
* tools/pdbgen/pdb/image.pdb: set the "has_alpha" flag where
appropriate.
* app/pdb/gimp-pdb-compat.c (gimp_pdb_compat_param_spec): set
"has_alpha" to TRUE for GIMP_PDB_COLOR.
* app/pdb/channel_cmds.c
* app/pdb/context_cmds.c
* app/pdb/gradient_cmds.c
* app/pdb/grid_cmds.c
* app/pdb/image_cmds.c
* app/pdb/palette_cmds.c
* app/pdb/palettes_cmds.c
* app/pdb/selection_tools_cmds.c: regenerated.
* app/config/gimpdisplayconfig.c (gimp_display_config_class_init):
removed unused code.
2006-04-02 Michael Natterer <mitch@gimp.org>
* app/core/gimpparamspecs.[ch]: removed GIMP_TYPE_PARASITE,
GIMP_TYPE_PARAM_PARASITE and the GimpRGB utility functions. Some
fixes/cleanup in the new array and string array code.
* libgimpbase/gimpbase.def
* libgimpbase/gimpparasite.[ch]
* libgimpcolor/gimpcolor.def
* libgimpcolor/gimprgb.[ch]: added the parasite and rgb stuff here.
* app/pdb/gimpargument.c: #include "libgimpbase/gimpbase.h"
* app/pdb/procedural_db.c: removed unused variable.
2006-03-27 Michael Natterer <mitch@gimp.org>
* libgimpcolor/gimprgb.c (gimp_param_rgb_init): default to fully
opaque black instead of fully transparent.
(gimp_param_spec_rgb): allow a NULL default value. Simply use the
opaque black set in init().
2005-06-03 Manish Singh <yosh@gimp.org>
* libgimpcolor/gimprgb.h: whitespace fix.
* libgimpwidgets/gimpchainbutton.h
* libgimpwidgets/gimpwidgetsenums.[ch]: move GimpChainPosition
to a registered enum, and register GimpSizeEntryUpdatePolicy as
as well.
* libgimp/gimpuitypes.h
* libgimp/gimpdrawablecombobox.[ch]: turn these into GObjects
with their own types.
* libgimp/gimpimagecombobox.c: use G_DEFINE_TYPE.
2004-09-18 Sven Neumann <sven@gimp.org>
* app/actions/qmask-commands.c
* libgimpcolor/gimprgb.c (gimp_rgba_distance): just some cleanup.
* app/core/gimpimage-qmask.c (gimp_image_set_qmask_color): always
set gimage->qmask_color regardless of the qmask state.
* libgimpwidgets/gimpcolorbutton.c (gimp_color_button_new): set
the type before setting the color.
2004-07-31 Hans Breuer <hans@breuer.org>
* app/display/makefile.msc app/widgets/makefile.msc : build
but *dont link* display-enums.obj, widget-enums.obj and
gimpdisplayoptions.obj. They must be in the dll
* app/makefile.msc : build gimp.exe and gimp-console.exe both
using the same gimp-core.dll
* app/gimpcore.def : new file, exports for gimp-core.dll
* app/Makefile.am : added to EXTRA_DIST
* cursors/makefile.msc : new file to create gimp-tool-cursors.h
* cursors/Makefile.am : added to EXTRA_DIST
* **/makefile.msc : updated
* app/main.c app/app_procs.c : moved code to close the console
from the former to the later. It only is to be used if The Gimp
is not build as console app.
* plug-ins/gfig/gfig.c : dont gimp_drawable_detach() the same
drawable twice
* plug-ins/gfig-dialog.c() : added a g_return_if_fail() to avoid
crashing on File/Import
2004-07-26 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb.[ch]: register GimpRGB as a boxed type.
* libgimpcolor/gimpadaptivesupersample.c
* libgimpcolor/gimpcolorspace.c
* libgimpcolor/gimprgb-parse.c
* libgimp/gimp.h: include <glib-object.h> instead of <glib.h>.
2004-07-26 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb-parse.c
* libgimpcolor/gimprgb.h: added new function gimp_rgb_list_names()
that gives access to the list of SVG color keywords.
* libgimpwidgets/Makefile.am
* libgimpwidgets/gimpwidgets.h
* libgimpwidgets/gimpwidgetstypes.h
* libgimpwidgets/gimpcolorhexentry.[ch]: added new widget that
allows to enter colors in hex notation or by using color names.
* libgimpwidgets/gimpcolorscales.c: use a GimpColorHexEntry.
2004-07-23 Sven Neumann <sven@gimp.org>
* libgimpcolor/test-color-parser.c: added more test samples.
* libgimpcolor/gimprgb-parse.c: fixed a bug that I found with the
new tests.
* app/core/gimpgradient-load.c: changed SVG parser to handle
gradients that are defined more deeply in the SVG hierarchy. Added
a simplistic CSS style parser to deal with gradient definitions
that use CSS to define the gradient stop properties (closes bug
#148127).
2004-07-23 Sven Neumann <sven@gimp.org>
* libgimpcolor/Makefile.am
* libgimpcolor/test-color-parser.c: added a simple unit test
framework for the color parser.
* libgimpcolor/gimprgb-parse.c: fixed parsing of rgba() values.
* libgimpmath/test-md5.c: minor cleanup.
2004-07-22 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb-parse.c
* libgimpcolor/gimprgb.h: improved the CSS color parser code,
added new function gimp_rgba_parse_css(), added support for HSL
color values.
2004-07-22 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimprgb-parse.c
* libgimpcolor/gimprgb.h: use a signed integer to pass the string
length to the new parser functions. The API explicitely asks for
-1 to be passed...
* app/core/gimp.c
* app/core/gimpgradient-load.[ch]
* app/core/gimpgradient.h: added preliminary support for loading
simple SVG gradients (see bug #148127). Be careful with this new
feature; editing the loaded gradient will cause the SVG file to be
overwritten! Work in progress...
2004-07-22 Sven Neumann <sven@gimp.org>
* libgimpcolor/Makefile.am
* libgimpcolor/gimprgb-parse.c
* libgimpcolor/gimprgb.[ch]: added more RGB parsers and moved the
code to a dedicated file.
* libgimpcolor/gimpcolor.def: added new symbols.
* libgimpwidgets/gimpcolorscales.c: use gimp_rgb_parse_hex().
2004-07-22 Sven Neumann <sven@gimp.org>
* app/widgets/gimpactionview.c: rephrased the text for the dialog
that appears if a new shortcut collides with an existing one.
* libgimpcolor/gimprgb.[ch]: added new function gimp_rgb_parse_name()
which accepts RGB colors in hexadezimal notation or as SVG color
keywords.
2004-04-15 Sven Neumann <sven@gimp.org>
* libgimpcolor/gimpcolorspace.c (gimp_rgb_to_hsv): applied patch
from Marco Munari that removes a redundant "if" (bug #133540).
2004-03-20 Sven Neumann <sven@gimp.org>
* configure.in: set version number to 2.0.0, version string to
"2.0rc1".
* app/Makefile.am
* libgimp/Makefile.am
* libgimpbase/Makefile.am
* libgimpcolor/Makefile.am
* libgimpmath/Makefile.am
* libgimpmodule/Makefile.am
* libgimpthumb/Makefile.am
* libgimpwidgets/Makefile.am
* tools/Makefile.am: changed 1.3 to 2.0 all over the place.
* README
* NEWS: updated for the 2.0rc1 release.
2004-02-07 Hans Breuer <hans@breuer.org>
* gimpdefs.msc : new file to keep common definitions for the msc build
* **/makefile.msc : use common defintions, e.g. GIMP_VER
* Makefile.am : add the former to EXTRA_DIST
2004-01-21 Manish Singh <yosh@gimp.org>
* configure.in: modernized, made a lot of things m4 macros, and made
versioning a lot more finegrained, in anticipation for post-2.0.
* autogen.sh: bumped up libtool and glib minimum requirements to match
reality.
* gimp-2.0.pc.in
* gimpthumb-2.0.pc.in
* gimpui-2.0.pc.in: adapted to new versioning variables, and bring
in RT_LIBS when needed.
* */*/Makefile.am: adapted to new versioning variables.