Hi All,

I want to be able to change the height or width of a stack from inside the stack's resizeStack handler without triggering a second resizeStack message.

I have created a portfolio of photographs of my wife's art. All photos have a 3 (w) to 2 (h) orientation/proportion and the stack layout is designed to retain same. In resizeStack, I check to see whether the user has resized the height to a greater degree than the width or vice versa, and then change the other dimension to retain the 3 to 2 proportion. Here is a test handler based on my handler:

on resizeStack newWidth,newHeight,oldWidth,oldHeight
  beep
  lock screen
  put abs(newWidth-oldWidth) into widthDifference
  put abs(newHeight-oldHeight) into heightDifference
  lock messages
if widthDifference >= heightDifference then set the height of this stack to trunc((newWidth/3)*2)
  else set the width of this stack to trunc((newHeight/2)*3)
  unlock messages
  unlock screen
end resizeStack

When I run this handler I hear two beeps, indicating that a resizeStack message is sent when a stack dimension is changed, even though I have locked messages. I suppose I could add logic to set and check a local variable; but I'm wondering--

        * Does this happen in 2.6.1?
        * Why does the second resizeStack message get sent when messages are 
locked?
* Why doesn't the logic loop recursively (ie: why doesn't the second resizeStack message trigger a third)?

Rob Cozens CCW
Serendipity Software Company

"And I, which was two fooles, do so grow three;
 Who are a little wise, the best fooles bee."

 from "The Triple Foole" by John Donne (1572-1631)

_______________________________________________
use-revolution mailing list
use-revolution@lists.runrev.com
Please visit this url to subscribe, unsubscribe and manage your subscription 
preferences:
http://lists.runrev.com/mailman/listinfo/use-revolution

Reply via email to