Update to window rotation.

Hi,
I've been reworking Jabier's window rotation code to use the desktop to window affine rather than messing with the SVG viewbox. This is to keep the GUI code out of the SVG handling code (also viewbox doesn't have the concept of rotation so it was a real hack to put it in there). This also unifies how zoom and rotation are handled (and eventually could include flip).
With trunk r15603 most of the work is done so I would like to ask that people try it out.
There are currently two ways to rotate the canvas.
1. Use the rotate spin entry box at the lower right corner of the screen to input an arbitrary rotation value (right click to open a pop- up with preset values). In this case, the rotation is around the center of the window.
2. Use Shift-Ctrl-Scroll wheel to rotate around the current cursor position. Currently the rotation is set to be in increments of 2 degrees. (We can make this a user defined preference.)
Note, this is a work in progress. Axiometric grids are not handled correctly and resize/skew/rotate handles are not rotated with the canvas.
Work is being tracked at http://wiki.inkscape.org/wiki/index.php/Rotati ng_Canvas
Sorry there is no video. I don't have the video creating skill Jabier has...
It would be interesting to know how people use a rotated canvas. Is it with a separate tablet (e.g. Wacom) or with a touch sensitive screen? Yale Zhang has a branch with gestures support. It would be interesting to get this into trunk but it looks like it needs a good review.
Tav

Thanks Tav! I had stopped using the rotate view because of some rather unfortunate bugs that would affect on export of the wrong canvas size. It will be awesome to have it on the GUI side of things, and will likely make bugs like this disappear. Can't wait to use it! -C On Mar 20, 2017 9:20 PM, "Tavmjong Bah" <tavmjong@...8...> wrote:
Hi,
I've been reworking Jabier's window rotation code to use the desktop to window affine rather than messing with the SVG viewbox. This is to keep the GUI code out of the SVG handling code (also viewbox doesn't have the concept of rotation so it was a real hack to put it in there). This also unifies how zoom and rotation are handled (and eventually could include flip).
With trunk r15603 most of the work is done so I would like to ask that people try it out.
There are currently two ways to rotate the canvas.
- Use the rotate spin entry box at the lower right corner of the
screen to input an arbitrary rotation value (right click to open a pop- up with preset values). In this case, the rotation is around the center of the window.
- Use Shift-Ctrl-Scroll wheel to rotate around the current cursor
position. Currently the rotation is set to be in increments of 2 degrees. (We can make this a user defined preference.)
Note, this is a work in progress. Axiometric grids are not handled correctly and resize/skew/rotate handles are not rotated with the canvas.
Work is being tracked at http://wiki.inkscape.org/wiki/index.php/Rotati ng_Canvas
Sorry there is no video. I don't have the video creating skill Jabier has...
It would be interesting to know how people use a rotated canvas. Is it with a separate tablet (e.g. Wacom) or with a touch sensitive screen? Yale Zhang has a branch with gestures support. It would be interesting to get this into trunk but it looks like it needs a good review.
Tav
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

On Tue, Mar 21, 2017 at 2:49 AM, Tavmjong Bah <tavmjong@...8...> wrote:
Hi,
I've been reworking Jabier's window rotation code to use the desktop to window affine rather than messing with the SVG viewbox. This is to keep the GUI code out of the SVG handling code (also viewbox doesn't have the concept of rotation so it was a real hack to put it in there). This also unifies how zoom and rotation are handled (and eventually could include flip).
Thank you very much for the work Tav and Jabier,
With trunk r15603 most of the work is done so I would like to ask that people try it out.
There are currently two ways to rotate the canvas.
- Use the rotate spin entry box at the lower right corner of the
screen to input an arbitrary rotation value (right click to open a pop- up with preset values). In this case, the rotation is around the center of the window.
- Use Shift-Ctrl-Scroll wheel to rotate around the current cursor
position. Currently the rotation is set to be in increments of 2 degrees. (We can make this a user defined preference.)
I believe this shortcut is a bit cumbersome for people using graphic tablet (e.g. wacom). Due to scroll wheel, I know there are some scroll buttons in tablets but they are not on the pen and pressing Ctrl + shift and then the scroll buttons on tablet is going to be cumbersome. Can it be Shift (or Ctrl) + middle click & drag, or ctrl + shift + left click & drag, or anything that can be easily triggered with pen and keyboard too without the need to keep the pen down for rotating.
There can also be some single key keyboard shortcuts in addition to these, which will rotate the canvas in certain degrees (e.g. 15°). They can be numpad numbers like 4 - rotate left , 6 rotate -right and 5 for resetting rotation.
I also had one doubt, Will there be a 'Rotate' sub-menu in the 'View' menu, like there is one for 'Zoom'. The menu may have some common rotate options such as rotate canvas view to 90° clockwise, anti-clockwise , reset rotation etc.
What do you think?
Thanks

On Tue, 2017-03-21 at 09:16 +0530, Raghavendra kamath wrote:
On Tue, Mar 21, 2017 at 2:49 AM, Tavmjong Bah <tavmjong@...8...> wrote:
Hi,
I've been reworking Jabier's window rotation code to use the desktop to
window affine rather than messing with the SVG viewbox. This is to keep
the GUI code out of the SVG handling code (also viewbox doesn't have
the concept of rotation so it was a real hack to put it in there). This
also unifies how zoom and rotation are handled (and eventually could
include flip).
Thank you very much for the work Tav and Jabier,
With trunk r15603 most of the work is done so I would like to ask that
people try it out.
There are currently two ways to rotate the canvas.
- Use the rotate spin entry box at the lower right corner of the
screen to input an arbitrary rotation value (right click to open a pop-
up with preset values). In this case, the rotation is around the center
of the window.
- Use Shift-Ctrl-Scroll wheel to rotate around the current cursor
position. Currently the rotation is set to be in increments of 2
degrees. (We can make this a user defined preference.)
I believe this shortcut is a bit cumbersome for people using graphic tablet (e.g. wacom).
Due to scroll wheel, I know there are some scroll buttons in tablets but they are not on the pen and pressing Ctrl + shift and then the scroll buttons on tablet is going to be cumbersome.
Can it be Shift (or Ctrl) + middle click & drag, or ctrl + shift + left click & drag, or anything that can be easily triggered with pen and keyboard too without the need to keep the pen down for rotating.
I've added three verbs for canvas rotation (SP_VERB_ROTATE_CW, SP_VERB_ROTATE_CCW, SP_VERB_ROTATE_ZERO). These can be assigned to keys in the preferences dialog. I would assign them by default to '(', ')', '0' but these are already taken by inset/outset. (Imagine an arrow on the top end of the parentheses.)
There can also be some single key keyboard shortcuts in addition to these, which will rotate the canvas in certain degrees (e.g. 15°).
They can be numpad numbers like 4 - rotate left , 6 rotate -right and 5 for resetting rotation.
Rotation will now use the value of '/options/rotateincrement/value' in the preferences.xml file (matching '/options/zoomincrement/value' for zoom) to determine the rotation step.
I also had one doubt, Will there be a 'Rotate' sub-menu in the 'View' menu, like there is one for 'Zoom'. The menu may have some common rotate options such as rotate canvas view to 90° clockwise, anti-clockwise , reset rotation etc.
That could be added.
BTW, does anybody use the Zoom Tool? I think that would be a good candidate for removal. (There is the Zoom menu, keyboard shortcuts, and the Zoom spin box.)
Tav

I always use zoom tool :(
On Tue, 2017-03-21 at 10:34 +0100, Tavmjong Bah wrote:
On Tue, 2017-03-21 at 09:16 +0530, Raghavendra kamath wrote:
On Tue, Mar 21, 2017 at 2:49 AM, Tavmjong Bah <tavmjong@...8...> wrote:
Hi,
I've been reworking Jabier's window rotation code to use the desktop to
window affine rather than messing with the SVG viewbox. This is to keep
the GUI code out of the SVG handling code (also viewbox doesn't have
the concept of rotation so it was a real hack to put it in there). This
also unifies how zoom and rotation are handled (and eventually could
include flip).
Thank you very much for the work Tav and Jabier,
With trunk r15603 most of the work is done so I would like to ask that
people try it out.
There are currently two ways to rotate the canvas.
- Use the rotate spin entry box at the lower right corner of the
screen to input an arbitrary rotation value (right click to open a pop-
up with preset values). In this case, the rotation is around the center
of the window.
- Use Shift-Ctrl-Scroll wheel to rotate around the current
cursor
position. Currently the rotation is set to be in increments of 2
degrees. (We can make this a user defined preference.)
I believe this shortcut is a bit cumbersome for people using graphic tablet (e.g. wacom).
Due to scroll wheel, I know there are some scroll buttons in tablets but they are not on the pen and pressing Ctrl + shift and then the scroll buttons on tablet is going to be cumbersome.
Can it be Shift (or Ctrl) + middle click & drag, or ctrl + shift + left click & drag, or anything that can be easily triggered with pen and keyboard too without the need to keep the pen down for rotating.
I've added three verbs for canvas rotation (SP_VERB_ROTATE_CW, SP_VERB_ROTATE_CCW, SP_VERB_ROTATE_ZERO). These can be assigned to keys in the preferences dialog. I would assign them by default to '(', ')', '0' but these are already taken by inset/outset. (Imagine an arrow on the top end of the parentheses.)
There can also be some single key keyboard shortcuts in addition to these, which will rotate the canvas in certain degrees (e.g. 15°).
They can be numpad numbers like 4 - rotate left , 6 rotate -right and 5 for resetting rotation.
Rotation will now use the value of '/options/rotateincrement/value' in the preferences.xml file (matching '/options/zoomincrement/value' for zoom) to determine the rotation step.
I also had one doubt, Will there be a 'Rotate' sub-menu in the 'View' menu, like there is one for 'Zoom'. The menu may have some common rotate options such as rotate canvas view to 90° clockwise, anti- clockwise , reset rotation etc.
That could be added.
BTW, does anybody use the Zoom Tool? I think that would be a good candidate for removal. (There is the Zoom menu, keyboard shortcuts, and the Zoom spin box.)
Tav
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

On Mon, Mar 20, 2017 at 10:19 PM, Tavmjong Bah <tavmjong@...8...> wrote:
Hi,
I've been reworking Jabier's window rotation code to use the desktop to window affine rather than messing with the SVG viewbox. This is to keep the GUI code out of the SVG handling code (also viewbox doesn't have the concept of rotation so it was a real hack to put it in there). This also unifies how zoom and rotation are handled (and eventually could include flip).
With trunk r15603 most of the work is done so I would like to ask that people try it out.
Hi, Tav. Thanks for you work on making this behave correctly on code level.
There are currently two ways to rotate the canvas.
- Use the rotate spin entry box at the lower right corner of the
screen to input an arbitrary rotation value (right click to open a pop- up with preset values). In this case, the rotation is around the center of the window.
So far so good.
- Use Shift-Ctrl-Scroll wheel to rotate around the current cursor
position. Currently the rotation is set to be in increments of 2 degrees. (We can make this a user defined preference.)
Can we bring Jabier's on-screen controls? I really liked that widget. It
was fast to choose desired rotation angle that way. I liked how it brought "speed" to Inkscape. We need such clever GUI decisions since everything already feels too slow. The new method with complex drawing is something I'd never use. Even worse, we have made shortcuts work perfectly for every workflow. Even with a tablet it was a breeze to rotate canvas without finger acrobatics. Just to remind you how it used to work:
Following logic behind panning (using middle mouse button - MMB), Jabier added _entering_ rotation mode by clicking CTRL+MMB. CTRL was also used to constraint rotation to a angle value defined in preferences. It is the same value used for every rotation in Inkscape. If user releases CTRL while still holding MMB down, snapping of rotation values was "lost", which is consistent with how rotation tool in general works.Pressing CTRL with MMB still down brings back rotation angle snapping. Another one added was SHIFT. With SHIFT keyboard button pressed down, rotation angle was brought back to 0 degrees, practically resetting rotation, no matter where user is currently.
I think that implemented this way, the tool would be way more useful, with extended meaning to general UX, since it brings speed of preview (everyone loves it!) and speed of acting in general. One can go to 180 degrees angle in a 1/10 of a second. Right now I have to wait seconds until my complex drawing appears and/or constantly looking at status bar to read exact value of rotation at which I am currently.
Please consider bringing back some part of previous implementation. Especially GUI part, which was one of the most polished canvas interactions Inkscape used to have.
Note, this is a work in progress. Axiometric grids are not handled
correctly and resize/skew/rotate handles are not rotated with the canvas.
Work is being tracked at http://wiki.inkscape.org/wiki/index.php/Rotati ng_Canvas
Sorry there is no video. I don't have the video creating skill Jabier has...
It would be interesting to know how people use a rotated canvas. Is it with a separate tablet (e.g. Wacom) or with a touch sensitive screen? Yale Zhang has a branch with gestures support. It would be interesting to get this into trunk but it looks like it needs a good review.
As a reminder, Yale Zhang has done some more improvements, namely multi-threaded rendering and vectorized Gaussian Blur filter which work fantastically. It is many times faster then current Inkscape trunk on high-end computers.
Vlada
Tav

On Tue, 2017-03-21 at 10:36 +0100, Vladimir Savic wrote:
On Mon, Mar 20, 2017 at 10:19 PM, Tavmjong Bah <tavmjong@...8...> wrote:
...
There are currently two ways to rotate the canvas.
- Use the rotate spin entry box at the lower right corner of the
screen to input an arbitrary rotation value (right click to open a pop-
up with preset values). In this case, the rotation is around the center
of the window.
So far so good.
- Use Shift-Ctrl-Scroll wheel to rotate around the current cursor
position. Currently the rotation is set to be in increments of 2
degrees. (We can make this a user defined preference.)
Can we bring Jabier's on-screen controls? I really liked that widget. It was fast to choose desired rotation angle that way. I liked how it brought "speed" to Inkscape. We need such clever GUI decisions since everything already feels too slow. The new method with complex drawing is something I'd never use. Even worse, we have made shortcuts work perfectly for every workflow. Even with a tablet it was a breeze to rotate canvas without finger acrobatics. Just to remind you how it used to work:
Following logic behind panning (using middle mouse button - MMB), Jabier added _entering_ rotation mode by clicking CTRL+MMB. CTRL was also used to constraint rotation to a angle value defined in preferences. It is the same value used for every rotation in Inkscape. If user releases CTRL while still holding MMB down, snapping of rotation values was "lost", which is consistent with how rotation tool in general works.Pressing CTRL with MMB still down brings back rotation angle snapping. Another one added was SHIFT. With SHIFT keyboard button pressed down, rotation angle was brought back to 0 degrees, practically resetting rotation, no matter where user is currently.
I think that implemented this way, the tool would be way more useful, with extended meaning to general UX, since it brings speed of preview (everyone loves it!) and speed of acting in general. One can go to 180 degrees angle in a 1/10 of a second. Right now I have to wait seconds until my complex drawing appears and/or constantly looking at status bar to read exact value of rotation at which I am currently.
Please consider bringing back some part of previous implementation. Especially GUI part, which was one of the most polished canvas interactions Inkscape used to have.
Yes, we can bring this back... but it needs to be implemented differently (similar user experience, different code wise). It's on the list of things to do.
Tav

Thank you. Thanks you!
And one more thing... It is very important, but seems to be seriously misunderstood by every single FOSS app I've tried (GIMP, Krita...). You probably thought of it already, but it is better to mention it that earlier that later. Rotating canvas is just about rotating paper that you have in front of yourself on a table, not rotating table with paper and all the tools you have on that table. Even though paper is rotated, everyone's reference line is the imagined line drawn by our two eyes. Or reference system is still the plane of our sight. Otherwise we could simply rotate our monitors or tilt our heads. In terms of dragging nodes with axis locked, that means that user wants to keep _sight_ horizontal as absolute horizontal. Otherwise user wouldn't rotate canvas at all. Drawing selection rectangle must happen in monitor's plane, not canvas plane. No matter that canvas is rotated, bounding box must be drawn horizontally.
Regards, Vlada
Yes, we can bring this back... but it needs to be implemented differently (similar user experience, different code wise). It's on the list of things to do.
Tav

Otherwise we could simply rotate our monitors or tilt our heads.
Wha? Correct if wrong, but the entire point of canvas rotation is so we don't have to rotate our monitors or tilt our heads. In package design, it helps to be able to see the upside-down panels of your unfolded box. The point of rotating the canvas is precisely so one does not have to stand on one's head, or try to turn the monitor upside down.
In terms of dragging nodes with axis locked, that means that user wants to keep _sight_ horizontal as absolute horizontal.
Yes, agree with this.
Drawing selection rectangle must happen in monitor's plane, not canvas plane. No matter that canvas is rotated, bounding box must be drawn horizontally.
In general, yes, this is more useful I think. -C
Regards, Vlada
Yes, we can bring this back... but it needs to be implemented differently (similar user experience, different code wise). It's on the list of things to do.
Tav
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

On Tue, Mar 21, 2017 at 1:14 PM, C R <cajhne@...400...> wrote:
Otherwise we could simply rotate our monitors or tilt our heads.
Wha? Correct if wrong, but the entire point of canvas rotation is so we don't have to rotate our monitors or tilt our heads. In package design, it helps to be able to see the upside-down panels of your unfolded box. The point of rotating the canvas is precisely so one does not have to stand on one's head, or try to turn the monitor upside down.
That is precisely what I've said. Or what I've tried to say, at least. ;)
In terms of dragging nodes with axis locked, that means that user wants to keep _sight_ horizontal as absolute horizontal.
Yes, agree with this.
Drawing selection rectangle must happen in monitor's plane, not canvas plane. No matter
that
canvas is rotated, bounding box must be drawn horizontally.
In general, yes, this is more useful I think. -C
Regards, Vlada
Yes, we can bring this back... but it needs to be implemented
differently
(similar user experience, different code wise). It's on the list of
things
to do.
Tav
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

Just tried, and works well!
Someone mentioned changing to a more tablet-friendly hotkey combo, however it might be noted that most of the tablets currently on the market support multitouch, and therefore support two-finger dragging as a scrollwheel action by default. I have confirmed this on my Lenovo X220T, and I think it works reasonably well as-is... much better than using the third mouse button, which may or may not be present at all, or cluttering the ctrl+alt key combinations with what's essentially a nice-to-have feature that's not mission critical in most circumstances.
That said, when Inkscape gets more brushes, and Ubuntu supports mutli-touch rotation actions, this should be a great drawing feature that will definitely allow users to "Draw Freely". ;)
One minor problem is that when using the mouse wheel for rotation, it skips over 45 degrees. I recommend the default increment to 15 degree angles rather than 2 degree increments for the following reasons: 1. It corresponds to the default snap-to angles of holding the alt key while drawing lines etc, so the problem mentioned earlier about the tools "not rotating" with the canvas is masked (will still work as expected/wanted by the user at 15 degree angles) 2. Covers all the most useful angles for constructing things. 3. Keeps the user from having to flick the mouse wheel more than a few times to get the desired angle. 5. Can be overridden easily in a variety of ways for the edge cases that need a slight rotation.
Great work Tav!
Would you like me to do a video for the feature that you can post? I'd be glad to help. :)
-C
On Tue, Mar 21, 2017 at 1:42 PM, Vladimir Savic <vladimir.firefly.savic@...400...> wrote:
On Tue, Mar 21, 2017 at 1:14 PM, C R <cajhne@...400...> wrote:
Otherwise we could simply rotate our monitors or tilt our heads.
Wha? Correct if wrong, but the entire point of canvas rotation is so we don't have to rotate our monitors or tilt our heads. In package design, it helps to be able to see the upside-down panels of your unfolded box. The point of rotating the canvas is precisely so one does not have to stand on one's head, or try to turn the monitor upside down.
That is precisely what I've said. Or what I've tried to say, at least. ;)
In terms of dragging nodes with axis locked, that means that user wants to keep _sight_ horizontal as absolute horizontal.
Yes, agree with this.
Drawing selection rectangle must happen in monitor's plane, not canvas plane. No matter that canvas is rotated, bounding box must be drawn horizontally.
In general, yes, this is more useful I think. -C
Regards, Vlada
Yes, we can bring this back... but it needs to be implemented differently (similar user experience, different code wise). It's on the list of things to do.
Tav
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

Hi C,
Can you tell me how do you pan the canvas using multitouch gestures on Lenovo X220T? I have some objections to your proposal, but first I would like to know more about other multitouch devices. It might be that I am missing something obvious.
Vlada
On Tue, Mar 21, 2017, 16:35 C R <cajhne@...400...> wrote:
Just tried, and works well!
Someone mentioned changing to a more tablet-friendly hotkey combo, however it might be noted that most of the tablets currently on the market support multitouch, and therefore support two-finger dragging as a scrollwheel action by default. I have confirmed this on my Lenovo X220T, and I think it works reasonably well as-is... much better than using the third mouse button, which may or may not be present at all, or cluttering the ctrl+alt key combinations with what's essentially a nice-to-have feature that's not mission critical in most circumstances.
That said, when Inkscape gets more brushes, and Ubuntu supports mutli-touch rotation actions, this should be a great drawing feature that will definitely allow users to "Draw Freely". ;)
One minor problem is that when using the mouse wheel for rotation, it skips over 45 degrees. I recommend the default increment to 15 degree angles rather than 2 degree increments for the following reasons:
- It corresponds to the default snap-to angles of holding the alt key
while drawing lines etc, so the problem mentioned earlier about the tools "not rotating" with the canvas is masked (will still work as expected/wanted by the user at 15 degree angles) 2. Covers all the most useful angles for constructing things. 3. Keeps the user from having to flick the mouse wheel more than a few times to get the desired angle. 5. Can be overridden easily in a variety of ways for the edge cases that need a slight rotation.
Great work Tav!
Would you like me to do a video for the feature that you can post? I'd be glad to help. :)
-C

I pan with space plus single touch drag, but I could pan with two fingers up/down and left/right. This works too. Object away, I'm all ears! :D -C On Mar 21, 2017 6:15 PM, "Vladimir Savic" <vladimir.firefly.savic@...400...> wrote:
Hi C,
Can you tell me how do you pan the canvas using multitouch gestures on Lenovo X220T? I have some objections to your proposal, but first I would like to know more about other multitouch devices. It might be that I am missing something obvious.
Vlada
On Tue, Mar 21, 2017, 16:35 C R <cajhne@...400...> wrote:
Just tried, and works well!
Someone mentioned changing to a more tablet-friendly hotkey combo, however it might be noted that most of the tablets currently on the market support multitouch, and therefore support two-finger dragging as a scrollwheel action by default. I have confirmed this on my Lenovo X220T, and I think it works reasonably well as-is... much better than using the third mouse button, which may or may not be present at all, or cluttering the ctrl+alt key combinations with what's essentially a nice-to-have feature that's not mission critical in most circumstances.
That said, when Inkscape gets more brushes, and Ubuntu supports mutli-touch rotation actions, this should be a great drawing feature that will definitely allow users to "Draw Freely". ;)
One minor problem is that when using the mouse wheel for rotation, it skips over 45 degrees. I recommend the default increment to 15 degree angles rather than 2 degree increments for the following reasons:
- It corresponds to the default snap-to angles of holding the alt key
while drawing lines etc, so the problem mentioned earlier about the tools "not rotating" with the canvas is masked (will still work as expected/wanted by the user at 15 degree angles) 2. Covers all the most useful angles for constructing things. 3. Keeps the user from having to flick the mouse wheel more than a few times to get the desired angle. 5. Can be overridden easily in a variety of ways for the edge cases that need a slight rotation.
Great work Tav!
Would you like me to do a video for the feature that you can post? I'd be glad to help. :)
-C

