From: Jose G. <jos...@ju...> - 2008-10-30 21:14:45
|
Matt Barclay wrote: > Hello, > > I'm working on an app that let's the user control a chair. In the > app, the user will click on the headrest, armrest, seatback, or > footrest to control its position. Since these pieces of the chair are > not rectangles, I'm planning on using some Embryo scripting to get the > mouse coordinates on the chair, then figure out if the click is inside > of the controllable areas and emit a signal. A much cleaner approach, > I think, would be a part type POLY that would let edje do the heavy > lifting and behave just like RECT. I can't be the first person to run > into this challenge. How have you solved it in the past? How hard > would it be to add POLY to edje? I see evas already has support for > polygons. > That sounds like a fun and interesting project. :) Now, as to poly objs in edje/edc, well it shouldn't be too dificult really - once you can come up with a reasonable edc format description which you can edje_cc parse, save in eet as some list or array structure for the set of vertices, the rest is simple. However, there are plans for overhauls of evas' polys (and other vector objs) and one that seems reasonable is to allow for the set of poly vertices to be specified as floats, so you may want to allow that (even if current evas would truncate them to int coords). You may also look into things like the svg, xaml, and such specs which have similar object descriptions for inspiration on the edc format description (xaml I believe has a polygon object, can't recall about svg - though they both have a more general 'path' obj description, and possibly someone may have even suggested a CSS based polygon or path obj description.. maybe someone from Apple). Lastly, you may want to speak with Cedric and Jorge, as they are both interested in this topic. ____________________________________________________________ Overwhelmed? Click here for information on drug and alcohol rehabilitation. http://thirdpartyoffers.juno.com/TGL2141/fc/Ioyw6i3nCeLATRB3A0uPCqRbHSH68VGJaT2fHF3sPhYp5tZehw3yvj/ |