Rotate and Flip Canvas

Bug #170498 reported by Mreaston
142
This bug affects 28 people
Affects Status Importance Assigned to Milestone
Inkscape
Fix Released
Wishlist
Jabiertxof

Bug Description

Expressions3 and several other tools allow the user to
rotate the workspace.

This is an extremely useful feature as it is often
easiest to make strokes vertically, rather than
horizontally, especially when using a tablet + the
calligraphic tool.

presumably with SVG this should be very doable

Thanks

Tags: tablet ui

Related branches

Revision history for this message
ScislaC (scislac) wrote :

I was just going to see if there was an rfe for moving the
canvas... what about a canvas modification tool, o more
advanced options for it in the document properties dialog.
It would let you move, rotate, and resize the canvas, and
can be modified by mouse or numerically in a dialog (or that
"variable" bar up top). Just my .02...

Revision history for this message
Buliabyak-users (buliabyak-users) wrote :

closed dupes: 1421904, 1226747

Revision history for this message
Dov Grobgeld (dov-grobgeld) wrote :

It is also useful when inserting vertical text into a
document, e.g. when writing tabs for tear-off of
announcement messages. In such a case I would like to rotate
the view (e.g. View/Rotation/90^o) when inserting the text.

In terms of user interface this may look as follows:

  View
    Rotate
      0^o
      90^o
      180^o
      270^o
      Arbitrary

I'm not sure if the arbitrary angle is really necessary, but
if it was defined then when turned on the curser should
change shape, and at the first mouse click the inkscape page
should get "stuck" on the mouse and rotate around the center
 of the inkscape page until the mouse was released. inkscape
should then return to whatever mode it was in before the
Rotate arbitrary was turned on.

Implementation wise it probably means inserting a rotation
transformation between the data and its display.

Changed in inkscape:
importance: Undecided → Wishlist
status: New → Confirmed
Revision history for this message
orGSD (gerard-d+launchpad) wrote :

I would also find this very useful for inserting vertical text. Presently I could rotate the object independently of the canvas, add the text, then rotate it back. That would be the workaround for this situation.
That being said I find it preferential to not transform objects unnecessarily, so the ability to rotate the canvas to get a different "view" or "perspective" at the current piece of work would really be a brilliant addition.
As for the "Arbitrary" angle mentioned by Dov-g, I could see this useful for tablet usage. When doing calligraphy on real paper with a pen I am used to angling my paper at an "arbitrary" angle. I would imagine if I had a tablet and did such texts digitally having the ability to have my canvas mimick the same angle as my tablet would be incredibly more intuitive.

Cheers,

 orGSD

tags: added: tablet
Revision history for this message
Jon A. Cruz (jon-joncruz) wrote :

Yes. We've been keeping an eye on doing this for some time, and the internals are finally close enough to allowing it.

The main thing for tablet users is to allow them to essentially turn the virtual sketchbook they're working in as needed. Flipping was also mentioned as quite useful and ties in to the same internal mechanisms.

As far as implementation goes, the touch strip on the Intuos3 line a quite appropriate for control. Earlier Bamboo tablets and the new Intuos4 line have a touch ring that is even more appropriate.

Revision history for this message
Jon A. Cruz (jon-joncruz) wrote :

Closing bug #446787 as a duplicate of this one.

summary: - Rotating Canvas
+ Rotate and Flip Canvas
Changed in inkscape:
assignee: nobody → Jon A. Cruz (jon-joncruz)
Revision history for this message
su_v (suv-lp) wrote :

related blueprint: "Function for freely rotating the whole document"
<https://blueprints.launchpad.net/inkscape/+spec/rotating-whole-document>

Revision history for this message
orGSD (orgsd) wrote :

I finally came up with an amazing solution. I found that rotating one of my monitors 90° and holding the mouse also rotated the same 90° simulates this feature. The mouse bit is optional but I found it hard to remap in my brain the coordinates with the mouse movement going 90° from the physical movement. Yes this is extremely awkward, but until someone who has the coding ability and sympathizes with the problem can do something about it, this is an actual workaround. Go LOW TECH!
And unlike the "tape your cellphone to your head" hands free solution, this leaves no sticky residue!

PS: I tried suspending myself from the ceiling sideways, parallel to the ground, but the resulting injuries are what have kept me from further commenting on this RFE since my last comment. I am all better now, thank you. For that reason I would not recommend anyone else try the ceiling hanging method.

Revision history for this message
G. Ney (jggorney) wrote :

In MyPaint can do this. You have two menu entry to rotate the view 25 degrees, one clockwise, other the reverse, and you can map them to any key you choose, so you can rotate to an (almost) arbitrary angle by repeatedly pushing the key. I find this extremely fast and useful, since a lot of us work with one hand at the pencil, and the other at the keyboard. Using the strip would be better, but not all tablets have that option, and some people doesn't have a tablet ;)

For me, rotate 90, 180, 270 doesn't make the cut at all; and selecting a menu entry, introducing a number, press OK is painfully slow and totally breaks my workflow. I don't think anybody needs such precission to rotate the view; I think the MyPaint system is much better, and maybe could be better optimized in code.