My external wacom tablets work the same way, too, if it helps. :) On Mar 21, 2017 6:28 PM, "C R" <cajhne@...400...> wrote:
I pan with space plus single touch drag, but I could pan with two fingers up/down and left/right. This works too. Object away, I'm all ears! :D -C On Mar 21, 2017 6:15 PM, "Vladimir Savic" <vladimir.firefly.savic@...3348... com> wrote:
Hi C,
Can you tell me how do you pan the canvas using multitouch gestures on Lenovo X220T? I have some objections to your proposal, but first I would like to know more about other multitouch devices. It might be that I am missing something obvious.
Vlada
On Tue, Mar 21, 2017, 16:35 C R <cajhne@...400...> wrote:
Just tried, and works well!
Someone mentioned changing to a more tablet-friendly hotkey combo, however it might be noted that most of the tablets currently on the market support multitouch, and therefore support two-finger dragging as a scrollwheel action by default. I have confirmed this on my Lenovo X220T, and I think it works reasonably well as-is... much better than using the third mouse button, which may or may not be present at all, or cluttering the ctrl+alt key combinations with what's essentially a nice-to-have feature that's not mission critical in most circumstances.
That said, when Inkscape gets more brushes, and Ubuntu supports mutli-touch rotation actions, this should be a great drawing feature that will definitely allow users to "Draw Freely". ;)
One minor problem is that when using the mouse wheel for rotation, it skips over 45 degrees. I recommend the default increment to 15 degree angles rather than 2 degree increments for the following reasons:
- It corresponds to the default snap-to angles of holding the alt key
while drawing lines etc, so the problem mentioned earlier about the tools "not rotating" with the canvas is masked (will still work as expected/wanted by the user at 15 degree angles) 2. Covers all the most useful angles for constructing things. 3. Keeps the user from having to flick the mouse wheel more than a few times to get the desired angle. 5. Can be overridden easily in a variety of ways for the edge cases that need a slight rotation.
Great work Tav!
Would you like me to do a video for the feature that you can post? I'd be glad to help. :)
-C

