Commit Graph

416 Commits

Author SHA1 Message Date
Michael Natterer b45d31072b app, libgimpcolor: refactor GimpColorManaged::get_color_profile()
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).
2015-09-03 01:36:02 +02:00
Michael Natterer fd0203ce80 libgimpwidgets: change parameters of gimp_widget_get_color_transform()
Change GimpColorManaged to GimpColorProfile.
2015-09-01 23:40:57 +02:00
Michael Natterer e4d5f05373 modules: don't use the configured RGB profile in the CMCK color selector
it gets its color as GimpRGB which is always sRGB. Instead always use
the built-in sRGB profile.
2015-08-19 17:57:48 +02:00
Michael Natterer 5672e80ea1 libgimpwidgets: port GimpColorProfileStore and -ComboBox to GFile
and deprecate the old filename-based API. Port everything to use the
new GFile functions.
2015-08-01 16:20:14 +02:00
Michael Natterer 0693298d63 libgimpcolor, *: change all GimpColorConfig getters to return const gchar*
instead of a gchar* which has to be freed. Cache all the strings in
the GimpColorConfig instance.
2015-07-12 14:10:18 +02:00
Michael Natterer c102dde92b libgimpcolor, *: change GimpColorProfile to be a GObject
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).
2015-07-10 22:53:59 +02:00
Michael Natterer 3565b33019 libgimpconfig: rename the new GimpColorConfig profile accessor functions
gimp_color_config_get_foo_profile() -> get_foo_color_profile()

