Commit Graph

37039 Commits

Author SHA1 Message Date
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 9a871f6262 app: color manage palette and gradient previews 2016-05-27 23:59:07 +02:00
Michael Natterer a35276ed91 app: make all GimpViewRenderers color manage themselves
Automatically connect to the global GimpColorConfig unless a different
one is set manually (like for previews that belong to a
GimpDisplayShell and should follow its color management settings.  Add
public API for subclasses to get to the renderer's color
transform. Automatically color manage rendered pixbufs, just as we
already manage temp_bufs.
2016-05-27 23:54:46 +02:00
Jehan c0aff6b0f0 plug-ins: enter in the filename field activates email sending. 2016-05-27 22:09:18 +02:00
Jehan 22905e7174 plug-ins: fix sendmail alternative.
Oups! I should have retested --with-sendmail before pushing, after the
changes in commit 05f7726.
2016-05-27 22:09:18 +02:00
Michael Natterer d6ee1dc5cf libgimpwidgets: cache gimp_widget_get_color_transform()'s GimpColorTransforms
Now that more and more widgets are color managed, we need transforms
for all of them. Creating them is very expensive.

The new cache returns the same transform for a combination of (config,
src_profile, src_format, dest_format) and invalidates itself
automatically on config changes. The number of transforms goes down
from potentially hundreds to a handful, and the cost of a config
change from many seconds to virtually instant.
2016-05-27 21:58:46 +02:00
Michael Natterer 984e3d8f5a libgimpcolor: small optimization in gimp_color_transform_process_pixels()
no need to copy the alpha channel separately if src and dest are the
same.
2016-05-27 21:58:46 +02:00
Jehan cef26867c5 plug-ins: redirect stdout to /dev/null when checking xdg-email presence. 2016-05-27 21:45:19 +02:00
Jehan 59f1b18a93 plug-ins: do not show all fields in dialog for xdg-email.
xdg-email would usually open an email client where you can edit all
fields, like recipients, mail title, etc. Setting it first in GIMP
is redundant.
Of course, these fields can still be set in non-interactive mode (in
which case, maybe xdg-email could be set to some non-interactive email
client as well).
2016-05-27 21:45:05 +02:00
Jehan 05f7726eab plug-ins: xdg-email is a runtime dependency. 2016-05-27 21:44:52 +02:00
Jehan 8c4d03ada8 plug-ins: email plugin brought back from the dead.
By default, it will now use xdg-email to select the user's preferred
email client, which means it only works on platforms with xdg-email.
The sendmail implementation is still available if requested explicitly
with --with-sendmail.
2016-05-27 21:44:45 +02:00
Cédric Valmary b8b9f8a3c3 Updated Occitan translation 2016-05-27 19:41:04 +00:00
Cédric Valmary 34982a5b95 Updated Occitan translation 2016-05-27 19:40:10 +00:00
Cédric Valmary ddf6db022e Updated Occitan translation 2016-05-27 19:39:22 +00:00
Cédric Valmary 78fb78b270 Updated Occitan translation 2016-05-27 19:38:34 +00:00
Cédric Valmary f9d0479f72 Updated Occitan translation 2016-05-27 19:38:24 +00:00
Cédric Valmary cd453597aa Updated Occitan translation 2016-05-27 19:38:16 +00:00
Cédric Valmary 09dbcc6995 Updated Occitan translation 2016-05-27 19:33:44 +00:00
Massimo Valentini 062cf1a5ab Bug 766895: The --dump-pdb-procedures-deprecated...
argument triggers a segmentation fault

Initialize babl so that, when gimp is unreffed,
using a babl_format to destroy a std brush does
not crash.
2016-05-27 19:30:49 +02:00
Yolanda Álvarez Pérez 0637074743 Updated Spanish translation 2016-05-27 06:19:55 +00: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 9014fbeb32 Bug 467930 - color selectors are not color managed
Color manage GimpColorScale and GimpColorScales.
2016-05-27 00:51:32 +02:00
Michael Natterer ff3e9d76ac libgimpcolor: add CMYK formats to gimp_color_profile_get_format()
Makes the CMYK color selector not crash.
2016-05-27 00:33:56 +02:00
Michael Natterer ca349f88cd libgimpcolor: add gimp_color_transform_can_gegl_copy()
Which takes two profiles and returns TRUE if converting between
them works correctly without a GimpColorTransform. Use it in
gimp_color_transform_new() to return a NULL transform if none
is needed. Took the code from gimp-gegl-loops.c.
2016-05-26 23:14:57 +02:00
Cédric Valmary 365f4e417e Updated Occitan translation 2016-05-26 20:46:14 +00:00
Cédric Valmary 1a09bb0f2b Updated Occitan translation 2016-05-26 20:40:13 +00:00
Michael Natterer e6d4053567 app: don't forget to ref GimpOperationProfileTransform's profiles 2016-05-26 22:26:07 +02:00
Michael Natterer 0cd3d7aa7b app: color manage GimpFgBgEditor, as used e.g. in the toolbox 2016-05-26 22:25:03 +02:00
Michael Natterer 0acff06465 app: color manage the color buttons of GimpColorHistory 2016-05-26 22:24:35 +02:00
Michael Natterer bd38b7b9fd libgimpwidgets: set the color config on the "GIMP" page of color selectors 2016-05-26 22:23:29 +02:00
Michael Natterer e080df349c libgimpwidgets: set the color config on GimpColorSelection's color areas
so they are color managed.
2016-05-26 22:22:50 +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
Marco Ciampa 97d16bd1d6 Updated Italian translation 2016-05-26 18:05:13 +02:00
Adrian Likins bf9b33ece2 Bug 749044 - Exporting as KISS - CELL (*.cel) results in error 2016-05-26 03:51:38 +02:00
Cédric Valmary e20af20fc4 Updated Occitan translation 2016-05-25 20:08:43 +00:00
Michael Natterer 060c03a119 libgimpconfig: don't include gimpcolorconfig-enums.h in gimpcolorconfig.c
gimpcolortypes.h already includes it.
2016-05-25 21:34:49 +02:00
Simon Budig bdae0de1aa script-fu: make regex matching return character indexes
Since tinyscheme uses utf-8 for strings match the behaviour for the
script-fu regex utilities as well. Fixes bug #764811
2016-05-25 20:18:34 +02:00
klausstaedtler 5feba030ca icons: color-scalable & symbolic-scalable
minor corrections
2016-05-25 18:11:27 +02:00
Michael Natterer 1cffaa7120 libgimpwidgets: add gimp_color_area_set_color_config()
And do a display profile transform on the color area if it's set.
2016-05-25 12:39:31 +02:00
Michael Natterer 7326f346c3 libgimpcolor: optimize gimp_color_profile_get_format() for cairo-RGB24
Trick lcms into converting cairo-RGB24 pixels directly, by using
TYPE_BGRA_8 on little endian and TYPE_ARGB_8 on big endian. They have
the same byte order, and the alpha channel (ignored by lcms anyway)
takes the place of the unused byte of cairo-RGB24.

This saves two babl conversions around cmsDoTransform().
2016-05-25 12:33:38 +02:00
Yolanda Álvarez Pérez f93ca2c63a Updated Spanish translation 2016-05-25 06:37:28 +00:00
Michael Natterer 9c99d61feb libgimpwidgets: add gimp_preview_area_set_color_config()
If a config is set, apply its settings when drawing the preview's
pixels. This is preparation for fixing:

Bug 467930 - color selectors are not color managed
Bug 556608 - Monitor color profile is not applied to filter preview
2016-05-24 21:43:20 +02:00
klausstaedtler 3a458d1756 icons: color-scalable & symbolic-scalable
add 'pixel-perfect' 24x24px twins
gimp-info
gimp-user-manual
gimp-video


all current 24px icons from scalable icons-themes have now
'pixel-perfect' 24px vector twins.

Next step would be 'port' all remaining 22x22px icons to 24x24
(so 22x22 can be deprecated in future builds). As gimp refuses to use
24px for these icons, the 22px icons have to stay until gimp is ready for 24px.
2016-05-23 21:56:05 +02:00
Massimo Valentini 9e96996138 Bug 764608: Smudge tool clips out of gamut channel values...
on layers with alpha channels
2016-05-23 18:45:49 +02:00
klausstaedtler 7a19e5ce44 icons: color-scalable & symbolic-scalable
add 'pixel-perfect' 24x24px twins
gimp-controller
gimp-controller-keyboard
gimp-controller-linux-input
gimp-controller-midi
gimp-cintroller-wheel
gimp-cursor
gimp-sample-point
2016-05-23 17:47:13 +02:00
Michael Natterer cb578e3df7 app: add GimpOperationProfileTransform
which converts between two color profiles.
2016-05-23 14:00:35 +02:00
Michael Natterer 5b4d0219d8 app: add GimpPickable::srgb_to_pixel()
which isn't really for "picking", but it just fits too nicely into
GimpPickable to not put it there.

Also add utility function gimp_pickable_srgb_to_image_color() which
takes a "real" (sRGB) GimpRGB value, transforms it to the pickable's
colorspace and puts it into an "image color" GimpRGB.
2016-05-23 01:33:52 +02:00
Michael Natterer f7842bc8db app: add gimp_image_color_profile_srgb_to_pixel()
which is the reverse of gimp_image_color_profile_pixel_to_srgb()
2016-05-23 01:18:55 +02:00
Michael Natterer 26251695b0 Bug 748749 - picked colors don't match image colors...
...when a color profile is active

Add GimpPickable::pixel_to_srgb() which puts a picked raw image
pixel into a GimpRGB. Default to gimp_rgba_set_pixel() but implement
pixel_to_srgb() in GimpLayer, GimpProjection and GimpImage and
run the pixel through gimp_image_color_profile_pixel_to_srgb().
2016-05-22 23:28:31 +02:00