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