because the old names clash with possible future accessors for the raw
filename properties.
2015-06-03 09:57:34 +02:00
Michael Natterer 4910c28957 libgimpcolor: rename the gimp_lcms_*() functions to gimp_color_profile_*()
because it doesn't make sense to call the typedef GimpColorProfile
but the function namespace gimp_lcms_*().
2015-06-03 09:41:23 +02:00
Michael Natterer 8005eea835 Remove the "GIMP" from all "Since: GIMP 2.x" API doc comments
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.
2015-05-31 21:18:09 +02:00
Michael Natterer 9096ceffde modules: honor GimpColorConfig.display_profile_from_gdk again
I broke this during some recent refactoring.
2015-05-30 01:06:25 +02:00
Michael Natterer d3e11c5b2c modules, libgimpwidgets: use gimp_color_managed_get_color_profile()
which always returns a profile, instead of code that uses the ICC
blob and falls back to GimpColorConfig's profile, then falls back
to the built-in profiles.
2015-05-27 12:53:46 +02:00
Michael Natterer 394bc25be1 libgimpwidgets: return the formats from gimp_widget_get_color_transform()
Turn the src_format and dest_formats into "const Babl **" and make
them return the actually used formats. Change the lcms display module
accordingly.
2015-05-11 00:45:18 +02:00
Michael Natterer 064cdaa923 modules: use the new function in the lcms display filter 2015-05-09 01:24:22 +02:00
Michael Natterer cbb82ae5da modules: get the profile of the widget's toplevel
so we are in sync with GimpWindow::monitor-changed().
2015-05-08 00:50:07 +02:00
Michael Natterer ed3f2daac2 modules: use the new API in the lcms display filter, and some cleanup 2015-05-06 22:21:13 +02:00
Michael Natterer 6c800db1cc Use the newly added profile utility functions all over the place 2015-05-06 16:38:57 +02:00
Michael Natterer fa070d4cf9 modules: plug leak in color-selector-cmyk
Don't leak the RGB profile if the CMYK profile can't be loaded
2014-10-06 20:29:58 +02:00
Michael Natterer b5530e9e3d Use the new GeglAccessMode enum instead of the old values 2014-07-02 02:00:35 +02:00
Michael Natterer 65a65947d9 app, libgimp: replace GTK_STOCK_FOO by icon names
unless it's a stock ID used for an action button, will address that
later.
2014-05-11 22:49:22 +02:00
Michael Natterer 4b629e984b libgimpwidgets: add GimpColorDisplayClass::icon_name
and deprecate its stock_id.
2014-05-10 11:53:07 +02:00
Michael Natterer 1ec64abb8b libgimpwidgets: add GimpColorSelectorClass::icon_name
and deprecate its stock_id.
2014-05-10 08:34:42 +02:00
Michael Natterer 9331ef2456 libgimpwidgets: change GimpController's stock_id to icon_name
This API change is OK since the entire controller API is marked as
unstable and needs a special #define to be visible at all.
2014-05-09 09:19:06 +02:00
Rickard 5ec413a5e8 Bug 729326 - Errors found using a static code analysis program cppcheck
Fixed some memory and file leaks. And removed some code and variables
that are not used.
2014-05-05 10:34:08 +02:00
Michael Henning b34fbb21fc modules: Add missing include.
614c61a3dd removed the #include <glib.h>,
which is needed for the #ifdef G_OS_WIN32 to work.
2014-04-15 19:17:57 -04:00
Michael Natterer 614c61a3dd Don't #include <glib.h> before <lcms.h>
The include claimed to be because of "inline" in the lcms header, but
that was probably lcms1, since there is no trace of inline in the
lcms2 header.
2014-04-10 20:48:22 +02:00
Michael Natterer 661317f74c libgimpwidgets: make using GimpColorProfileComboBox easier
If the passed dialog is a GimpColorProfileChooserDialog, handle its
"response" signal automatically and also destroy it when the combo box
is destroyed (before we leaked all dialogs). Remove the same callback
from all places using GimpColorProfileComboBox.
2014-04-04 17:09:54 +02:00
Michael Natterer 3f826d02fa libgimpwidgets: make GimpColorProfileComboBox use lcms
and improve gimp_color_profile_combo_box_set_active() to get the
profile's label from the ICC file if no label was provided. Simplifies
all its callers and removes code duplication.
2014-04-02 13:03:52 +02:00
Michael Natterer d7037650df libgimpcolor: add gimp_lcms_profile_get_label()
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.
2014-03-30 03:12:42 +02:00
Michael Natterer 32e47cf70d libgimpcolor: add gimp_lcms_profile_is_equal()
and remove all of our own MD5 digest code and API. is_equal() uses
lcms' own MD5 API which I missed before. Thanks Elle for pointing that
out :)
2014-03-29 10:40:47 +01:00
Michael Natterer b3395d989e libgimpcolor: return an optional MD5 digest from gimp_lcms_create_srgb_profile()
pass NULL in most places, use the feature in the lcms.c plu-gin.
2014-03-23 23:34:47 +01:00
Michael Natterer 191b2aa2e8 modules: verify that GimpColorConfig.rgb_profile is actually for RGB 2014-03-23 21:16:39 +01:00
Michael Natterer 251dd91395 modules: fix memory leaks in color-selector-cmyk.c
Also clean up a bit and make the profile label's tooltip show
the profile's summary.
2014-03-16 15:57:14 +01:00
Michael Natterer ebc53672cb libgimpcolor: add gimp_lcms_profile_is_rgb() and _is_cmyk()
And change all lcms code to use it.
2014-03-15 21:47:13 +01:00
Michael Natterer a277a5b66f modules: don't use CamelCase variable names in display-filter-proof.c 2014-03-15 21:47:13 +01:00
Michael Natterer 89b489b9bb modules, plug-ins: use GimpColorProfileChooserDialog
instead of selfmade file choosers for picking color profiles from
disk.
2014-03-14 23:02:14 +01:00
Michael Natterer ceb31cc02e modules: use gimp_lcms_profile_get_summary() in the lcms display filter 2014-03-14 20:26:15 +01:00
Michael Natterer eee6fa1e4b libgimpcolor: start adding profile utility functions to gimplcms.[ch]
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).
2014-03-14 01:48:39 +01:00
Michael Natterer f078cc5992 modules: make display-filter-lcms.c find the right monitor...
...when its GimpColorManaged's GdkWindow exists but is hidden, which
happens for all but the active tab of a single window with multiple
images open.
2014-03-13 22:39:03 +01:00
Elle Stone 05c5ca3216 Bug 723787 - Neutral sRGB profile matching Argyllcms sRGB.icm
Add gimp_lcms_create_srgb_profile() to libgimpcolor and use it where
we used to call cmsCreate_sRGBProfile().
2014-02-09 23:10:56 +01:00
Michael Natterer 84c132addc Bug 721553 - License text contains obsolete FSF postal address
These files were forgotten when changing license from GPL2 to GPL3.
2014-01-05 14:25:46 +01:00
Elle Stone a4821914d3 Bug 720045 - Add black point compensation to Preferences/Color Management
Make black point compensation configurable separately for both proof
and display.
2013-12-09 02:23:31 +01:00
Nils Philippsen 1bb379c3f5 gimpcolorwheel: comment out ineffectual code 2013-11-07 12:20:34 +01:00
Nils Philippsen c028580ae0 color-selector-cmyk: avoid freeing uninitialized pointer 2013-11-07 12:20:33 +01:00
Michael Natterer 48582d4d6a modules: silence defined but not used warning in color-selector-water.c
by uselessly calling colorsel_water_get_type().
2013-11-04 22:09:57 +01:00
Hartmut Kuhse 7027d3cb13 modules: include <gegl.h> in controller-dx-dinput.c
when we include "libgimpwidgets/gimpwidgets.h"
2013-11-04 21:25:22 +01:00
Michael Natterer 71b189e4da modules: rename color-selector-cmyk-lcms.c to color-selector-cmyk.c
overwriting the old color-selector-cmyk.c
2013-11-03 22:06:51 +01:00
Michael Natterer 7bd4d2678a configure, plug-ins, modules: make lcms a hard dependency 2013-11-03 21:19:51 +01:00
Michael Natterer ae9d8c72bc modules: add GEGL_LIBS to display_filter_libadd 2013-11-03 15:33:40 +01:00
Michael Natterer 337c1fe4bf modules: port the proof display filter to convert_buffer() 2013-11-02 14:53:48 +01:00
Michael Natterer 73f5e2c21a modules: remove the old convert_surface() from gamma and high contrast 2013-11-02 14:47:54 +01:00