Deep-mask feature and alwaysbuffer

Wilhelm Sanke sanke at hrz.uni-kassel.de
Sat Jun 25 17:10:31 EDT 2005


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




More information about the use-livecode mailing list