Begin forwarded message:
From: "Stewart MacLean" <stewart@xtra.co.nz> Subject: [vwnc] Doodling with Cairo... Date: January 9, 2008 4:34:08 PM GMT+01:00 To: <vwnc@cs.uiuc.edu> Reply-To: stewart@xtra.co.nz
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 vwnc@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/vwnc