Mac OS X - how to darken screen?

Phil Davis revdev at pdslabs.net
Sat Sep 18 14:33:49 EDT 2010


  Good idea. On a couple of my machines (one Mac, one Win) the speed was so fast 
that the fade was almost undetectable, so I went with:

repeat with N = 100 down to 1
    set the blendLevel of stack "screencover" to N
    wait 4 milliseconds with messages
end repeat

... and a similar repeat with N = 1 to 100.

That made the fade last .4 sec to about 1 sec depending on the machine, which is 
an acceptable range for my need. Thanks for the ideas!

Phil



On 9/17/10 5:16 PM, Scott Rossi wrote:
> Phil:
>
> I don't know if you tried Klaus's suggestion (programmatically setting the
> blendLevel), but you'll have more control compared to using the built-in
> dissolve effect, and if I'm not mistaken the dissolve will look like crap on
> Windows without QT installed.  Just a suggestion.
>
> on mouseUp
>     put the screenRect into pTargetScreenRect
>     showBlackScreen pTargetScreenRect
>     wait 3 seconds with messages
>     send "showNormalScreen" to me
> end mouseUp
>
> command showBlackScreen pTargetScreenRect
>     # pTargetScreenRect = the rect of your target screen
>     -- make a 'cover' stack to fill screen
>     create inv stack "screencover" -- temp stack, no need to save it
>     set the backgroundColor of stack "screencover" to black
>     set the blendLevel of stack "screencover" to 100 -- transparent
>     palette stack "screencover" -- make this stack the frontmost layer
>     set the rect of stack "screencover" to pTargetScreenRect -- size to
> screen
>     show stack "screencover" -- but it's still transparent
>     -- make the screen go dark
>     repeat with N = 19 down to 0
>        set blendLevel of stack "screencover" to N * 5
>        wait 20 millisecs with messages
>     end repeat
> end showBlackScreen
>
> command showNormalScreen
>     -- make the screen look normal again
>     repeat with N = 1 to 20
>        set blendLevel of stack "screencover" to N * 5
>        wait 20 millisecs with messages
>     end repeat
>     delete stack "screencover" -- end the stack's existence
> end showNormalScreen
>
>
> Best Regards,
>
> Scott Rossi
> Creative Director
> Tactile Media, UX Design
>
>
>
>
> Recently, Phil Davis wrote:
>
>>    Thanks so much everyone! Great tips all. Here is my final code, tested on
>> Mac
>> OS X 10.5.8 and Windows 7:
>>
>> command showBlackScreen pTargetScreenRect
>>      # pTargetScreenRect = the rect of your target screen
>>
>>      -- make a 'cover' stack to fill screen
>>      create inv stack "screencover" -- temp stack, no need to save it
>>      set the backgroundColor of stack "screencover" to black
>>      set the blendLevel of stack "screencover" to 100 -- transparent
>>      palette stack "screencover" -- make this stack the frontmost layer
>>      set the rect of stack "screencover" to pTargetScreenRect -- make it same
>> size as screen
>>      show stack "screencover" -- but it's still transparent
>>
>>      -- make the screen go dark
>>      lock screen -- hide changes until all is ready for display
>>      set the blendLevel of stack "screencover" to 1 -- almost opaque (0 causes
>> flash on Win 7)
>>      set the defaultStack to "screencover" -- to make dissolve work right
>>      unlock screen with effect dissolve fast -- to reveal black stack
>> end showBlackScreen
>>
>>
>>
>> command showNormalScreen
>>      -- make the screen look normal again
>>      lock screen -- hide changes until all is ready for display
>>      set the defaultStack to "screencover" -- to make dissolve work right
>>      set the blendLevel of stack "screencover" to 100 -- transparent
>>      unlock screen with effect dissolve fast -- to reveal normal screen
>>      delete stack "screencover" -- end the stack's existence
>> end showNormalScreen
>>
>>
>> Best -
>> Phil
>>
>
>
> _______________________________________________
> 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
>

-- 
Phil Davis

PDS Labs
Professional Software Development
http://pdslabs.net




More information about the use-livecode mailing list