Everything helps! Do you use Cintiq or Intuos Touch? We need to do this right. ;-) Unfortunately, I don't have access to my computer right now. Tomorrow is a new day...
On Tue, Mar 21, 2017, 20:16 C R <cajhne@...400...> wrote:
My external wacom tablets work the same way, too, if it helps. :) On Mar 21, 2017 6:28 PM, "C R" <cajhne@...400...> wrote:
I pan with space plus single touch drag, but I could pan with two fingers up/down and left/right. This works too. Object away, I'm all ears! :D -C On Mar 21, 2017 6:15 PM, "Vladimir Savic" <vladimir.firefly.savic@...400...> wrote:
Hi C,
Can you tell me how do you pan the canvas using multitouch gestures on Lenovo X220T? I have some objections to your proposal, but first I would like to know more about other multitouch devices. It might be that I am missing something obvious.
Vlada
On Tue, Mar 21, 2017, 16:35 C R <cajhne@...400...> wrote:
Just tried, and works well!
Someone mentioned changing to a more tablet-friendly hotkey combo, however it might be noted that most of the tablets currently on the market support multitouch, and therefore support two-finger dragging as a scrollwheel action by default. I have confirmed this on my Lenovo X220T, and I think it works reasonably well as-is... much better than using the third mouse button, which may or may not be present at all, or cluttering the ctrl+alt key combinations with what's essentially a nice-to-have feature that's not mission critical in most circumstances.
That said, when Inkscape gets more brushes, and Ubuntu supports mutli-touch rotation actions, this should be a great drawing feature that will definitely allow users to "Draw Freely". ;)
One minor problem is that when using the mouse wheel for rotation, it skips over 45 degrees. I recommend the default increment to 15 degree angles rather than 2 degree increments for the following reasons: 1. It corresponds to the default snap-to angles of holding the alt key while drawing lines etc, so the problem mentioned earlier about the tools "not rotating" with the canvas is masked (will still work as expected/wanted by the user at 15 degree angles) 2. Covers all the most useful angles for constructing things. 3. Keeps the user from having to flick the mouse wheel more than a few times to get the desired angle. 5. Can be overridden easily in a variety of ways for the edge cases that need a slight rotation.
Great work Tav!
Would you like me to do a video for the feature that you can post? I'd be glad to help. :)
-C

