Vector window shapes and the great mystery of ink effects

Scott Rossi scott at tactilemedia.com
Fri Feb 27 15:29:21 EST 2009


Recently, Ken Ray wrote:

>>   go url "http://www.tactilemedia.com/site_files/downloads/transtack.rev"
> 
> Very nice, Scott! Do you see any way of being able to have non-blended
> controls on top a blended stack?

Sure, there's one way I can think of, but it's a bit of a pain, and to do it
dynamically would be make resizability even *less* practical.  You can place
all the card controls, along with a graphic (which acts as the "transparency
level" for the stack) in a group, and create the mask image for the stack
from the export of the group.  See here for an example:

go url "http://www.tactilemedia.com/site_files/downloads/transtack2.rev"

This should work on Mac and Windows, but each platform has its
idiosyncrasies.  Notice that the tab group on Mac is off because this is
inherently a translucent control, and the sliders are off on both platforms
because they have an irregular shape that needs to move, so all of these
controls won't blend right with the background unless special care is taken
to support their appearance.

This technique is a fairly heinous way to create what you're asking -- it
should really be done at the engine level -- but if you're stack runs at a
fixed size, or it can "jump" resize to fixed dimensions, it's relatively
possible to build and maintain.  Doing so just requires some fortitude to
make sure the card controls are always included properly in the mask image.

BTW, there are 2 issues the Rev guys need to address here (besides including
the above ability in the engine).  First there's a weird intermittent bug
that allows the user to click *through* a stack with a windowshape applied.
Also, there's that irritating shadow bug on OS X I mentioned earlier that
really needs to be addressed to facilitate building this kind of stuff.
Just so you know. :-)

Regards,

Scott Rossi
Creative Director
Tactile Media, Multimedia & Design





More information about the Use-livecode mailing list