Skip to content

Add resizing/rotate support to drawing screens #7134

@seadowg

Description

@seadowg

Currently, the drawing widget input does not work well with rotation/resizing. On smaller devices, orientation is locked and on larger ones rotating causes the "canvas" to resize and rotates drawings.

Instead:

  • For draw appearance questions the screen should work like paper: when the device is rotated the rotates with it. As an example if I'm in portrait and I draw an arrow pointing to the physical top of the device, when I rotate to landscape, that arrow should be the same size and should still be pointing at the physical top (rather than the side that's currently at facing up). The controls should always be in the bottom right of the screen in either orientation. When the image is saved, the orientation used should match the device orientation when the first stroke was drawn.
  • signature appearance questions should work the same way as above. The one exception being that a line is drawn in the centre of the screen to denote where the signature should be placed. This line does not need to appear in the saved image (as it does now).
  • For annotate appearance questions, rotation should work as with draw, but the image being annotated should be fit to the screen dimensions - the longer sides of the image should be placed against the longer sides of the screen. When the image is saved it should retain the original orientation.

In all cases except signature an orientation should not be forced on any size of device. On compact devices, signature questions should open the screen in landscape.

Questions

  • Could we retain the original image size for annotate rather than scaling it to fit the device?
  • Should signature be in the form rather than a separate screen?
  • Could this component be host in a WebView and shared with Web Forms?

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    ready

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions