How to prevent unlocking the screen
Mark Schonewille
m.schonewille at economy-x-talk.com
Tue Dec 15 06:58:28 EST 2009
Hi Jacques,
When you copy a resized picture, Revolution may restore the original
dimensions. Copy the picture first, then resize the new picture, or
use the imagedata of the old picture to set the imagedata of the new
picture. If you do the latter, set the dimensions of the new picture
to formattedHeight and formattedWidth.
I strongly recommend not to use the geometry manager. Instead, write
your own scripts in a resizeStack handler. This is more reliable and
gives you more control in situations like these.
Your incomplete scripts don't give me a good impression of what is
going on, hence I can't tell you why the screen unlocks prematurely.
Do you have an answer or ask dialogue somewhere? Are you repeating or
waiting with messages perhaps?
Note that locking the screen doesn't really lock the entire screen and
not even the entire Revolution interface. It only locks windows, while
they are redrawn in memory.
In the case of your particular stack, when the resizeStack handler
runs, all other handlers have finished already, because I don't see an
explicit call to the resizeStack handler. If a handler containing the
lock screen command finishes, the screen unlocks. This means that
screen will unlock before the resizeStack handler runs.
Just a few thoughts. I hope this helps.
--
Best regards,
Mark Schonewille
Economy-x-Talk Consulting and Software Engineering
Homepage: http://economy-x-talk.com
Twitter: http://twitter.com/xtalkprogrammer
Full PayPal integration and automation in web site or (Revolution/
SuperCard/other) software. Contact me for a quote
http://economy-x-talk.com/contact.html
Op 15 dec 2009, om 12:45 heeft Jacques Hausser het volgende geschreven:
> Thanks, Mark. Works for almost everything, except for a copy of a
> picture (I have the original picture hidden and resized in the
> background, and a visible copy of it to work on). I tried two
> solutions
>
> 1) resize the original picture and recopy it in my changeStackSize
> command:
>
> command changeStackSize
> lock screen
> -- (computes and sets the new size)
> resetpicture -- (resizes the original picture and recopy it)
> end changeStackSize
>
> The picture is not resized... why ?
>
> 2) catch the resizeStack message and resize the picture from there
>
> command changeStackSize
> lock screen
> -- (computes and sets the new size)
> end changeStackSize
>
> on resizeStack
> lock screen
> revupdateGeometry
> resetpicture - (resizes the original picture and recopy it)
> end resizeStack
>
> the picture is resized OK, but you see the two successive steps on
> the screen...
> Needless to say that resetpicture is the same in both cases...
>
> Jacques
More information about the use-livecode
mailing list