(I&#39;ve subscribed to the CREATE mailing list for the duration of this discussion.. It&#39;s too annoying having only half of the convo appear.<br><br>And I deleted kimageshop from the CC, cause I don&#39;t want to subscribe to ANOTHER ml just to participate in this discussion.)<br>
<br><div class="gmail_quote">On Thu, Jul 21, 2011 at 5:22 PM, Boudewijn Rempt <span dir="ltr">&lt;<a href="mailto:boud@valdyas.org">boud@valdyas.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<br>
I&#39;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.<br></blockquote><div><br>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.<br>
<br>Mind you, I think that for this kind of usage, floating windows are pretty irrelevant. From what I&#39;ve seen, tiles &#39;is the only game in town&#39;. It&#39;s good to support the possibility of floating-windowed behaviour, cause it&#39;s easier to implement -- it just doesn&#39;t perform as well in this role as tiling does.<br>
<br><br>I&#39;ll paste some of the stuff I wrote earlier, since this will actually get through to the CREATE list..<br><br><br>...<br><br><br><br>Give one window the special id &#39;MAIN&#39; or &#39;MASTER&#39; (if this data is not 
available, guess it as the largest tile in the overall layout when 
loading).<br>Whether the other views are displayed or not, this should be (and its zoom etc settings should be respected as far as possible).<br><br><div class="im"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
- View rotation is a number of radians ranging from 0 to 2*pi. It might </blockquote><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">be better to express as degrees or a float from 0 to 1.<br>

</blockquote></div><div>I think degrees is the best (most &#39;standard&#39;) 
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.<br>
 <br></div><div class="im"><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">
<br>
- View mirroring is a concept which may not be used in all other editors.<br></blockquote></div><div><br>IMO
 that&#39;s okay. We should store that setting anyway, and other editors 
should simply remember it when saving if they don&#39;t support it 
themselves.<br>
<br>(Also, IME it&#39;s almost as useful for photo editing as for drawing.. 
so not implementing it may be justifiable, but there isn&#39;t really a 
reason to specifically NOT implement it. I don&#39;t think it counts as a 
MyPaint-ism.) </div><br>Something else related:<br>* 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&#39;t want to be troubled by that).<br>
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.<br>
<br>Lastly (Sort of, but not entirely, MyPaint specific):<br>* 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&#39;d call reasonable minimum dimensions. We then have to drop 
some tiles, IMO, to restore sanity. The &#39;MASTER&#39; tile idea goes some way
 towards ensuring we don&#39;t discard the most important tile. Is there 
more that could be done here?<br>(I don&#39;t really want to say &#39;make the un-fitting tiles into floating windows&#39; -- although this could work for certain kinds of software, it would be a complete pain in MyPaint.)<br>
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&#39;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.<br>
And if there are too many views to display, just don&#39;t display them (but leave them in the list of available views, so a user can opt to view them at a later point.)<br></div></div>