event.load
extern.close("{APP_NAME}") // Only one instance allowed
app.init("{APP_ID}", "{APP_NAME}", "{APP_VERSION}", "{APP_BUILD}", "{CREATE_LOG}")
window.main.pos.now(250,150)
window.main.shape.load("face.bmp")
&imgH = draw.mem.createFromFile("H.jpg")
&imgM = draw.mem.createFromFile("M.jpg")
&imgS = draw.mem.createFromFile("S.jpg")
&iNum = draw.mem.createFromFile("number.jpg")
&imgmain = draw.mem.createFromFile("face.bmp")
&Map = draw.mem.createFromFile("map.bmp")
&iStop = draw.mem.createFromFile("stop.jpg")
// To set time
&Mode = Standby
draw.main.copyFrom.&imgH(0,0,12,9,39,50,12,9)
&H = 0
&M = 0
&S = 5
drawNum()
EraseHMS()
&bMode = S
draw.main.copyFrom.&imgS(0,0,12,9,69,50,12,9)
event.end
// Mouse Pointer
event.mouse:move
if(draw.&Map.GetPixel(mouse.main.x(), mouse.main.y()) > 0)
mouse.main.Cursor(hotspot)
if.else
mouse.main.Cursor(normal)
if.end
event.end
// Click - Using a color map to detect the button/area
event.mouse:up
&c = draw.&Map.GetPixel(mouse.main.x(), mouse.main.y())
if(&c > 0)
if(&c = 16711935)
if(&Mode = standBy)
&m_s = &m
&h_s = &h
&s_s = &s
&Mode = Chrono
DrawNum()
time.chrono.start()
&Target = 1000
doEvent.Chrono
if.else
&Mode = StandBy
&m = &m_s
&h = &h_s
&s = &s_s
DrawNum()
if.end
if.end
if(&c = num.rgb(0, 255, 0)) // H
EraseHMS()
draw.main.copyFrom.&imgH(0,0,12,9,39,50,12,9)
&bMode = H
if.end
if(&c = num.rgb(255, 255, 0)) // MN
EraseHMS()
draw.main.copyFrom.&imgM(0,0,12,9,54,50,12,9)
&bMode = M
if.end
if(&c = num.rgb(255, 0, 0)) // S
EraseHMS()
draw.main.copyFrom.&imgS(0,0,12,9,69,50,12,9)
&bMode = S
if.end
if(&c = 7568177) // left button
if(&bMode = H)
Var.Dec(h, 1, 0, 23)
if.end
if(&bMode = M)
Var.Dec(m, 1, 0, 59)
if.end
if(&bMode = S)
Var.Dec(s, 1, 0, 59)
if.end
DrawNum()
if.end
if(&c = 13557289) // right button
if(&bMode = H)
Var.Inc(h, 1, 24, 0)
if.end
if(&bMode = M)
Var.Inc(m, 1, 60, 0)
if.end
if(&bMode = S)
Var.Inc(s, 1, 60, 0)
if.end
DrawNum()
if.end
sound.play(path.rsc("tap.wav"))
draw.main.paint()
if.end
event.end
function.EraseHMS
draw.main.copyFrom.&imgmain(39, 50,45, 9, 39, 50,45, 9)
function.end
function.DrawNum
&hh = ?(&h < 10, X&h, &h)
&mm = ?(&m < 10, X&m, &m)
&ss = ?(&s < 10, X&s, &s)
DrawNumItem(&hh, 32)
DrawNumItem(&mm, 52)
DrawNumItem(&ss, 72)
if(&Mode = StandBy)
draw.main.copyFrom.&imgmain(32, 83, 54, 20, 32, 83, 54, 20)
if.else
draw.main.copyFrom.&iStop(0, 0, 54, 20, 32, 83, 54, 20)
if.end
draw.main.paint()
function.end
function.DrawNumItem(&Item, &Left)
draw.main.copyFrom.&iNum(0,Str.Sub(&Item, 0)*12,8,12,&left,65,8,12)
draw.main.copyFrom.&iNum(0,Str.Sub(&Item, 1)*12,8,12,&left+8,65,8,12)
function.end
event.Chrono
if(&Mode = Chrono)
&st = time.chrono.stop()
if(&st >= &Target)
&Target = &st + 1000
if(var.dec(s) < 0)
&s = 59
if(var.dec(m) < 0)
&m = 59
if(var.dec(h)< 0)
&Mode = Ring
&m = &m_s
&h = &h_s
&s = &s_s
DrawNum()
&Ring = 10
doEvent.Ring()
if.end
if.end
if.end
DrawNum()
if.end
if(&Mode = Chrono)
doEvent.Chrono(10)
if.end
if.end
event.end
event.Ring
if(var.dec(Ring) > 0 && &Mode = Ring)
sound.play(path.rsc("alarm.wav"))
doEvent.Ring(1000)
if.else
&Mode = StandBy
DrawNum()
if.end
event.end
|