- 27 Dec, 2021 1 commit
-
-
Dmitry Kazakov authored
Jus deslare the assert as "safe". The proper fix is coming. CCBUG:447506
-
- 15 Nov, 2021 1 commit
-
-
Dmitry Kazakov authored
BUG:443621
-
- 15 Jul, 2021 1 commit
-
-
Dmitry Kazakov authored
BUG:439729
-
- 14 Jun, 2021 1 commit
-
-
Found via `codespell -q 3 -S *.xpm,./3rdparty -L aline,ba,fo,hsi,lod,pard,redy,uint,uptodate,vertexe,vertexes`
-
- 10 Jun, 2021 1 commit
-
-
Dmitry Kazakov authored
We shouldn't ask for projection() in group layers too often. BUG:438384
-
- 04 May, 2021 1 commit
-
-
Eoin O'Neill authored
after duplication; The canvas would get stuck w/ rendered shaded selection mask overlay and not properly respond to selection of other nodes. BUG:430474
-
- 31 Mar, 2021 1 commit
-
-
Dmitry Kazakov authored
The ASL layer styles should not store the resources inside themselves. Instead, they should upload the resources into the global resource server and fetch them from there when needed. It fixes GUI elements to know what resource is active in the layer, which actually has a cloned layer style. The patch introduces a special helper class KisLinkedResourceWrapper, which remembers md5 and filename of the resource and then can be used to fetch the resource from the server using this info.
-
- 15 Dec, 2020 1 commit
-
-
- 27 Nov, 2020 1 commit
-
-
- 01 Sep, 2020 3 commits
-
-
Emmet O'Neill authored
-
Emmet O'Neill authored
Renamed some functions in KisKeyframeChannel
-
Emmet O'Neill authored
(with Eoin.)
-
- 02 Jun, 2020 1 commit
-
-
Dmitry Kazakov authored
We shouldn't use layer->extent() for the thumbnail generation, because extent may also include indirect painting device, which may have a different size, not like the one of projection (e.g. when selection is active). CCBUG:394439
-
- 12 May, 2020 1 commit
-
-
Eoin O'Neill authored
Also correctly shows onion skins during isolation. Also fixes some edge cases where drawing on isolated layers didn't work properly. BUG:394199
-
- 19 Nov, 2019 1 commit
-
-
Dmitry Kazakov authored
We need to take layer's masks' change rect into account. We cannot use normal changeRect() call, because it never shrinks the update rect and adds projection device bounds (obviously, because it is supposed to render stuff and not just shwo a decoration). That is why the patch introduces KisLayer::tightUserVisibleBounds(), which calculates tight bounding rect of the layer, taking all the masks into account. BUG:410163
-
- 15 Nov, 2019 1 commit
-
-
Agata Cacko authored
Before this commit, KisAslStorage would always be empty. This commit adds support for reading from asl files and extracting both patterns and layer styles.
-
- 02 Oct, 2019 1 commit
-
-
Dmitry Kazakov authored
Overlay-like layer styles (overlay, inner shadow, inner glow and satin) seem to be applied in a complicated way: 1) Firstly the copy of the layer-stack projection is created 2) Then a copy of original layer alpha channel is extracted into a selection 3) Alpha channel of the layer itself is maxed-out to 1.0 4) The layer and all the layer overlay-like styles are merged into the projection 5) The the copy of the original projection from step 1) is copied onto the projection again using selection from step 2). This weird technique is used to ensure that color mixing happens exactly in full opacity, as if the colors would have no alpha-channel. BUG:412283
-
- 13 Jun, 2019 1 commit
-
-
Dmitry Kazakov authored
We cannot just skip rendering of layers, which has any clones attached, becasue clones may fetch data from their projections. BUG:408167 BUG:405536
-
- 03 Jun, 2019 1 commit
-
-
Dmitry Kazakov authored
Without any image present, the store will just drop the projection without any reusing. It may cause small slowdowns in the beginning of the stroke and (theoretically) memory fragmentation on Windows. I'm not sure if it actually the reason of the 408133, so we need a confirmation from the reporter first. CCBUG:408133
-
- 09 May, 2019 1 commit
-
-
Dmitry Kazakov authored
In Krita we have two [0] types of "dependent" nodes, that is, whose contents depends on the result of a merge of other layers. KisAdjustmentLayer depends on the result of composing all the layer below it. KisGroupLayer depends on the result of composing its children. All these layers can have filter masks and/or layer styles. To handle them, the patch introduces a term needRectForOriginal(). needRectForOriginal(rect) means "what area of layer's original device should be prepared to correct result in 'rect' of the 'final device'". Under 'final device' it may be considered projection for a layer or a final composed planes for a projection plane. What is the difference between needRectForOriginal() and needRect? needRect() defines "what area of layers below should be prepared to get correctly merged image". Obviously, group layer doesn't depend on layers below (it depends on its children) and adjustment layer's needRect also includes filter's needRect, which is not the case for needRectForOriginal(). [1] --- actually, we have three. KisCloneLayer is also "dependent", but it is not covered by this patch. BUG:366419 CCBUG:390299
-
- 04 May, 2019 1 commit
-
-
Dmitry Kazakov authored
We have implemented correct painting on masks, but we have never implemented a projection for them. Indeed, for normal rendering process they don't need it. But when a mask is selected in isolated mode, it still needs a projection, so that the use could see the result of the painting. BUG:403576
-
- 17 Mar, 2019 1 commit
-
-
Dmitry Kazakov authored
When indirect painting is disabled (or a mask is removed) the layer becomes projection-free, that is, projection device should be recycled. The problem is that the projection may still be accessed by worker threads, therefore the actual cleaning of the devices should happen in an exclusive context. The patch adds a special exclusive spontaneous job, that does all the cleaning when all workers are guaranteed to be idle/paused.
-
- 06 Oct, 2018 1 commit
-
-
Halla Rempt authored
Since the places where this method is called check whether 0 is returned or not, it's wrong to assert here.
-
- 18 Sep, 2018 1 commit
-
-
Dmitry Kazakov authored
Not having a layer style projection plane is a normal situation when the style is empty BUG:398788
-
- 23 Jul, 2018 2 commits
-
-
Dmitry Kazakov authored
We should deep copy the layer style projections when cloning the image. Otherwise shape layers and other delayed update nodes might cause rerender of the layers stack and lacking layers styles will become visible in the saved image. BUG:396224
-
Dmitry Kazakov authored
We should deep copy the layer style projections when cloning the image. Otherwise shape layers and other delayed update nodes might cause rerender of the layers stack and lacking layers styles will become visible in the saved image. BUG:396224
-
- 13 Jul, 2018 1 commit
-
-
Dmitry Kazakov authored
-
- 12 Jul, 2018 1 commit
-
-
Dmitry Kazakov authored
1) Selection masks now use KisProjectionLeaf hierarchy to embed themselves onto the top of the layers stack. That sounds a bit weird, but, yes, now the two hierarchies differ quite significantly. 2) KisImage::setOverlaySelectionMask() is used to mask one of the masks as an overlay. 3) KisNodeManager puts the mask into the overlay of the image as soon as the mask gets selected as a current layer. 4) KisProjectionLeaf now accesses the image using KisNodeGraphListener::graphOverlayNode(). That is not too nice, because it breaks the listener pattern, but that is the safest way to access the image from the internal nodes. We might want just rename this class :)
-
- 26 Jun, 2018 1 commit
-
-
Dmitry Kazakov authored
Some time ago we disabled updates after duplicating a layer. Therefore, we should also copy the projection device. Otherwise, it will lazily initialized with the content of the original device, which is not what we usually want. BUG:395142
-
- 20 Jun, 2018 1 commit
-
-
Dmitry Kazakov authored
Some time ago we disabled updates after duplicating a layer. Therefore, we should also copy the projection device. Otherwise, it will lazily initialized with the content of the original device, which is not what we usually want. BUG:395142
-
- 22 May, 2018 1 commit
-
-
Halla Rempt authored
-
- 04 May, 2018 1 commit
-
-
Dmitry Kazakov authored
-
- 28 Feb, 2018 1 commit
-
-
Dmitry Kazakov authored
BUG:389503
-
- 19 Dec, 2017 1 commit
-
-
Dmitry Kazakov authored
-
- 12 Oct, 2017 1 commit
-
-
Bernhard Liebl authored
-
- 04 Apr, 2017 1 commit
-
-
Dmitry Kazakov authored
-
- 14 Mar, 2017 1 commit
-
-
Thorsten Zachmann authored
It also fixes the tooltip used for e.g. the brush to show the brush in the tooltip. Additionally it is possible to show the tooltip by pressing the middle button. Closes T3499 Layer thumbnail on the timeline on hover
-
- 25 Jan, 2017 1 commit
-
-
Halla Rempt authored
-
- 07 Dec, 2016 1 commit
-
-
Dmitry Kazakov authored
Summary: Some actions should not be started before all the previous actions are finished. That is especially true for the actions that work with layers stack, like "Merge Down" and "Flatten". Now KisDelayedSaveDialog is used not only for saving, but also for waiting before doing usual actions. It also has a busy-loop timeout of 1 second before showing up, for not distracting painters from their workflow when the action is postponed only a little bit. BUG:372724 Fixes T4593 Test Plan: Basically, the steps like in bug 372724. 1) Select multiple layers 2) Start a long stroke (1000px colorsmudge brush is a good example) 3) Press Ctrl+E ***multiple*** times quickly 4) After all the background work is finished, press Ctrl+Z There should be no crash, and the result should be somewhat expected. Repeat the same for: 1) Merge down 2) Flatten Image 3) Flatten Layer 4) Transform a layer using "Layers" menu(?) Reviewers: #krita, timotheegiet, scottpetrovic Maniphest Tasks: T4593 Differential Revision: https://phabricator.kde.org/D3449
-
- 19 Nov, 2016 1 commit
-
-
This is a simple search and replace for KisLayer which is a QObject. qobject_cast doesn't require RTTI and is faster.
-