Commit Graph

37116 Commits

Author SHA1 Message Date
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
Michael Natterer c73104e3ea Bug 766327 - gimptool-2.0 not quoting filenames/directories
Quote installation paths with g_shell_quote().
2016-05-22 22:38:12 +02:00
Michael Natterer bb43a89ef8 app: treat the layer mask correctly in gimp_layer_get_opacity_at()
Only take the mask into account if it is actually applied.
2016-05-22 19:53:10 +02:00
Michael Natterer adaa67548e libgimpwidgets: set a minimum width on GimpColorProfileComboBox
so ellipsation doesn't shrink the entire text away in narrow dialogs.
2016-05-22 18:44:59 +02:00
Michael Natterer 836972b736 app: use the new function in GimpTemplateEditor
It now offers the right default profiles for the selected image
type/precision.
2016-05-22 13:26:50 +02:00
Michael Natterer 490b33fd85 app: use the new function in the color profile assign/convert dialog 2016-05-22 13:26:20 +02:00
Michael Natterer ae1fdd9eeb app: fix the new gimp_color_profile_store_add_defaults()
A NULL profile is only an error if it's NULL because opening
the .icc failed, not just because none is configured...
2016-05-22 13:24:20 +02:00
Piotr Drąg 193101b9d7 Updated Polish translation 2016-05-22 13:00:58 +02:00
Dušan Kazik 2f32b94626 Updated Slovak translation 2016-05-22 09:27:04 +00:00
Michael Natterer 57d497b486 app: add gimp_color_profile_store_add_defaults()
which adds default profiles for an image type/precision.
2016-05-22 01:19:18 +02:00
Alexandre Prokoudine 9853400a5b Update Russian translation 2016-05-22 00:44:01 +03:00
Michael Natterer dcf5c526e7 Bug 320447 - fast switching between "color managed display" and "softproof"
Replace the 3-state "off", "display" and "softproof" radio items by
two toggles "enable" and "softproof". Also add separate controls for
display and softproof options.
2016-05-21 21:38:47 +02:00
klausstaedtler 0f3e8ea116 icons: update icon-list.mk 2016-05-21 17:09:53 +02:00
klausstaedtler 92739a5d90 icons: color-scalable & symbolic-scalable
add 'pixel-perfect' 24x24px twins
gimp-template
gimp-tools
gimp-undo-history
2016-05-21 17:04:48 +02:00
Michael Natterer 6b246ff6c2 app: remove ancient utility function gimp_toggle_button_set_visible()
and use g_object_bind_property() instead.
2016-05-21 14:28:11 +02:00
Yolanda Álvarez Pérez 85ca7c5895 Updated Spanish translation 2016-05-21 08:26:12 +00:00
Michael Natterer ce8e484764 app: fix color profile logic in gimp_image_convert_precision()
Not only the logic was broken, a local variable was also shadowing the
"dest_profile" variable and preventing the broken logic to be applied
at all. Double fail.
2016-05-21 00:37:28 +02:00
Michael Natterer eba2d2d88b plug-ins: rename file-darktable format names to "Raw Foo"
so they are ordered together in the file dialogs. Also rename the
procedures to "file-farktable-foo".
2016-05-21 00:01:10 +02:00
Michael Natterer 9f3052583b app: remove gimp_session_write_position()
and un-overengineer the session position accuracy code a bit.
2016-05-21 00:00:07 +02:00
klausstaedtler 21742cca1b icons: color-scalable & symbolic-scalable
add 'pixel-perfect' 24x24px twins
gimp-device-status
gimp-display-filter
gimp-display-filter-colorblind
gimp-display-filter-contrast
gimp-display-filter-gamma
gimp-display-filter-lcms
gimp-display-filter-proof
2016-05-20 20:12:58 +02:00
Michael Natterer 5080da50e6 app: move the undo impl object typedefs out of the *-types.h files
They are completely private to the undo system and don't need to
be used anywhere else. Removes some clutter from the typed headers.
2016-05-20 18:29:13 +02:00
Michael Natterer 2ef8719cbe app: rename more stuff from "floating sel" to "floating selection" 2016-05-20 16:46:26 +02:00
nmat cf4d0cc40e Fix wrong reference to .ico .cur and resource.h for to fix compilation errors on windows. 2016-05-20 16:14:36 +02:00
Michael Natterer 28e1a379e6 app: remove const qualifiers from all object parameters
They are unreliable because every type checking cast discards them,
they are useless anyway, visual clutter, added inconsistently, and
generally suck. Wanted to do this a long time ago, it was a bad idea
in the first place.
2016-05-19 23:54:14 +02:00