Add back the feature that allowed corner nobs to move outside the boundaries of the selected item when the size is too small.
I'm fixing this on master as I don't want to push against Lib2, in preparation of one final flatpak release before we start going all in Lib2.
Not sure if you already have this feature in Lib2.
Steps to Test
Create an item and resize it until all centered nobs are hidden.
You should see the corner nobs "stepping" outside the item's boundaries.
This PR fixes/implements the following bugs/features:
Do an early continue in the for loop if we're dealing with the rotation nob and avoid running unnecessary conditions.
Remove else callback for conditions (pure code styling preferences, it shouldn't affect performance).
Use a simple Cairo.translate() to shift the nobs when necessary as it moves them by their local coordinates, automatically accounting for any rotation.
Summary / How this PR fixes the problem?
Add back the feature that allowed corner nobs to move outside the boundaries of the selected item when the size is too small. I'm fixing this on
master
as I don't want to push against Lib2, in preparation of one final flatpak release before we start going all inLib2
. Not sure if you already have this feature inLib2
.Steps to Test
Create an item and resize it until all centered nobs are hidden. You should see the corner nobs "stepping" outside the item's boundaries.
This PR fixes/implements the following bugs/features:
continue
in thefor
loop if we're dealing with the rotation nob and avoid running unnecessary conditions.else
callback for conditions (pure code styling preferences, it shouldn't affect performance).Cairo.translate()
to shift the nobs when necessary as it moves them by their local coordinates, automatically accounting for any rotation.