Resizing During Resizing
Eric Chatonet
eric.chatonet at sosmartsoftware.com
Sun Nov 13 12:33:14 EST 2005
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 at 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 eric.chatonet at sosmartsoftware.com/
Phone 33 (0)1 43 31 77 62
Mobile 33 (0)6 20 74 50 86
----------------------------------------------------------------
More information about the use-livecode
mailing list