1. 23 Oct, 2019 2 commits
  2. 21 Oct, 2019 1 commit
    • Boudewijn Rempt's avatar
      Try to clarify which scrollbar setting is for what · 9e6c91fe
      Boudewijn Rempt authored
      The scrollbar setting in the Tools tab isn't about the canvas
      scrollbar, but about the scrollbars in dockers and popups that
      have a resource selector.
      The scrollbar setting in the Display Page, misc tab is about the
      canvas scrollbars.
  3. 20 Oct, 2019 4 commits
  4. 16 Oct, 2019 4 commits
    • Wolthera van Hövell's avatar
      Fix various typos · eb5dfa03
      Wolthera van Hövell authored
      Summary: Found via `codespell -q 3 -S *.xpm,./3rdparty -L ba,fo,lod,pard,uint,vertexes`
      Reviewers: rempt, #krita, woltherav
      Reviewed By: #krita, woltherav
      Subscribers: woltherav
      Tags: #krita
      Differential Revision: https://phabricator.kde.org/D24680
    • Dmitry Kazakov's avatar
      Fix crash when opening a file with color transformation filter mask · a7a201d2
      Dmitry Kazakov authored
      Now we have difference between KisFilter::factoryConfguration() and
      * KisFilter::factoryConfguration() creates an empty configuration
        object of a proper C++ type. This object should be filled by fromXML()
        right after this call.
      * KisFilter::defaultConfiguration() calls factoryConfiguration() and
        fill it with default values at the state how they should look in
        filter dialog.
      This split is needed, because new versions of Krita may introduce
      options not available in older saves configs. In such cases, Krita
      should be able to recognize if the config is the "old" one, and
      doesn't have new parameters.
    • Boudewijn Rempt's avatar
      Refresh the compositions' projection before export · 30915e55
      Boudewijn Rempt authored
      And restore the current composition after export.
    • Boudewijn Rempt's avatar
      Remove obsolete sigLayerActivated signals · d103193b
      Boudewijn Rempt authored
      These signals only ended up in used parts of the color selector
  5. 14 Oct, 2019 5 commits
    • Ivan Yossi's avatar
      Fix Color Adjustment Curves not processing on some cases · 8b1ac0f6
      Ivan Yossi authored
      isIdentity will only resolve to true if the corners are placed
      in the corners and the middle points are all x = y
    • Dmitry Kazakov's avatar
      Fix HSL, HSV, HCI and HCY transformations for white and black images · f68e3ef1
      Dmitry Kazakov authored
      Basically, the transformations are substituted with their chroma-based
      counterparts, with clever sliding on the edges of the triangle.
      The new filters behave a bit differently, therefore the patch adds
      a "Compatibility Mode" switch for the filter. It enables old behavior.
    • Dmitry Kazakov's avatar
      Remove tools/factories that are not used anymore · 14f55dc1
      Dmitry Kazakov authored
      * KoCreatePathTool is inherited by KisToolPath, no factory needed
      * KoPencilToolFactory is inherited by KisToolPencil, no factory needed
      * KoCreateShapeTool is not used anywhere anymore
    • Dmitry Kazakov's avatar
      Fix an assert when force-autosaving the image right during the stroke · ca2e423a
      Dmitry Kazakov authored
      When we make a clone of a shape layer, we must ensure that no updates
      are initiated after cloning the image. We used to block updates at
      the level of KisShapeLayerCanvas, but it works only when we save/clone
      the image from the GUI thread. When we save it from the worker thread,
      KoShapeManager queues the event into the GUI events queue, so an update
      comes asynchronously.
      To resolve this issue, the patch moves locking from KisShapeLayerCanvas
      to KoShapeManager. We must ensure that there is no compressors nor queues
      between the adding code and blocking code.
    • Dmitry Kazakov's avatar
      Fix crash when using Contionous Selection tool with Feather option · 9af43288
      Dmitry Kazakov authored
      KisSelectionDefaultBounds should not care about the image, it should
      take all the values from the parent device's default bounds object.
  6. 11 Oct, 2019 3 commits
  7. 10 Oct, 2019 2 commits
  8. 08 Oct, 2019 5 commits
  9. 07 Oct, 2019 1 commit
  10. 05 Oct, 2019 1 commit
    • Agata Cacko's avatar
      Remove obsolete error messages in impex filters · e3e61bfa
      Agata Cacko authored
      All impex filters use now KisImportExportErrorCode
      instead of BuilderResult or
      KisImportExportFilter::ConversionStatus as it was
      before. Since error codes mentioned above
      were only used for impex filters, there is no need
      to keep the code around now.
  11. 03 Oct, 2019 6 commits
  12. 02 Oct, 2019 6 commits
    • Dmitry Kazakov's avatar
      Fix "Stroke" Layer Style width not to be doubled · 227782b4
      Dmitry Kazakov authored
      Stroke still doesn't generate exactly the same result as in PS,
      because in PS it uses a bit different way of blending (it removes
      the part of the original layer, or just uses COMPOSITE_COPY).
    • Dmitry Kazakov's avatar
      Implement caching of paint devices in layer styles · 36565b97
      Dmitry Kazakov authored
      Creation of a paint device is an expensive operation, so layer styles
      should cache them using KisCachedPaintDevice and KisCachedSelection.
      The patch also implement a small RAII-concept for fetching a cached
      device and returning it back to the store.
    • Dmitry Kazakov's avatar
      Fix rounding in opacity of layer styles · 02ea1386
      Dmitry Kazakov authored
      Without rounding the layer style opacity may accidentally flip
      to 254 in some cases.
    • Dmitry Kazakov's avatar
    • Dmitry Kazakov's avatar
      Limit available layer style blending modes to supported by ASL ones · 62ee4b3a
      Dmitry Kazakov authored
      ASL format supports less blending modes than Krita does, so we should
      limit available ones in the GUI.
    • Dmitry Kazakov's avatar
      Fix blending of layer styles with transparent pixels · 227bd473
      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
      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.