[Mypaint-discuss] [CREATE] Multiple viewports (for MyPaint, but Gimp/Krita/whoever too?)

David Gowers (kampu) 00ai99 at gmail.com
Thu Jul 21 11:06:20 CEST 2011


(I've subscribed to the CREATE mailing list for the duration of this
discussion.. It's too annoying having only half of the convo appear.

And I deleted kimageshop from the CC, cause I don't want to subscribe to
ANOTHER ml just to participate in this discussion.)

On Thu, Jul 21, 2011 at 5:22 PM, Boudewijn Rempt <boud at valdyas.org> wrote:

>
> I'd be tempted to just save the rect of each subview with its rotation,
> mirror and zoom parameters. Going with the dividers is a bit implementation
> specific, I think.
>

Yeah, as long as those rects are proportions of screen space (and
sufficiently accurate to ensure the exact location of the split+how that
fits into the overall combinations of hpanes and vpanes). Saving absolute
pixel positions could result in some stupid/unusable behaviour when
different people open the same document.

Mind you, I think that for this kind of usage, floating windows are pretty
irrelevant. From what I've seen, tiles 'is the only game in town'. It's good
to support the possibility of floating-windowed behaviour, cause it's easier
to implement -- it just doesn't perform as well in this role as tiling does.


I'll paste some of the stuff I wrote earlier, since this will actually get
through to the CREATE list..


...



Give one window the special id 'MAIN' or 'MASTER' (if this data is not
available, guess it as the largest tile in the overall layout when loading).
Whether the other views are displayed or not, this should be (and its zoom
etc settings should be respected as far as possible).

- View rotation is a number of radians ranging from 0 to 2*pi. It might

be better to express as degrees or a float from 0 to 1.
>
I think degrees is the best (most 'standard') option. 0..1 is an interesting
option, though... I kinda like it. I wonder if it would be confused for
radians because of the similar relative scale, though.


>
> - View mirroring is a concept which may not be used in all other editors.
>

IMO that's okay. We should store that setting anyway, and other editors
should simply remember it when saving if they don't support it themselves.

(Also, IME it's almost as useful for photo editing as for drawing.. so not
implementing it may be justifiable, but there isn't really a reason to
specifically NOT implement it. I don't think it counts as a MyPaint-ism.)

Something else related:
* it occurred to me that people have good reason to want this: Different
views having different layer visibility states (being able to check how your
work interacts with other layers, even though on your main area you don't
want to be troubled by that).
Whether MyPaint ends up implementing such a thing or not, we should probably
consider this in the data model (I could easily imagine GIMP eventually
spitting out such data). The simplest reading policy would just be to take
visibility info from the tile classified as MASTER/MAIN.

Lastly (Sort of, but not entirely, MyPaint specific):
* Some policy for dealing with unmanageable layouts is needed. For
example,someone spreads their MyPaint window across two displays, and places
8 tiles on the right display (or maybe they have only one display, but
excessive resolution/physical size, so they can spam splits); They save a
file and send it to you. When this is crammed into your one
average-resolution non-widescreen display, the tiles drop below what I'd
call reasonable minimum dimensions. We then have to drop some tiles, IMO, to
restore sanity. The 'MASTER' tile idea goes some way towards ensuring we
don't discard the most important tile. Is there more that could be done
here?
(I don't really want to say 'make the un-fitting tiles into floating
windows' -- although this could work for certain kinds of software, it would
be a complete pain in MyPaint.)
Well.. If the concept is really about VIEWS on one document, then one
solution occurs to me: Let the user pick which *VIEW* is displayed in a
given tile/window. With a bit more UI (Next/Prev View. Delete View, New View
(somewhat implicit in MyPaint's case, at least when you create a new
pane/tile)), this could allow you to quickly flick through key points of a
painting to check how they are looking.
And if there are too many views to display, just don't display them (but
leave them in the list of available views, so a user can opt to view them at
a later point.)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kimageshop/attachments/20110721/d6016dd0/attachment-0001.htm 


More information about the kimageshop mailing list