An improvement would be make the steps configurable, so instead of have a fixed rotation of 25 you can configure it to be 12, 45, 90 or whatever you want.

Revision history for this message
xroox (drewsecret) wrote :

So, can we rotate the canvas? I am unclear how to do this.

Thanks

Revision history for this message
Pablo Trabajos (pajarico) wrote :

xroox: not for now.

Revision history for this message
Pedro de Carvalho (leite-carvalho) wrote :

Hi everyone!

any news on this issue?

when doing flyers, some layouts i design can be folded, so one is upside down.

my workflow when i have these, is have one half a mockup, and the other the actual work. Then i work on another file that has the other half.

Then rotate all the objects, copy and paste on the final file.

I would be really great if i could flip the canvas as if it was a piece a paper.

Revision history for this message
ScislaC (scislac) wrote :

@Pedro: No update.

Tip for your workflow though, you can hit Ctrl+A (select all) and then hit H (flip horizontally), then hit V (flip vertically) instead of using rotation. H & V will work with whatever you have selected, just like rotation.

Revision history for this message
Robert Muil (robertmuil) wrote :

Any news on this now? With the Sozi presentation extension used to make presentations that rotate, it would be a huge boon to be able to rotate the *view* of inkscape rather than the document or objects themselves.

Revision history for this message
Jurgen Gaeremyn (jurgen-gaeremyn) wrote :

Too bad this feature isn't in the new 0.91.
Is this item actually still on someone's plate? Or is it something that is gathering dust underneath a gazillion other projects?

For floor plans (where not all buildings are in 90° relation to each other), this feature would come really handy.

PS. @Robert Muil - Sozi is moving away from Inkscape (unfortunately, but understandably)

ScislaC (scislac)
Changed in inkscape:
assignee: Jon A. Cruz (jon-joncruz) → nobody
Revision history for this message
Robert Muil (robertmuil) wrote :

@Jurgen - Sozi is moving away from using Inkscape only for the configuration of the presentation details, like transitions, slides, etc. - the actual SVG will still need to be edited in some way and AFAIK sozi won't duplicate Inkscape's functionality in this regard (fortunately).

So, I think having a 'viewpoint rotate' function in Inkscape would still be a great boon for those using sozi.

Jabiertxof (jabiertxof)
Changed in inkscape:
assignee: nobody → Jabiertxof (jabiertxof)
Revision history for this message
Jabiertxof (jabiertxof) wrote :

Hi, I just add a branch to the bug to allow arbitrary rotate of document.
The rotation become in the middle of the display area, so good to tablet users.
I add also the fix to the png export, an small change easy to migrate to other exports.
To view working you need to update the new namedview parameter inkscape:rotation.
Todo:
* fix doc undo.
* Apply png code to other outputs.
* Make a GUI to this parameter.

Feel free to try and send me feedback!

Revision history for this message
Jabiertxof (jabiertxof) wrote :

s/inkscape:rotation/inkscape:document-rotation

Revision history for this message
Jabiertxof (jabiertxof) wrote :

the branch, seems I couldent link it now:
https://code.launchpad.net/~inkscape.dev/inkscape/doc_rotate

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Doc undo seems dificult to handle.
Added GUI to the branch.

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Added to trunk r.15444 rotate document. Not close because pending flip.

Revision history for this message
Jabiertxof (jabiertxof) wrote :

Added flip code to review.

Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :

The use ov SPViewBox to handle rotation is not a good idea. SPViewBox represents an SVG construct that is common to a number of SVG elements (symbol, marker, pattern, etc.). This construct does not include rotation. Use of SPViewBox in this way intermixes the SVG rendering with editing the document, making separating the two impossible (a long term goal).

The correct place to insert rotation is at the same point that zoom is handled, namely in the d2w and w2d variables found in desktop.h and desktop.cpp. These variables represent the transformation between window and desktop coordinates. Currently they assume that the transform is only a scale (as does much of Inkscape's code) but it wouldn't be hard to include rotation.

Revision history for this message
Jabiertxof (jabiertxof) wrote :

I go to fix this weekend. thanks Tav for the guide.

Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :

Directly adding the GUI interface to SPCanvas is probably not a good idea. It would probably be better to put all the code in a class derived from SPCanvasItem. In any case, the code in SPCanvas needs documentation.

Revision history for this message
Tavmjong Bah (tavmjong-free) wrote :

Trunk r15603 contains code that rotates the canvas using the desktop to window affine (d2w). Please test. 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.

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/Rotating_Canvas

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?

Jabiertxof (jabiertxof)
Changed in inkscape:
status: Confirmed → Fix Committed
Mads grenaae (madsg77)
Changed in inkscape:
status: Fix Committed → Fix Released
Mc (mc...)
Changed in inkscape:
status: Fix Released → Fix Committed
milestone: none → 0.93
Max Gaukler (mgmax)
Changed in inkscape:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.