[pull] master from GNOME:master#684
Merged
pull[bot] merged 1068 commits intofakegit:masterfrom Jul 15, 2020
Merged
Conversation
Wherever we store arbitrary-format colors in an opaque buffer, use double for the buffer, instead of char, so that it has a strict- enough alignment to handle all our used pixel formats.
I created a new function gimp_channel_combine_items() which combines a list of items with a channel. The list of items is first combined together as an union set, then only combined with the channel with the desired operation (this is important for operations such as intersect which was broken in my previous commit because all items would be intersected with each other and the selection, whereas we actually want the union of all items to be intersected with the selection). This new function is now used for "Alpha to Selection". Also similarly to copy or color-pick on multi-layers, alpha to selection will now use the composited result of the multi-layers as visible. In particular it means that opacity, modes and visible properties on the layers are taken into account. Alpha to selection on a single layer though still works as previously, only taking the non-composited layer data into account. I am actually struggling if alpha to selection on uncomposited layers (just an union on alpha to selection result for each layer) would not make sense to on some workflows. To be experimented. Finally it is to be noted that this function should also work on channels and vectors (both single or multiple; and of course in such cases, compositing does not matter) though I haven't tested yet. It could even work with a source mix of layers, channels and vectors, though our GUI does not allow such action currently.
When converting an image to indexed mode, zero-out transparent pixels instead of leaving junk in their indices, which might well be out of range of the palette.
Don't just name all alpha-selection actions the same "Alpha to Selection". Have some more accurate naming like "Substract Alpha from Selection", etc. Also improve the action names to make them more accurate as these names are not only in menus anymore, but also in search actions (and we want to avoid duplicate naming).
All selected layers' masks are combined first as union, then the result is combined with the image selection according to requested boolean operation. Also use new gimp_channel_combine_items() function.
Cairo is a dependency for "gegl:npd" required by GIMP, so let's install it before compiling GEGL.
Bindings can't handle these, so they are not introspectable.
... when exposing symbols like `GType` in the header.
Also layers-flatten-image does not care about the layer selection and layers-anchor works anyway only when there is a floating selection, which means only one layer selected.
We're exposing symbols in our header files like `GType`, `GFile` and others, without actually including the proper headers. This also gives errors in the GIR scanner (who can't resolve those symbols).
This reverts commit 9fce475.
In GimpImageProxy, implement GimpColorManaged by forwarding the functions to the underlying GimpImage, and forwarding the signals in the other direction. This fixes color-managed view in the Navigation dockable.
Partially revert commit c73710e, avoiding updating tool widgets unconditionally on tool resume in GimpDrawTool -- it's too expensive in general. Instead, handle display-shell changes in GimpToolWidget, by adding GimpToolWidget::update_on_{scale,scroll,rotate} flags, which subclasses can use to request an update on any of these events. Set the flags as necessary for the affected widgets.
Override GimpTool::get_popup() in GimpDrawTool, forwarding the request to the tool widget, if one exists. Remove the same code in GimpVectorTool -- this now works for all tools/widgets.
When several layers are selected, each layer will merge down with the layer below it. This is similar to running Merge Down several times, one for each selected layer.
If the next visible layer below a selected layer is itself selected, we want to create bigger merge list with all 3 layers merged at once (or even more if the next-next is also selected, and so on).
No need "See Also: gimp_drawable_get_shadow_buffer()" from within gimp_drawable_get_shadow_buffer() documentation itself!
Poppler has not been an optional dependency for years now, because it was decided that PDF import was considered a granted feature by most people. So removing the option in the meson build. This option should not have existed in the first place.
Fixes #5261.
Even though this engine is optional, we already have the code to detect its absence at runtime, and to fallback to "gegl:matting-global". So it won't be a problem even then. When the operation is present though, it definitely makes a lot more sense than matting global as default, because it performs a lot better in most cases (as far as I could see as well as others).
By adding support for multiple selected layers, it seems I broke the single selected layer case. Fixed now!
In GimpSpinButton, don't propagate Enter key-press events if updating the spin-button's value in response changes the entered text. This prevents confirming dialogs when hitting Enter after entering a math expression in size entries, updating their value instead. Likewise, don't propagate Escape key-press events if a new value was entered, and restore the original value instead.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot]. Want to support this open source service? Please star it : )