I've owned various low end wacom tablets, including the bamboo series, and presently this one: http://www.wacom.com/en-gb/products/pen-tablets/intuos
They all work the same under Ubuntu.
-C
On 21 Mar 2017 20:20, "Vladimir Savic" <vladimir.firefly.savic@...400...> wrote:
Everything helps! Do you use Cintiq or Intuos Touch? We need to do this right. ;-) Unfortunately, I don't have access to my computer right now. Tomorrow is a new day...
On Tue, Mar 21, 2017, 20:16 C R <cajhne@...400...> wrote:
My external wacom tablets work the same way, too, if it helps. :) On Mar 21, 2017 6:28 PM, "C R" <cajhne@...400...> wrote:
I pan with space plus single touch drag, but I could pan with two fingers up/down and left/right. This works too. Object away, I'm all ears! :D -C On Mar 21, 2017 6:15 PM, "Vladimir Savic" <vladimir.firefly.savic@...3348... com> wrote:
Hi C,
Can you tell me how do you pan the canvas using multitouch gestures on Lenovo X220T? I have some objections to your proposal, but first I would like to know more about other multitouch devices. It might be that I am missing something obvious.
Vlada
On Tue, Mar 21, 2017, 16:35 C R <cajhne@...400...> wrote:
Just tried, and works well!
Someone mentioned changing to a more tablet-friendly hotkey combo, however it might be noted that most of the tablets currently on the market support multitouch, and therefore support two-finger dragging as a scrollwheel action by default. I have confirmed this on my Lenovo X220T, and I think it works reasonably well as-is... much better than using the third mouse button, which may or may not be present at all, or cluttering the ctrl+alt key combinations with what's essentially a nice-to-have feature that's not mission critical in most circumstances.
That said, when Inkscape gets more brushes, and Ubuntu supports mutli-touch rotation actions, this should be a great drawing feature that will definitely allow users to "Draw Freely". ;)
One minor problem is that when using the mouse wheel for rotation, it skips over 45 degrees. I recommend the default increment to 15 degree angles rather than 2 degree increments for the following reasons:
- It corresponds to the default snap-to angles of holding the alt key
while drawing lines etc, so the problem mentioned earlier about the tools "not rotating" with the canvas is masked (will still work as expected/wanted by the user at 15 degree angles) 2. Covers all the most useful angles for constructing things. 3. Keeps the user from having to flick the mouse wheel more than a few times to get the desired angle. 5. Can be overridden easily in a variety of ways for the edge cases that need a slight rotation.
Great work Tav!
Would you like me to do a video for the feature that you can post? I'd be glad to help. :)
-C

