Deep-mask feature and alwaysbuffer

Mark Waddingham 36degrees at runrev.com
Mon Jun 27 06:56:19 CDT 2005


Hi Wilhelm,

Thanks for noticing this - the engine is meant to set the alwaysBuffer
of the stack to true automatically (for Win32) when using a deep mask so
this is a bug in the current implementation.

Basically, from a technical perspective, the alwaysBuffer is needed
because the OS only allows you to create (per-pixel) alpha-blended
windows that have their contents rendered into an off-screen buffer.

I'll file this is a bug as soon as bugzilla is back up and running.

Warmest Regards,

Mark.

On Sun, 2005-06-26 at 00:19 +0200, Wilhelm Sanke wrote:
> When trying to use the new deep-mask feature of Rev 2.6 (engine version 
> 2.6.5, build 108) I experienced odd behavior while using the Metacard 
> IDE (Windows XP)
> 
> After setting the windowshape of a new stack to the ID of the imported 
> semi-transparent PNG, the stack completely vanished. Testing the 
> visibility of the stack in the message box ("put the vis of this stack") 
> returned "true". After some experimenting I found out:
> 
> - when the windowshape is set, the image disappears
> - at the same time a screenshot is taken inside the area of the stack - 
> with the effect that the stack is no longer visible
> - you can test that the stack is there by setting the loc of the stack 
> to a different point: the stack with the screenshot will now stand out 
> as visible
> - clicking on the stack - in pointer mode - will make the imported image 
> visible again
> - saving the stack now, quitting the Metacard IDE, restarting Metacard 
> and opening the saved stack: The stack remains invisible.
> 
> As a workaround I put into the preopenstack handler:
> 
> "lock screen
> choose pointer tool
> click at the loc of this stack"
> 
> This helped.
> 
> What helped likewise was the script Scott Rossi used for his 
> "psychedelic bug", interestingly this made the stack visible again, too.
> 
> > (Try this on OSX, using a stack with a deep mask applied:
> >
> >  lock screen
> >  unlock screen with visual "dissolve"
> >
> > See anything unusual?
> >
> > Regards,
> >
> > Scott Rossi)
> 
> 
> 
> In the Rev IDE, when applying the new deep-mask feature the stack 
> remains visible, also a stack created and saved in the Rev IDE can be 
> opened as visible in the Metacard IDE. Hence, as the engine used in both 
> IDEs is identical (2.6.5, build 108), there had to be some difference in 
> the IDEs when the stack is created and saved.
> 
> Eventually I found out that the culprit is "alwaysbuffer": In the Rev 
> IDE a newly created stack has the default setting of "alwaysbuffer = 
> true" ("Buffer display" in the stack inspector is checked) whereas in 
> the MC IDE the default setting is "false" (mctools-version 2.6B11).
> 
> Setting alwaysbuffer to true when creating a new stack In the MC IDE 
> solves the described problems - and un-checking "Buffer display" for a 
> new stack in the Rev IDE lets you experience the weird behavior I have 
> described above.
> 
> If these peculiarities are intended, a remark about the necessity to set 
> the alwaybuffer-property for a stack to true when using the deep-mask 
> feature should be added to the "windowshape" entry of the documentation.
> 
> 
> Regards,
> 
> Wilhelm Sanke
> <http://www.sanke.org/MetaMedia
> 
> _______________________________________________
> metacard mailing list
> metacard at lists.runrev.com
> http://lists.runrev.com/mailman/listinfo/metacard

------------------------------------------------------------------
 Mark Waddingham ~ 36degrees at runrev.com ~ http://www.runrev.com
       Runtime Revolution ~ User-Centric Development Tools



More information about the metacard mailing list