Hi Rob,

just add an "exit to top":

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)

  exit to top

  unlock messages
  unlock screen
end resizeStack

Hope this helps :-)
Best Regards from Paris,

Eric Chatonet.

PS. Same behaviour with 2.6.1 here.

Le 13 nov. 05 à 17:19, Rob Cozens a écrit :

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

----------------------------------------------------------------
So Smart Software

For institutions, companies and associations
Built-to-order applications: management, multimedia, internet, etc.
Windows, Mac OS and Linux... With the French touch

Free plugins and tutorials on my website
----------------------------------------------------------------
Web site        http://www.sosmartsoftware.com/
Email        [EMAIL PROTECTED]/
Phone        33 (0)1 43 31 77 62
Mobile        33 (0)6 20 74 50 86
----------------------------------------------------------------

_______________________________________________
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