Hi here is the branch with the UI reviewed for fast rotate view I tell in the morning. Is only to have the code available and as a preview, no intends to use this code. https://code.launchpad.net/~inkscape.dev/inkscape/legacyRotateShowcase
And here is a pic working with the new interface. No video ;) https://inkscape.org/en/~jabiertxof/%E2%98%85legazy-rotate-new-ui
Cheers, Jabier.
On Tue, 2017-03-21 at 20:49 +0000, C R wrote:
I've owned various low end wacom tablets, including the bamboo series, and presently this one: http://www.wacom.com/en-gb/products/p en-tablets/intuos
They all work the same under Ubuntu.
-C
On 21 Mar 2017 20:20, "Vladimir Savic" <vladimir.firefly.savic@...3348... com> wrote:
Everything helps! Do you use Cintiq or Intuos Touch? We need to do this right. ;-) Unfortunately, I don't have access to my computer right now. Tomorrow is a new day...
On Tue, Mar 21, 2017, 20:16 C R <cajhne@...400...> wrote:
My external wacom tablets work the same way, too, if it helps. :) On Mar 21, 2017 6:28 PM, "C R" <cajhne@...400...> wrote:
I pan with space plus single touch drag, but I could pan with two fingers up/down and left/right. This works too. Object away, I'm all ears! :D -C On Mar 21, 2017 6:15 PM, "Vladimir Savic" <vladimir.firefly.sav ic@...400...> wrote:
Hi C,
Can you tell me how do you pan the canvas using multitouch gestures on Lenovo X220T? I have some objections to your proposal, but first I would like to know more about other multitouch devices. It might be that I am missing something obvious.
Vlada
On Tue, Mar 21, 2017, 16:35 C R <cajhne@...400...> wrote:
Just tried, and works well!
Someone mentioned changing to a more tablet-friendly hotkey combo, however it might be noted that most of the tablets currently on the market support multitouch, and therefore support two-finger dragging as a scrollwheel action by default. I have confirmed this on my Lenovo X220T, and I think it works reasonably well as-is... much better than using the third mouse button, which may or may not be present at all, or cluttering the ctrl+alt key combinations with what's essentially a nice-to-have feature that's not mission critical in most circumstances.
That said, when Inkscape gets more brushes, and Ubuntu supports mutli-touch rotation actions, this should be a great drawing feature that will definitely allow users to "Draw Freely". ;)
One minor problem is that when using the mouse wheel for rotation, it skips over 45 degrees. I recommend the default increment to 15 degree angles rather than 2 degree increments for the following reasons:
- It corresponds to the default snap-to angles of holding
the alt key while drawing lines etc, so the problem mentioned earlier about the tools "not rotating" with the canvas is masked (will still work as expected/wanted by the user at 15 degree angles) 2. Covers all the most useful angles for constructing things. 3. Keeps the user from having to flick the mouse wheel more than a few times to get the desired angle. 5. Can be overridden easily in a variety of ways for the edge cases that need a slight rotation.
Great work Tav!
Would you like me to do a video for the feature that you can post? I'd be glad to help. :)
-C
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

