Begin forwarded message:
> From: Michael Lucas-Smith <michael.lucassm...@gmail.com> > Subject: Re: [vwnc] Doodling with Cairo... > Date: July 24, 2013 12:31:24 PM GMT+02:00 > To: stew...@xtra.co.nz > Cc: v...@cs.uiuc.edu > > Hi Stewart, > > Gizmo was just something Travis Griggs and I made to experiment with > CairoGraphics. We wanted to see how it would perform, what kinds of issues we > might run in to using Cairo resources in widgets, that sort of thing. > > The doodle layout algorithm is a variant of the CSS layout algorithm, > significantly simplified, by me as a way to avoid having to do a full on > layout algorithm but still get the majority of what we needed to > experimenting. This approach to layout is not the future for the UI, we have > other plans there using a constraint based solver that has been proven in > production code both in Smalltalk and in other languages. > > As an experiment, it was a complete success - we sold ourselves on the idea > that Cairo was completely viable for our customers to use for this kind of > work (ie: custom widgets) and potentially for doing the core widgets too. > Some of the people in the community have gone even further, making graphics > contexts that use CairoGraphics and whole suits of widgets. It's inspiring > and very cool. > > So, you've stumbled upon some of the humble beginnings - I frankly didn't > realise we'd put that stuff in the open repository, I thought we'd left it in > our private repository. Have fun with it if you want.. somewhere in there is > my fancy clock that moves the numbers instead of the clock hands and also a > Dr. Who animation. > > Cheers, > Michael > > On 10/01/2008, at 2:34 AM, Stewart MacLean <stew...@xtra.co.nz> wrote: > >> 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 >> v...@cs.uiuc.edu >> http://lists.cs.uiuc.edu/mailman/listinfo/vwnc > > _______________________________________________ > vwnc mailing list > v...@cs.uiuc.edu > http://lists.cs.uiuc.edu/mailman/listinfo/vwnc