Michael Natterer
3ed305f6f5
libgimpwidgets, app: have all previews track the monitor they are on
...
and update their color transforms with the new monitor's color
profile. A widget is considered changing monitors when its toplevel
window's center crosses, in order to let widgets within one window
have consistent colors.
2016-06-01 22:42:00 +02:00
klausstaedtler
a91adeb5fb
icons:
...
symbolic-scalable
add 'pixel-perfect' 24px vectorial twins (as replacement for 22px)
gimp-prefs-folders-dynamics
gimp-prefs-folders-environ
gimp-prefs-folders-fonts
gimp-prefs-folders-gradients
gimp-prefs-folders-icon-themes
gimp-prefs-folders-interp
gimp-prefs-folders-modules
symbolic-scalable & color-scalable
add new icons
gimp-color-cmyk
gimp-color-water
patch
color-selector-cmyk.c
color-selector-water.c
gimpicons.c
This is the first patch to solve Bug 759904
many more have to follow
Thanks to Jehan for the assistance
2016-06-01 19:41:47 +02:00
Michael Natterer
4ad2493283
libgimpwidgets, modules: improve set_color_config() functions a bit
...
Don't do anything if the config doesn't change.
2016-05-31 12:27:15 +02:00
Michael Natterer
ee0c51a43e
Bug 467930 - color selectors are not color managed
...
Color manage the water color selector.
2016-05-28 00:38:57 +02:00
Michael Natterer
0d8b8c2f99
Bug 467930 - color selectors are not color managed
...
Color manage the wheel/triangle color selector.
2016-05-27 01:12:35 +02:00
Michael Natterer
0bfa402c1a
Argh, this was meant to be squashed into the previous commit...
2016-05-26 22:18:50 +02:00
Michael Natterer
cc92887908
libgimpcolor: add new object GimpColorTransform
...
which encapsulates a cmsHTRANSFORM and does all the pixel format
conversion magic. It has API to create transforms and proofing
transforms, and to convert pixels arrays and GeglBuffers.
Before, each place which has a transform had to keep around the
transform and its input and output Babl formats, and had to implement
lots of stuff itself. Now all that lives in GimpColorTransform,
removing lots of logic from many places, and pretty much removing lcms
from the public API entirely.
This removes including <lcms2.h>, LCMS_LIBS and LCMS_CFLAGS from
almost all directories and potentially allows to replace lcms by
something else.
2016-05-26 22:15:54 +02:00
Michael Natterer
83df7f410d
libgimpwidgets: more parameters for gimp_color_profile_chooser_dialog_new()
...
Add "parent" and "action", contraidicting myself from two commits
earlier.
2016-05-07 01:19:26 +02:00
Michael Natterer
f7f9174a9c
Revert "libgimpwidgets: remove gimp_color_profile_chooser_dialog_new()"
...
This reverts commit 2bfd0711e8
.
Don't ask...
2016-05-07 00:57:40 +02:00
Michael Natterer
2bfd0711e8
libgimpwidgets: remove gimp_color_profile_chooser_dialog_new()
...
Its API was too limited, and adding parameters for what we need next
would be equally random. It's a rarely used and mostly internal
widget, so simply use g_object_new().
2016-05-06 22:57:32 +02:00
Michael Natterer
f7fc87884e
Bug 765180 - Hard-coded NTSC parameters in babl/GEGL/GIMP
...
Port GimpColorWheel to GIMP_RGB_LUMINANCE().
2016-04-17 17:52:28 +01:00
Michael Natterer
9fd0c74ebe
modules: port to GIMP_CONFIG_PROP_FOO()
2016-04-17 00:11:39 +01:00
Michael Natterer
47ef3be145
Initialize GValues with G_VALUE_INIT instead of { 0, }
2016-03-26 15:59:26 +01:00
Michael Natterer
f2d581a536
Bug 761170 - Warnings building with clang
...
Fix a bunch of clang warnings.
2016-02-12 22:49:47 +01:00
Michael Natterer
3e5eba0774
modules: patch from Elle that fixes some forgotten profile_new name changes
2015-12-16 00:23:48 +01:00
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
Michael Natterer
e96b1db023
modules: implement convert_buffer() in the color blind display filter
2013-11-02 14:43:47 +01:00
Michael Natterer
78706f7796
modules: implement convert_buffer() in the lcms display filter
2013-11-02 03:02:09 +01:00
Michael Natterer
fcd457e67b
modules: implement convert_buffer() in the gamma display filter
2013-11-02 01:51:05 +01:00
Michael Natterer
a04c442e69
modules: implement convert_buffer() in the high contrast display filter
2013-11-02 01:38:50 +01:00
Michael Natterer
a5d4f3ae04
modules: also include <gegl.h> when we include "libgimpwidgets/gimpwidgets.h
2013-11-01 22:30:36 +01:00
Jehan
3838a8cebb
modules: small tabs replacement into spaces.
2013-09-21 18:17:34 +12:00
Michael Natterer
2cd25ec863
modules: turn GimpColorWheel into a proper dynamically loaded type
...
So it works with all GObject versions, until we determine how useful
it is generally, and what API it should get for possible
libgimpwidgets inclusion.
2013-07-14 13:41:29 +02:00
Michael Natterer
ec786816bb
*/Makefile.am: merge INCLUDES into AM_CPPFLAGS
...
automake-1.13 finally warns about this anachronism.
2013-06-05 20:48:37 +02:00
Michael Natterer
3c006d0a4f
modules: make all get_type() functions static
2013-01-17 20:57:50 +01:00
Michael Natterer
9f610ef3cf
modules: use G_DEFINE_DYNAMIC_TYPE() in color-selector-cmyk-lcms
2013-01-17 20:56:58 +01:00
Michael Natterer
632c577f18
Bug 689371 - GIMP uses deprecated GtkHSV widget
...
Swallow GtkHSV back into GIMP and call it GimpColorWheel. Keep it in
modules/ for the time being. Clean up and undeprecate it. Replace
set_metrics() API by set_ring_fraction() and make it follow the size
of its parent container, making its use straightforward. Kept it clean
of GIMP color types so it can be easily adapted by e.g. Inkscape.
2013-01-06 02:56:59 +01:00
Michael Natterer
2d6a880b12
Bug 662739 - Port to lcms2 for icc V4 profile support
...
Apply patch from Laurent Martelli which multiplies the out-of-gammut
color components by 256 to match the new 16 bit lcms data type.
2012-10-24 18:19:33 +02:00
Sven Neumann
3cb7f05e73
modules: mark new string for translation
2012-09-25 22:15:34 +02:00
Michael Natterer
e8b24abbf7
modules: say "(unnamed profile)" when a color profile provides no name
...
inatead of showing an empty label
2012-09-25 20:56:05 +02:00
Kevin Cozens
a2e037fb00
Corrected spelling errors spotted by Ari Pollak (Mostly fixes bug #683694 )
...
Still need to address the "allows to" grammatical error.
2012-09-10 12:22:12 -04:00
Michael Natterer
8bbfc9e5cf
Bug 675558 - switch from lcms-1 to lcms-2
...
Applied modified patch from Hartmut Kuhse which ports to lcms-2.
2012-09-03 20:03:53 +02:00
Kristian Rietveld
9514cf4871
Avoid using CMFlattenProfile
...
This symbol is not available to 64-bit applications. So put another
approach in place.
I can confirm that the code does not crash, but I do not know if it
works properly. Mitch forced me to push anyway.
2012-06-09 22:47:01 +02:00
Michael Natterer
3ad73b3658
libgimpcolor: add GdkPixbuf <-> GeglBuffer utility functions
...
and update tons of includes in libgimp and app.
2012-05-03 03:37:20 +02:00
Michael Natterer
2b2315deea
modules: forgot one #include <babl/babl.h>
2012-05-02 17:50:54 +02:00
Michael Natterer
3e119c5af7
libgimpcolor: add gimp_rgb[a]_set,get_pixel()
...
which converts from/to any pixel format using Babl. Added tons of
includes and CFLAGS now that libgimpcolor publically uses Babl.
2012-05-02 17:50:43 +02:00
Michael Natterer
056e09a6cb
Remove the makefile.msc build system, it is unmaintained since 2008
2011-12-16 15:53:56 +01:00
Michael Natterer
19b9bfd189
libgimpwidgets: add gtk_scale_new() to gimp3migration.[ch]
...
and use it all over the place. Also change some GtkObject* variables
to GtkAdjustment*.
2011-10-02 14:36:41 +02:00
Michael Natterer
4373dccdc1
modules: use gtk_box_new()
2011-09-30 11:00:22 +02:00
Michael Natterer
3b6ab5a48c
Bug 660067 - GIMP crashes after Wacom tablet's hot unplug
...
Don't call gimp_input_device_store_lookup() with a NULL name. Unplug
seems broken because we always get name == NULL, I need to fix this
but at least it doesn't crash any longer (and the fix is generally
correct and not a workaround).
2011-09-26 22:35:45 +02:00
Michael Natterer
ce4ab710f6
modules: gimp_input_device_store_add(): bail out if the device has no parent
2011-06-26 23:39:05 +02:00
Michael Natterer
f1bb40166b
Bug 592364 - Use GUdev rather than deprecated HAL for GIMP
...
GIMP was probably the only user of libhal on most systems, this had
to stop. Ported the linux-input module to GUdev.
2011-06-23 16:30:58 +02:00
Michael Natterer
cccddce106
modules: fix indentation in controller-dx-dinput.c
2011-06-23 16:26:55 +02:00
Michael Natterer
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
Omari Stephens
5cae0bf65c
Bug 630748 - display filters do not work
...
Create and use Cairo-compatible API for display filters. Also
includes logic changes to the display filters to deal with cairo's
ARGB32 pre-multiplied buffer format.
2011-01-25 20:24:42 +01:00
Michael Natterer
7b320c7bf6
Get rid of DOS line endings
2010-11-21 16:09:09 +01:00
Nelson A. de Oliveira
7666e5cf36
Fix memory and descriptor leaks
2010-11-12 21:56:17 +01:00
Michael Natterer
1f398549e2
modules: add size-request workaround that is not needed any longer
2010-10-31 16:15:33 +01:00
Michael Natterer
62c4387a26
modules: port ColorselWater drawing to cairo
2010-08-09 00:14:35 +02:00
Sven Neumann
e14c50aaef
Bug 623169 - Memory leaks in GIMP
...
Plug leak by allocating the data on the stack.
2010-07-15 21:42:58 +02:00
Michael Natterer
fe97de2a68
modules: forgot to port this one to GSEAL_ENABLE
2010-02-09 22:42:20 +01:00