On Tue, 2017-03-21 at 15:35 +0000, C R wrote:
Just tried, and works well!
Excellent!
...
One minor problem is that when using the mouse wheel for rotation, it skips over 45 degrees. I recommend the default increment to 15 degree angles rather than 2 degree increments for the following reasons:
- It corresponds to the default snap-to angles of holding the alt
key while drawing lines etc, so the problem mentioned earlier about the tools "not rotating" with the canvas is masked (will still work as expected/wanted by the user at 15 degree angles) 2. Covers all the most useful angles for constructing things. 3. Keeps the user from having to flick the mouse wheel more than a few times to get the desired angle. 5. Can be overridden easily in a variety of ways for the edge cases that need a slight rotation.
Just set the default value to 15 degrees and added a preference for step size in the Inkscape Preferences dialog (Behavior->Steps).
(Step size for +/- buttons in spin widget is still 1 degree with left mouse button but 15 degrees with middle mouse button.)
Great work Tav!
Thanks... and thank Jabier too who got this all started.
Would you like me to do a video for the feature that you can post? I'd be glad to help. :)
Sure!
Tav

I do yesterday a refactor of this UX and when going to commit get it removed. I do a new branch with preremove rotate code to test the new ui proposal for fast rotation. I share it I hope tonight.
Cheers, Jabier.
On Tue, 2017-03-21 at 10:48 +0100, Tavmjong Bah wrote:
On Tue, 2017-03-21 at 10:36 +0100, Vladimir Savic wrote:
On Mon, Mar 20, 2017 at 10:19 PM, Tavmjong Bah <tavmjong@...8...> wrote:
...
There are currently two ways to rotate the canvas.
- Use the rotate spin entry box at the lower right corner of the
screen to input an arbitrary rotation value (right click to open a pop-
up with preset values). In this case, the rotation is around the center
of the window.
So far so good.
- Use Shift-Ctrl-Scroll wheel to rotate around the current
cursor
position. Currently the rotation is set to be in increments of 2
degrees. (We can make this a user defined preference.)
Can we bring Jabier's on-screen controls? I really liked that widget. It was fast to choose desired rotation angle that way. I liked how it brought "speed" to Inkscape. We need such clever GUI decisions since everything already feels too slow. The new method with complex drawing is something I'd never use. Even worse, we have made shortcuts work perfectly for every workflow. Even with a tablet it was a breeze to rotate canvas without finger acrobatics. Just to remind you how it used to work:
Following logic behind panning (using middle mouse button - MMB), Jabier added _entering_ rotation mode by clicking CTRL+MMB. CTRL was also used to constraint rotation to a angle value defined in preferences. It is the same value used for every rotation in Inkscape. If user releases CTRL while still holding MMB down, snapping of rotation values was "lost", which is consistent with how rotation tool in general works.Pressing CTRL with MMB still down brings back rotation angle snapping. Another one added was SHIFT. With SHIFT keyboard button pressed down, rotation angle was brought back to 0 degrees, practically resetting rotation, no matter where user is currently.
I think that implemented this way, the tool would be way more useful, with extended meaning to general UX, since it brings speed of preview (everyone loves it!) and speed of acting in general. One can go to 180 degrees angle in a 1/10 of a second. Right now I have to wait seconds until my complex drawing appears and/or constantly looking at status bar to read exact value of rotation at which I am currently.
Please consider bringing back some part of previous implementation. Especially GUI part, which was one of the most polished canvas interactions Inkscape used to have.
Yes, we can bring this back... but it needs to be implemented differently (similar user experience, different code wise). It's on the list of things to do.
Tav
Check out the vibrant tech community on one of the world's most engaging tech sites, Slashdot.org! http://sdm.link/slashdot _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel

