#####################################################################
# WelcomeWindow v1.0
# Description: Pop-up welcome window with animated glitter effect.
# Author: Epic
# Email: epicnet@mail.ru
# Site: http://epicnet.ru
#####################################################################
on *:START: .timerWWSTART -m 1 1000 ww
alias ww { ww_setting | ww_window | ww_window_decor | ww_text_color }
=====================================================
alias -l ww_setting {
.hadd -m ww text Hello, $+($me,!) :)))
.hadd -m ww win-name @Welcome
.hadd -m ww win-size-x 20
.hadd -m ww win-size-y -10
.hadd -m ww margin-w 50
.hadd -m ww margin-h 30
.hadd -m ww color-bg $rgb(14,12,18)
.hadd -m ww color-line $rgb(91,76,116)
.hadd -m ww color-text $rgb(147,122,187)
.hadd -m ww font ComicSansMS
.hadd -m ww fsize 28
.hadd -m ww start-color 91
.hadd -m ww end-color 97
.hadd -m ww time-speed-color 150
.hadd -m ww time-closing 5000
}
=====================================================
alias -l ww_window {
set %ww_w $calc($width($hget(ww,text),$hget(ww,font),$hget(ww,fsize),0,1) + ($hget(ww,margin-w) *2))
set %ww_h $calc($height($hget(ww,text),$hget(ww,font),$hget(ww,fsize)) + ($hget(ww,margin-h) *2))
set %ww_mw $int($calc($window(-3).dw /2 + $hget(ww,win-size-x)))
set %ww_x $calc($window(-2).dx + %ww_mw)
set %ww_mh $int($calc($window(-3).dh /2 + $hget(ww,win-size-y)))
set %ww_y $calc($window(-2).dy + %ww_mh)
.window -pdBhiok0w0 +dL $hget(ww,win-name) %ww_x %ww_y %ww_w %ww_h | .window -a $hget(ww,win-name)
.timerWW -m 1 $hget(ww,time-closing) .window -c $hget(ww,win-name)
}
=====================================================
alias -l ww_window_decor {
.drawfill -r $hget(ww,win-name) $hget(ww,color-bg) %ww_w %ww_h 0 0
.drawline -r $hget(ww,win-name) $hget(ww,color-line) 1 0 0 %ww_w 0
.drawline -r $hget(ww,win-name) $hget(ww,color-line) 1 0 $calc(%ww_h -1) %ww_w $calc(%ww_h -1)
.drawline -r $hget(ww,win-name) $hget(ww,color-line) 1 0 0 0 %ww_h
.drawline -r $hget(ww,win-name) $hget(ww,color-line) 1 $calc(%ww_w -1) 0 $calc(%ww_w -1) $calc(%ww_h -1)
}
=====================================================
alias -l ww_text_color {
if (!%ww_cc) { set %ww_cc $hget(ww,start-color) }
if (%ww_cc <= $hget(ww,start-color)) set %ww_nc 1
if (%ww_cc >= $hget(ww,end-color)) set %ww_nc 2
if (%ww_nc == 1) inc %ww_cc | if (%ww_nc == 2) dec %ww_cc
if ($hget(ww,ctext)) .hdel -sw ww ctext
var %ww_ct $replace($hget(ww,text),$chr(32),$chr(160))
var %ww_cl $len(%ww_ct) | var %ww_e %ww_cc | var %ww_w 1
var %ww_q 1 | while (%ww_q <= %ww_cl) {
.hadd -m ww ctext $+($hget(ww,ctext),$chr(3),%ww_e,$mid(%ww_ct,%ww_q,1))
inc %ww_q | if (%ww_w == 1) inc %ww_e | if (%ww_w == 2) dec %ww_e
if (%ww_e <= $hget(ww,start-color)) var %ww_w 1 | if (%ww_e >= $hget(ww,end-color)) var %ww_w 2
}
if ($window($hget(ww,win-name))) {
ww_window_decor
.drawtext -pr $hget(ww,win-name) $hget(ww,color-text) $hget(ww,font) $hget(ww,fsize) $hget(ww,margin-w) $hget(ww,margin-h) $hget(ww,ctext)
.timerWWTC -m 1 $hget(ww,time-speed-color) ww_text_color
}
}
=====================================================