Re: New layout language.

On 7/5/05, Kris@meridian-ds.com <Kris@meridian-ds.com> wrote:
> 
> 
> <shakes head/>
> 
> Orion... I'm pretty confused that this point.  That as easy to understand
> as it could be.  Any chance you can post your description and maybe some
> pretty pictures to diagram it all somewhere?  That would aid a bit.
> 
> Crits:
> 
> You get into:
> 
> left:0%+n; (using css markup since we'll all understand) pretty quickly
> without giving me a really good definition of what "n" is...  Maybe I
> missed it, please define.
> 
> You also mention that ems will be used for width and height of elements...
> having never used ems this way (I generally use % or pixels) my first
> impression is that the width and height would size in accordance with text.
> Please confirm.  Couldn't that be a little problematic?  I realize we can
> do it with css currently, but like I said, I've never done it, so I'm just
> asking.
> 
> Finally:  I get the impression that you intend a left,top,width,height for
> virtually all elements (perhaps all since this is designed with layout in
> mind and not text styling).  That seems like it could be a LOT of extra,
> uncessesary code.  Please Confirm.

Ok, lots of revisions needed clearly.

The idea behind it was pretty simple and maybe better explaining it
will help. The layout of an interface is dynamic. Each region in the
layout is described by 4 linear equations (sounds harder than it is).

Each linear equation is of the form "ax + b". In the system presented
"a" is the percenage and "b" is the value part.

Therefore to see the layout at it's smallest size (think min-width and
min-height), replace a (the percentage part) with 0.

In traditional GUI's you specify the left, top, width and height.
You're doing the same thing here. That's the "b" part. In a
traditional GUI the min-width and min-height are the same thing as the
width and height.

But you're also specifying how each region grows when the viewport
grows. That's the "a" part.

Now in a traditional GUI you calculate the right coordinate by adding
the left coodinate with the width. You do the same thing here except
each one is a linear equation.

So if left coordinate is (a1*x + b1) and the width is (a2*x + b2) then
the right coordinate would be ((a1 + a2)*x + (b1 + b2)). It's actually
quite simple in terms of the math.

And yes, to answer your last question, each region has a left, top,
width and height. It also has a role. As far as the code, the system
is incredibly simple and could be written in a day or less. What it
does is reduce the coupling between layout and formatting which
simplifies both algorithms.

Orion Adrian

p.s. Pictures are coming.

Received on Tuesday, 5 July 2005 04:43:19 UTC