On 2017 Mar 21 10:36:57, Vladimir Savic wrote:
Can we bring Jabier's on-screen controls? I really liked that widget. It
was fast to choose desired rotation angle that way. I liked how it brought "speed" to Inkscape. We need such clever GUI decisions since everything already feels too slow. The new method with complex drawing is something I'd never use. Even worse, we have made shortcuts work perfectly for every workflow. Even with a tablet it was a breeze to rotate canvas without finger acrobatics. Just to remind you how it used to work:
Following logic behind panning (using middle mouse button - MMB), Jabier added _entering_ rotation mode by clicking CTRL+MMB. CTRL was also used to constraint rotation to a angle value defined in preferences. It is the same value used for every rotation in Inkscape. If user releases CTRL while still holding MMB down, snapping of rotation values was "lost", which is consistent with how rotation tool in general works.Pressing CTRL with MMB still down brings back rotation angle snapping. Another one added was SHIFT. With SHIFT keyboard button pressed down, rotation angle was brought back to 0 degrees, practically resetting rotation, no matter where user is currently.
+1 for these controls, as middle mouse button click and drag is tablet friendlier than scroll wheel
I think that implemented this way, the tool would be way more useful, with extended meaning to general UX, since it brings speed of preview (everyone loves it!) and speed of acting in general. One can go to 180 degrees angle in a 1/10 of a second. Right now I have to wait seconds until my complex drawing appears and/or constantly looking at status bar to read exact value of rotation at which I am currently.
Please consider bringing back some part of previous implementation. Especially GUI part, which was one of the most polished canvas interactions Inkscape used to have.
Regarding the GUI part, I had tested Jabier's branch, and one thing that hindered the drawing process was heavy onscreen display while rotating. In my opinion there is no need to show the circular disc and clipping the canvas into that disc while rotating. a simple on-screen notification showing the degree of rotation is enough. May be a small rectangle notification box with degrees. This is just my opinion. The previous rotation HUD kind of display was a bit distracting.
+1 for GUI notifications for rotation but with subtlety.
Thank you

