Commit Graph

38359 Commits

Author SHA1 Message Date
Ell 4c3a772cd8 app: fix SRC_OVER composite mode
When the source alpha is zero, we don't calculate the blended color,
so `comp[b]` can be infinite or NaN, in which case the expression
`in[ALPHA] * (comp[b] - layer[b])` is NaN, rather than the expected
value of zero.
2017-02-05 21:39:40 -05:00
Ell bed63c6bd9 app: consolidate button creation code for the convolution matrix 2017-02-05 21:30:40 -05:00
Ell e40091c8ab app: add rotate/flip buttons to the convolution matrix gui
... to rotate/flip the matrix
2017-02-05 18:00:07 -05:00
Michael Natterer e1e41b86d0 app: allow painting on transparent layers with modes != normal
by using GIMP_LAYER_COMPOSITE_SRC_OVER. Please test.
2017-02-05 23:08:16 +01:00
Michael Natterer 8bba14ea84 app: indentation fix in gimpgeglprocedure.c 2017-02-05 20:22:40 +01:00
Michael Natterer 891f85e805 app: move gimp-gegl-config.[ch] to operations/
and rename it to gimp-operation-config.[ch].
2017-02-05 20:17:31 +01:00
Piotr Drąg 80244ad4b4 Update Polish translation 2017-02-05 18:30:26 +01:00
Michael Natterer a3b8d0ceed app: some cleanup and adding const in gimp-layer-modes.c 2017-02-05 16:30:54 +01:00
Michael Natterer daf206c745 app: make struct GimpLayerModeInfo private 2017-02-05 16:06:53 +01:00
Michael Natterer 2950fecf07 app: move layer mode enums and gimp-layer-modes.[ch] to operations/
and to operations/layer-modes/, respectively.

Add gimp_layer_modes_init() which asserts on the correct order of the
GimpLayerModeInfo array, and switch to accessing the array directly in
gimp_layer_mode_info().
2017-02-05 15:59:29 +01:00
Alexandre Prokoudine b3e4588a5f psd: add support for loading and exporting Hard Mix layer mode
Also remove warning from the Vivid Light loader, we are good now.
2017-02-05 16:36:41 +03:00
Ell 1284715f11 app: fix composite mode of erase mode 2017-02-04 22:29:41 -05:00
Ell 8f4700b839 app: add "hard mix" blend mode
Similar to the Photoshop mode of the same name.  Assigns
either 0 or 1 to each of the channels, depending on whether the
sum of source and destination channel values is less than, or
greater than (or equals to), one, respectively.

This is equivalent to inverting the source, and using it to perform
per-pixel, per-channel threshold against the destination, which is
useful for various effects.
2017-02-04 21:30:56 -05:00
Alexandre Prokoudine 5c873bd93f Reintroduce a cleaner version of the linear light fix 2017-02-05 03:25:14 +03:00
Alexandre Prokoudine 005b16ee06 Revert "Resurrect previous version of the linear light formula and fix it"
This reverts commit 1366592f9f.
2017-02-05 03:22:07 +03:00
Alexandre Prokoudine 1366592f9f Resurrect previous version of the linear light formula and fix it 2017-02-05 01:32:56 +03:00
Alexandre Prokoudine e69924b4eb Fix the linear light layer mode formula
This simpler version provides the rendering that matches
Photoshop's one.
2017-02-05 01:19:53 +03:00
Øyvind Kolås 7a000a0991 app: include composite mode in legacy layer mode info
Otherwise normal mode doesn't work due to optimizations.
2017-02-04 23:19:35 +01:00
Michael Henning 6c983eb149 build/win: Upgrade dependencies. 2017-02-04 16:29:36 -05:00
Michael Henning e00b0db8bf build/win: Upgrade a few dependencies to fix build 2017-02-04 15:17:21 -05:00
Alexandre Prokoudine 0159d0b734 Fix the vivid light formula 2017-02-04 22:59:48 +03:00
Øyvind Kolås 3f91ad7f3c app: replace some layer mode logic with data driven functions 2017-02-04 20:04:17 +01:00
Alexandre Prokoudine 832c79e8d8 Activate exporting more layer modes from XCF to PSD 2017-02-04 18:43:34 +03:00
Alexandre Prokoudine 2bce09ff9b Add Linear Burn to PSD exporting, update the list of XCF layer modes 2017-02-04 18:03:59 +03:00
Alexandre Prokoudine 023cdd159e Update XCF to PSD layer mode mappings 2017-02-04 17:55:18 +03:00
Alexandre Prokoudine 0584fc0e45 psd: add stubs for Darker Color and Lighter Color layer modes 2017-02-04 17:28:13 +03:00
Alexandre Prokoudine b471c90aee Update PSD to GIMP layer mode mappings 2017-02-04 17:22:07 +03:00
Aryeom Han 15d4b8b653 icons: SVG and 48x48 version of the Import/Export preferences icon.
More sizes and a color version to come soon too.
2017-02-04 11:50:38 +01:00
Ell 1a2ef41492 app: fix handling of fully desaturated colors in lch chroma mode 2017-02-03 13:55:30 -05:00
Øyvind Kolås eb93475deb app: improve data in layer mode info array 2017-02-03 16:05:21 +01:00
Dimitris Spingos (Δημήτρης Σπίγγος) 7726238689 Update Greek translation 2017-02-03 09:28:12 +02:00
Øyvind Kolås d97be7edd0 app: add repository of layer mode information 2017-02-03 01:53:10 +01:00
Ell 1214d4acf1 app: move all special-case mode processing optimizations to GimpOperationLayerMode
Stuff like passing "input" directly if "aux"'s opacity is 0, etc.
Used to be partly handled by normal mode, even though it applies
to other modes too.

