transform UI questions

Boudewijn Rempt boud at valdyas.org
Wed May 18 13:51:33 CEST 2005


On Wed, 18 May 2005, Casper Boemann wrote:

> Hi
>
> Working on my transform tool (yes , I've not given up yet) I have a UI
> question:
>
> the order of typical work is:
>
> - select

Or not -- I intuitively try to use the transform tool to transform the entire
layer quite often.

> - choose transform tool
> - drag/rotate/whatever
> - drag/rotate/whatever
> - drag/rotate/whatever
> - drag/rotate/whatever

Here I get horribly confused, because I expect the transform to happen
on mouse-up, not on moving to another tool. That's because I tend to
do two or three transformations, and I want to see what I have done in-between.


> - choosing another tool
>
> Now in photoshop you commit your transform by choosing another tool, and
> answering yes to a question dialog. And only then is the action added to the
> history buffer.

I want a "transform" button in the option panel of the transform tool, just
as we have with crop. It's the same kind of action, so the ui should be the
same. And just to make sure, both commands should be in the menu, too.

And after 1.4, in the right-click popup menu on the image, too.

> I was thinking of not putting up a dialog (cannot add new strings anyway),
> but to just do the transform. If the user regrets, then undo is always an
> option. Doesn't that sound ok?

I'd prefer on mouse-up, here, or an explicit button. With the latter
option, selecting another tool should silently discard any pending transformations,
with the former option no notification is necessary.

I prefer the button approach, because that way you can choose when to apply
the refined transform. The crop tool works the same way -- and we should strife
for internal consistency. And for a minumum of dependency on "the user can
undo anyway" since that approach makes working with the history slider
(once we have it -- I need to hack KOffice libs for that) harder.

> The originally selected area is cleared as it is transformed to another
> place. But when doing successive transforms (as in the example above,
> perfecting the transform like the user wants) the intermediate areas
> shouldn't be cleared, right?

If we have an explicit apply-the-transform buttton, then we should clear
only on pressing the button, in between the transform just needs to be updated.
Anyway, another reason for a button is that it's very counter intuititive to
have to select another tool between two explicit transforms.

> Now if those intermediate steps are not final steps, should they be added to
> the undo history? It would be kind of cool being able to undo the
> intermediate steps, but the fact that they are not true steps, makes it a
> difficult task to implement (that shouldn't hold us back though).

No, that would be confusing to the user.

> The implementation problem lies in the fact that I would like to take the
> originally selected area as source for every successive transform, thus
> avoiding iterative rounding errors.

Just compute the final transformation matrix and on pressing the "transform"
button (I hope we've got that string somewhere already...), do the transform.
Just as with crop.

Boudewijn


More information about the kimageshop mailing list