Userstory
As a user I want my brush tip to rotate with the canvas so I can keep the rotation the same even when rotating the canvas.
Current behavior
Wanted behavior
Technical requirements
- Add a new option to the brush preferences at rotation to rotate with or against the canvas
- Upon checking the brush tip stays how it was defined at the brush tip option
How it could be used
For example
- in calligraphy you want the brushtip to stay in the same angle
- when drawing city skylines, when all brushstrokes should be vertical
Where does this request come from
There was a question that was never converted to a feature request and I want that feature so here we are.
I always wonder how Clip Studio Paint manage the rotate brushes, if this is something that other programs like Photoshop or Procreate already have it.
The way this should probably be solved is with having canvas rotation as an input for brushes. Making the brush rotation lock with the canvas rotation would then just be a matter of enabling that input and leaving it as a default linear curve.
While at it, we could also add the zoom level as an input, since that lets you make zoom-independent brushes the same way. The MyPaint engine already has an input for this under the hood, but I think itβs not hooked up to anything in Krita.
I venture a look at the api.
so view. rotation() β i think is the way to get the canvas rotation
seBrushRotation(rotation) β to set the brush rotation
Whats left now is something like to capture when the canvas rotate.
I wonder if its possible to make proof of concept script.
Edit: this is like a very rough code that i tested to see if input from rotation function can be fed to the brush rotation function;
view = Krita.instance().activeWindow().activeView()
view.setBrushRotation(view.canvas().rotation())
would this be a per brush or a global setting?