Adjust the logic for the new compositing modes.

Add a GimpLayerModeAffectMask enum, and a corresponding
get_affect_mask() function to GimpOperationLayerMode, which
specifies which of the op's inputs, if any, are affected by the
mode, apart from the overlapping regions.  Most modes affect only
the overlapping regions, but dissolve and replace also affect the
rest of the input.  This information is used for determining if
the optimizations are applicable.
2017-02-02 17:40:05 -05:00
Jehan e957347dd6 app: build layer mode operations with SSE2 flags.
Some of the generic files still contain SSE2 code, in particular
gimpoperationlayermode.c. The reason why it often works without is that
native gcc will usually pre-define SSE macros by default.
To check this: gcc -dM -E - < /dev/null | grep SSE
Yet I had a case on a small netbook where the SSE macros were not
pre-defined even though supported. Consequently the build failed.
2017-02-02 21:41:15 +01:00
Jehan 58260e5708 configure: all code in AC_LANG_* macro should be double-bracketed.
Autoconf doc says: "Note that the source is evaluated exactly once, like
regular Autoconf macro arguments, and therefore (i) you may pass a macro
invocation, (ii) if not, be sure to double quote if needed."
2017-02-02 21:41:15 +01:00
Jehan d33d80a518 build: poppler-data added as a submodule of poppler. 2017-02-02 21:41:15 +01:00
Jehan 7447b505f9 app: tab and space cleaning. 2017-02-02 21:41:15 +01:00
Jehan dd4848e680 plug-ins: headers only needed with the Sendmail-email plugin. 2017-02-02 21:41:15 +01:00
Michael Natterer c6f00eb87f app, menus, plug-ins: add new menu Color -> Tone Mapping
Move all related GEGL filters and the retinex plug-in there..
2017-02-02 20:42:58 +01:00
Michael Natterer 7c9a740b74 app, menus: add gegl:image-gradient and gegl:snn-mean to the menus 2017-02-02 19:54:23 +01:00
Marco Ciampa 550086410c Updated Italian translation 2017-02-02 17:49:19 +01:00
Michael Natterer d434c60161 app, menus: add some more GEGL filters to the menus
and blacklist some others in the GEGL tool.
2017-02-02 17:43:27 +01:00
Øyvind Kolås c175afbc78 app: re-arrange some color related menu items
move core photo/light adjustment ops like exposure and color temperature to the
topmost section of the menu, and move the more artistic threshold, colorize and
posterize options to the bottom section.
2017-02-02 15:34:55 +01:00
Jehan b2a44a90a7 configure: add a "Eeeeeeeeeeeeeeeeeeeeek" notice on configure error.
This makes it easier to search in config.log and should make Mitch
happy (or at least happier!).
2017-02-02 01:22:28 +01:00
Michael Natterer 393ce1d53b plug-ins: use the new composite mode API in file-psd
No clue if this is right.
2017-02-02 00:40:37 +01:00
Michael Natterer 2a96d598c3 app: add internal and PDB API and UI to control a layer's composite mode
Largely based on a patch by Ell, with the enum type renamed and
various small changes. Adds another axis of configurability to the
existing layer mode madness, and is WIP too.
2017-02-02 00:38:25 +01:00
Michael Natterer a18dcb94eb configure.ac: require babl >= 0.1.24 2017-02-01 23:41:54 +01:00
Jehan f43092cbf5 plug-ins: make screenshot-win32 compile again.
Commit e518b97 broke Win32 compilation with a non-defined variable
"monitor". I made a dirty "fix" by using shootvals->monitor.
Apparently, seeing previous comment, that is probably not the right
value but Mitch is on it and I leave him work it out.
At least now it builds.
2017-02-01 18:52:14 +01:00
Jehan 4c33008f5d build: factorize a bit the flatpak manifest.
We can actually group modules together to mark their relationship,
and easily deactivate them together if needed.
I grouped all Python modules, Exiv2 under GEXiv2, ilmbase under
openEXR, and finally libpng and lcms2 under a "duplicate-dependencies"
module to indicate that these modules are available in the runtime
(under a lower version, below our requirements) so we should check
whether to remove them, upon runtime update.
2017-02-01 14:13:32 +01:00
Jehan a02a597788 plug-ins: minor tab cleanup. 2017-02-01 04:53:31 +01:00