Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in
  • Krita Krita
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Repository
    • Repository
    • Files
    • Commits
    • Branches
    • Tags
    • Contributors
    • Graph
    • Compare
  • Bugzilla
    • Bugzilla
  • Merge requests 76
    • Merge requests 76
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Releases
  • Analytics
    • Analytics
    • Value stream
    • CI/CD
    • Repository
  • Snippets
    • Snippets
  • Activity
  • Graph
  • Jobs
  • Commits
Collapse sidebar
  • GraphicsGraphics
  • KritaKrita
  • Merge requests
  • !1464

453477 453947 453948 454516 454525 G'MIC house cleaning

  • Review changes

  • Download
  • Email patches
  • Plain diff
Merged Amy spark requested to merge lsegovia/krita:work/amyspark/gmic into master Jun 01, 2022
  • Overview 3
  • Commits 10
  • Pipelines 3
  • Changes 16

This MR cleans up house in plugins/extensions/qmic, removing more than half the LOC and integrating all the layer synchronization in a single command, thus matching GIMP's implementation while preserving the semantics of our undo stack.

The MR implements the following changes as well:

  • Using a single copy of the G'MIC image across the communications API (no need for the stub anymore!)
  • Properly detect usable layers and send them over to G'MIC
  • Enable layer-relative positioning when the paint device is offset from the layer origin
  • Properly blit G'MIC images to the current selection

Since it is related to one of the bugs, I also implemented removal of layers. This was very simple to do with one of the commands in KisLayerUtils-- I only had to add the export, and fix its build. Please check out the relevant commits.

These changes introduce a runtime dependency of kritaqmicinterface on kritaimage, and the plugin tests on kritaqmicinterface.

BUG: 453477

BUG: 453947

BUG: 453948

BUG: 454516

BUG: 454525

Test Plan

Build Krita with current G'MIC. Run the filters in the bugs and check they produce matching results with regards to GIMP.

Formalities Checklist

  • I confirmed this builds.
  • I confirmed Krita ran and the relevant functions work.
  • I tested the relevant unit tests and can confirm they are not broken. (If not possible, don't hesitate to ask for help!)
  • I made sure my commits build individually and have good descriptions as per KDE guidelines.
  • I made sure my code conforms to the standards set in the HACKING file.
  • I can confirm the code is licensed and attributed appropriately, and that unattributed code is mine, as per KDE Licensing Policy.
Assignee
Assign to
Reviewers
Request review from
Time tracking
Source branch: work/amyspark/gmic