Insides Clock — File Browser

InsidesClockv1.0 / InsidesClockv1.0 / clock_challenge.mrc

clock_challenge.mrc — 4.41 KB — Download this file

alias clock.win {
  window -pk @Clock 265 100 275 225
  clear @Clock
  set %clock.type ANALOG
  .timerclock 0 1 clock.show
  titlebar @Clock - %clock.type Clock
  drawrect -e @Clock $cnor 1 20 50 $calc($window(@Clock).h - 100) $calc($window(@Clock).h - 100)
  drawtext @Clock $cnor "Tahoma" 22 15 7 ANALOG Clock
  ddot
}

menu @Clock {
  sclick:{
    if ($mouse.x > $calc($window(@Clock).w - 95)) && ($mouse.x < $calc($window(@Clock).w - 25)) && ($mouse.y > 50) && ($mouse.y < 75) { set %clock.type ANALOG }
    if ($mouse.x > $calc($window(@Clock).w - 95)) && ($mouse.x < $calc($window(@Clock).w - 25)) && ($mouse.y > 80) && ($mouse.y < 105) { set %clock.type DIGITAL }
    if ($mouse.x > $calc($window(@Clock).w - 95)) && ($mouse.x < $calc($window(@Clock).w - 25)) && ($mouse.y > 110) && ($mouse.y < 135) { .timerclock off | window -c @Clock }
  }
}

alias cnor { return $colour(Normal) }
alias cbck { return $colour(Back) }
alias dtr { return $calc(3.14 / 180 * $1) }
alias xp { return $calc(((($window(@Clock).h - 100) / 2) + 20) + ($cos($dtr($1)) * (((($window(@Clock).h - 100) / 2) + 10) - $2))) }
alias yp { return $calc(((($window(@Clock).h - 100) / 2) + 50) - ($sin($dtr($1)) * (((($window(@Clock).h - 100) / 2) + 10) - $2))) }
alias dan { return $calc(360 - ($1 * 6 - 90)) }
alias danh { return $calc(360 - ($1 * 30 - 90)) }
alias cachk {
  if (%clock.type == ANALOG) { return 4 }
  if (%clock.type == DIGITAL) { return $cnor }
}
alias cdchk {
  if (%clock.type == ANALOG) { return $cnor }
  if (%clock.type == DIGITAL) { return 4 }
}

alias clock.clear {
  clear @Clock
  if (%clock.type == ANALOG) { drawrect -e @Clock $cnor 1 20 50 $calc($window(@Clock).h - 100) $calc($window(@Clock).h - 100) | ddot }
  drawtext @Clock $cnor "Tahoma" 22 15 7 %clock.type Clock
  titlebar @Clock - %clock.type Clock
  dcom
}

alias clock.show {
  clock.clear
  if (%clock.type == ANALOG) { dmin $asctime(nn) | return }
  if (%clock.type == DIGITAL) { ddig | return }
}

alias dsec {
  drawline @Clock 4 1 $calc((($window(@Clock).h - 100) / 2) + 20) $calc((($window(@Clock).h - 100) / 2) + 50) $xp($dan($1)) $yp($dan($1))
  drawrect -fe @Clock 4 1 $calc($xp($dan($1),0) - 3) $calc($yp($dan($1),0) - 3) 6 6
  dcen
}
alias dmin {
  drawline @Clock $cnor 3 $calc((($window(@Clock).h - 100) / 2) + 20) $calc((($window(@Clock).h - 100) / 2) + 50) $xp($dan($1),18) $yp($dan($1),18)
  dhr $asctime(h)
}
alias dhr {
  var %h $calc($1 + $asctime(nn) / 60)
  drawline @Clock $cnor 6 $calc((($window(@Clock).h - 100) / 2) + 20) $calc((($window(@Clock).h - 100) / 2) + 50) $xp($danh(%h),30) $yp($danh(%h),30)
  dsec $asctime(ss)
}
alias dcen {
  drawrect -fe @Clock $cbck 1 $calc((($window(@Clock).h - 100) / 2) + 15) $calc((($window(@Clock).h - 100) / 2) + 45) 10 10
  drawrect -e @Clock $cnor 1 $calc((($window(@Clock).h - 100) / 2) + 15) $calc((($window(@Clock).h - 100) / 2) + 45) 10 10
}
alias ddig {
  drawtext -o @Clock $cnor "Tahoma" $dfont 14 50 $asctime(HH:nn:ss)
  dcom
}
alias dcom {
  drawtext @Clock $cachk "Tahoma" 22 $calc($window(@Clock).w - 95) 50 ANALOG
  drawtext @Clock $cdchk "Tahoma" 22 $calc($window(@Clock).w - 95) 80 DIGITAL
  drawtext @Clock $cnor "Tahoma" 22 $calc($window(@Clock).w - 87) 110 CLOSE
}
alias ddot {
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(5),10) - 3) $calc($yp($dan(5),10) - 3) 6 6
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(10),10) - 3) $calc($yp($dan(10),10) - 3) 6 6
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(15),10) - 3) $calc($yp($dan(15),10) - 3) 6 6
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(20),10) - 3) $calc($yp($dan(20),10) - 3) 6 6
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(25),10) - 3) $calc($yp($dan(25),10) - 3) 6 6
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(30),10) - 3) $calc($yp($dan(30),10) - 3) 6 6
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(35),10) - 3) $calc($yp($dan(35),10) - 3) 6 6
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(40),10) - 3) $calc($yp($dan(40),10) - 3) 6 6
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(45),10) - 3) $calc($yp($dan(45),10) - 3) 6 6
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(50),10) - 3) $calc($yp($dan(50),10) - 3) 6 6
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(55),10) - 3) $calc($yp($dan(55),10) - 3) 6 6
  drawrect -ef @Clock $cnor 1 $calc($xp($dan(0),10) - 3) $calc($yp($dan(0),10) - 3) 6 6
}
alias dfont { return  $int($calc(($window(@Clock).h - 100) / 3.47222)) }


On *:CLOSE:@Clock:{ .timerclock off }