Regarding the GUI part, I had tested Jabier's branch, and one thing that hindered the drawing process was heavy onscreen display while rotating. In my opinion there is no need to show the circular disc and clipping the canvas into that disc while rotating. a simple on-screen notification showing the degree of rotation is enough. May be a small rectangle notification box with degrees. This is just my opinion. The previous rotation HUD kind of display was a bit distracting.
+1 for GUI notifications for rotation but with subtlety.
I get what you say and I tend to agree. The problem is that Inkscape falls behind with redrawing on such intensive calculations such as this one. Jabier did a clever thing. He copied bitmap of what's currently on canvas and rotated just that image, which is fairly cheap operation when done once. That was precisely the reason why it was so fast. Only after user released MMB the whole canvas was redrawn. If we can grab bigger rectangle, I guess we can rotate that one instead and ensure that there are no gaps drawn on screen, since no panning, or any other operation for that matter, can occur while rotating (while MMB is down and we are in rotation mode, that is).
Vlada
Thank you
Raghavendra Kamath Illustrator raghukamath.com

Hi Raghavendra .
On Tue, 2017-03-21 at 15:19 +0530, Raghavendra Kamath wrote:
On 2017 Mar 21 10:36:57, Vladimir Savic wrote:
Can we bring Jabier's on-screen controls? I really liked that widget. It
was fast to choose desired rotation angle that way. I liked how it brought "speed" to Inkscape. We need such clever GUI decisions since everything already feels too slow. The new method with complex drawing is something I'd never use. Even worse, we have made shortcuts work perfectly for every workflow. Even with a tablet it was a breeze to rotate canvas without finger acrobatics. Just to remind you how it used to work:
Following logic behind panning (using middle mouse button - MMB), Jabier added _entering_ rotation mode by clicking CTRL+MMB. CTRL was also used to constraint rotation to a angle value defined in preferences. It is the same value used for every rotation in Inkscape. If user releases CTRL while still holding MMB down, snapping of rotation values was "lost", which is consistent with how rotation tool in general works.Pressing CTRL with MMB still down brings back rotation angle snapping. Another one added was SHIFT. With SHIFT keyboard button pressed down, rotation angle was brought back to 0 degrees, practically resetting rotation, no matter where user is currently.
+1 for these controls, as middle mouse button click and drag is tablet friendlier than scroll wheel
I think that implemented this way, the tool would be way more useful, with extended meaning to general UX, since it brings speed of preview (everyone loves it!) and speed of acting in general. One can go to 180 degrees angle in a 1/10 of a second. Right now I have to wait seconds until my complex drawing appears and/or constantly looking at status bar to read exact value of rotation at which I am currently.
Please consider bringing back some part of previous implementation. Especially GUI part, which was one of the most polished canvas interactions Inkscape used to have.
Regarding the GUI part, I had tested Jabier's branch, and one thing that hindered the drawing process was heavy onscreen display while rotating. In my opinion there is no need to show the circular disc and clipping the canvas into that disc while rotating. a simple on-screen notification showing the degree of rotation is enough. May be a small rectangle notification box with degrees. This is just my opinion. The previous rotation HUD kind of display was a bit distracting.
I share soon the new UI done yesterday, based on your ideas you send me time ago. Cheers, Jabier.
+1 for GUI notifications for rotation but with subtlety.
Thank you
participants (6)
-
C R
-
Jabier Arraiza
-
Raghavendra kamath
-
Raghavendra Kamath
-
Tavmjong Bah
-
Vladimir Savic