Begin forwarded message:

> From: "Stewart MacLean" <[email protected]>
> Subject: [vwnc] Doodling with Cairo...
> Date: January 9, 2008 4:34:08 PM GMT+01:00
> To: <[email protected]>
> Reply-To: [email protected]
> 
> Hi,
>  
> I’ve been experimenting with the various Cairo bits and pieces trying to 
> figure out how to get a nice looking tree/UI – some interesting stuff! 
> (thanks for the previous pointers, everyone).
>  
> One of which is the Gizmo – which on first impression I wondered what’s with 
> all these pink rectangles?
>  
> But delving deeper it looks like a pretty cool open ended framework – I’ve 
> been experimenting with nesting and it sort of works, but not sure if I’m 
> configuring it correctly.
>  
> The Cairo Wrapper Kit is a piece of art, but I’m struggling to get my head 
> around it – wrapper hell?
>  
> Anyway, I was wondering where the “Doodle Layout Algorithm” came from? – all 
> I can find are references to a constraint based object visualization system 
> from the mid 90’s.
>  
> BTW, I know Smalltalk is generally self documenting code, but some “big 
> picture” class/package documentation with these lovely experiments would make 
> them a lot more accessible!
>  
> Cheers,
>  
> Stewart
>  
>  
> Gizmo>>layoutFromIndex: index
>             "** The Doodle Layout Algorithm **
> 1) Use desiredLayoutBlock to find out what we want as our bounds inside the 
> availableExtent given to us. Store this in @desired.
> 2) Figure out what extent we want to offer our children based on our @desired 
> bounds. Store this in @offered.
>             @desired may contain a width/height of BlockClosure. In this 
> case, we offer the
>             available space for that dimension to our children
> 3) Offer the @offered space to each child, storing their @requested space
> 4) Keep a record of the @maximum extent that our children reach inside us so 
> that we can decide how to clip correctly.
> 5) <pluggable> Use our child layout algorithm to position and size the 
> @requested space as the @bounds of the child
> 6) Return our @desired bounds to our parent as a requested space replacing 
> any BlockClosure with details from our children's @maximum extent.
> ."
>  
>  
> _______________________________________________
> vwnc mailing list
> [email protected]
> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc

Reply via email to