' "K'elle Danse"
' For 1920x1080 display
PrgVersion$ = "0-0-1-1"
NOMAINWIN
FilenameNow$ = ""
FilenameNext$ = ""
' Load danse list from file "Config.ini"
DIM Dance$(31)
OPEN "Config.ini" FOR input AS #ConfigFile
DO
INPUT #ConfigFile, Dance$
Dance$(index) = Dance$
index = index + 1
LOOP UNTIL index >= 31
CLOSE #ConfigFile
' Load background images
LOADBMP "Now", DefaultDir$ + "\" + "_Now.bmp"
LOADBMP "Next", DefaultDir$ + "\" + "_Next.bmp"
GRAPHICBOX #Main.GBx1,0,0,1920,540 ' top "Now" image
STYLEBITS #Main.GBx1,0,_WS_BORDER,0,0 'remove image's border
GRAPHICBOX #Main.GBx2,0,540,1920,540 ' bottom "Next" image
STYLEBITS #Main.GBx2,0,_WS_BORDER,0,0 'remove image's border
GRAPHICBOX #SideMenu.GBx1,0,0,200,1080 ' "Menu" image
STYLEBITS #SideMenu.GBx1,0,_WS_BORDER,0,0 'remove image's border
BackgroundColor$ = "darkred" ' this color setting MUST stay before the STATICTEXT!!!
STATICTEXT #SideMenu.STx0, " " + Dance$(0) ,10, 20,200,20
STATICTEXT #SideMenu.STx1, " " + Dance$(1) ,10, 50,200,20
STATICTEXT #SideMenu.STx2, " " + Dance$(2) ,10, 80,200,20
STATICTEXT #SideMenu.STx3, " " + Dance$(3) ,10, 110,200,20
STATICTEXT #SideMenu.STx4, " " + Dance$(4) ,10, 140,200,20
STATICTEXT #SideMenu.STx5, " " + Dance$(5) ,10, 170,200,20
STATICTEXT #SideMenu.STx6, " " + Dance$(6) ,10, 200,200,20
STATICTEXT #SideMenu.STx7, " " + Dance$(7) ,10, 230,200,20
STATICTEXT #SideMenu.STx8, " " + Dance$(8) ,10, 260,200,20
STATICTEXT #SideMenu.STx9, " " + Dance$(9) ,10, 290,200,20
STATICTEXT #SideMenu.STx10," " + Dance$(10),10, 320,200,20
STATICTEXT #SideMenu.STx11," " + Dance$(11),10, 350,200,20
STATICTEXT #SideMenu.STx12," " + Dance$(12),10, 380,200,20
STATICTEXT #SideMenu.STx13," " + Dance$(13),10, 410,200,20
STATICTEXT #SideMenu.STx14," " + Dance$(14),10, 440,200,20
STATICTEXT #SideMenu.STx15," " + Dance$(15),10, 470,200,20
STATICTEXT #SideMenu.STx16," " + Dance$(16),10, 500,200,20
STATICTEXT #SideMenu.STx17," " + Dance$(17),10, 530,200,20
STATICTEXT #SideMenu.STx18," " + Dance$(18),10, 560,200,20
STATICTEXT #SideMenu.STx19," " + Dance$(19),10, 590,200,20
STATICTEXT #SideMenu.STx20," " + Dance$(20),10, 620,200,20
STATICTEXT #SideMenu.STx21," " + Dance$(21),10, 650,200,20
STATICTEXT #SideMenu.STx22," " + Dance$(22),10, 680,200,20
STATICTEXT #SideMenu.STx23," " + Dance$(23),10, 710,200,20
STATICTEXT #SideMenu.STx24," " + Dance$(24),10, 740,200,20
STATICTEXT #SideMenu.STx25," " + Dance$(25),10, 770,200,20
STATICTEXT #SideMenu.STx26," " + Dance$(26),10, 800,200,20
STATICTEXT #SideMenu.STx27," " + Dance$(27),10, 830,200,20
STATICTEXT #SideMenu.STx28," " + Dance$(28),10, 860,200,20
STATICTEXT #SideMenu.STx29," " + Dance$(29),10, 890,200,20
STATICTEXT #SideMenu.STx30," " + Dance$(30),10,1000,200,20
[MAIN]
' Main window - background
UpperLeftX = 0
UpperLeftY = 0
WindowWidth = 1920
WindowHeight = 1080
OPEN "Now & Next" FOR window_popup AS #Main 'no title, not resizable
#Main "TRAPCLOSE [QUIT]"
#Main.GBx1 "down"
#Main.GBx1 "drawbmp Now 0 0"
#Main.GBx1 "when leftButtonDown [MouseLeftButton]"
#Main.GBx1 "when mouseMove [MouseMove]"
#Main.GBx2 "down"
#Main.GBx2 "drawbmp Next 0 0"
#Main.GBx2 "when leftButtonDown [MouseLeftButton]"
#Main.GBx2 "when mouseMove [MouseMove]"
' Side menu - dance selector
UpperLeftX = 1720
UpperLeftY = 0
WindowWidth = 190
WindowHeight = 1080
ForegroundColor$ = "white"
OPEN "Side Menu" FOR window_popup AS #SideMenu 'no title, not resizable
STYLEBITS #SideMenu,0,_WS_VISIBLE,0,0 ' startup hidden (not visible)
#SideMenu "font tahoma 12 bold"
#SideMenu.GBx1 "down; fill darkred"
#SideMenu.GBx1 "when LeftButtonDown [DanceSelection]"
WAIT
[QUIT]
CLOSE #SideMenu
CLOSE #Main
END
[REFRESH]
UNLOADBMP "Now" 'free-up memory
LOADBMP "Now", DefaultDir$+"\"+FilenameNow$+"_Now.bmp"
#Main.GBx1 "down"
#Main.GBx1 "drawbmp Now 0 0"
UNLOADBMP "Next" 'free-up memory
LOADBMP "Next", DefaultDir$+"\"+FilenameNext$+"_Next.bmp"
#Main.GBx2 "down"
#Main.GBx2 "drawbmp Next 0 0"
WAIT
[MouseLeftButton]
IF MouseX = 0 AND MouseY < 10 THEN [ABOUT] 'upper left screen edge "About..."
IF MouseX = 0 AND MouseY > 530 THEN [QUIT] '"Quitter"
WAIT
[MouseMove] 'get mouse's XY position - for programming purpose
IF MouseX > 1720 AND MouseX < 1900 THEN #SideMenu "show"
IF MouseX < 1720 THEN #SideMenu "hide"
IF MouseX > 1910 THEN #SideMenu "hide"
WAIT
[DanceSelection]
FilenameNow$ = FilenameNext$
IF MouseY < 45 THEN FilenameNext$ = Dance$(0) GOTO [REFRESH]
IF MouseY >= 45 AND MouseY < 75 THEN FilenameNext$ = Dance$(1) GOTO [REFRESH]
IF MouseY >= 75 AND MouseY < 105 THEN FilenameNext$ = Dance$(2) GOTO [REFRESH]
IF MouseY >= 105 AND MouseY < 135 THEN FilenameNext$ = Dance$(3) GOTO [REFRESH]
IF MouseY >= 135 AND MouseY < 165 THEN FilenameNext$ = Dance$(4) GOTO [REFRESH]
IF MouseY >= 165 AND MouseY < 195 THEN FilenameNext$ = Dance$(5) GOTO [REFRESH]
IF MouseY >= 195 AND MouseY < 225 THEN FilenameNext$ = Dance$(6) GOTO [REFRESH]
IF MouseY >= 225 AND MouseY < 255 THEN FilenameNext$ = Dance$(7) GOTO [REFRESH]
IF MouseY >= 255 AND MouseY < 285 THEN FilenameNext$ = Dance$(8) GOTO [REFRESH]
IF MouseY >= 285 AND MouseY < 315 THEN FilenameNext$ = Dance$(9) GOTO [REFRESH]
IF MouseY >= 315 AND MouseY < 345 THEN FilenameNext$ = Dance$(10) GOTO [REFRESH]
IF MouseY >= 345 AND MouseY < 375 THEN FilenameNext$ = Dance$(11) GOTO [REFRESH]
IF MouseY >= 375 AND MouseY < 405 THEN FilenameNext$ = Dance$(12) GOTO [REFRESH]
IF MouseY >= 405 AND MouseY < 435 THEN FilenameNext$ = Dance$(13) GOTO [REFRESH]
IF MouseY >= 435 AND MouseY < 465 THEN FilenameNext$ = Dance$(14) GOTO [REFRESH]
IF MouseY >= 465 AND MouseY < 495 THEN FilenameNext$ = Dance$(15) GOTO [REFRESH]
IF MouseY >= 495 AND MouseY < 525 THEN FilenameNext$ = Dance$(16) GOTO [REFRESH]
IF MouseY >= 525 AND MouseY < 555 THEN FilenameNext$ = Dance$(17) GOTO [REFRESH]
IF MouseY >= 555 AND MouseY < 585 THEN FilenameNext$ = Dance$(18) GOTO [REFRESH]
IF MouseY >= 585 AND MouseY < 615 THEN FilenameNext$ = Dance$(19) GOTO [REFRESH]
IF MouseY >= 615 AND MouseY < 645 THEN FilenameNext$ = Dance$(20) GOTO [REFRESH]
IF MouseY >= 645 AND MouseY < 675 THEN FilenameNext$ = Dance$(21) GOTO [REFRESH]
IF MouseY >= 675 AND MouseY < 705 THEN FilenameNext$ = Dance$(22) GOTO [REFRESH]
IF MouseY >= 705 AND MouseY < 735 THEN FilenameNext$ = Dance$(23) GOTO [REFRESH]
IF MouseY >= 735 AND MouseY < 765 THEN FilenameNext$ = Dance$(24) GOTO [REFRESH]
IF MouseY >= 765 AND MouseY < 795 THEN FilenameNext$ = Dance$(25) GOTO [REFRESH]
IF MouseY >= 795 AND MouseY < 825 THEN FilenameNext$ = Dance$(26) GOTO [REFRESH]
IF MouseY >= 825 AND MouseY < 855 THEN FilenameNext$ = Dance$(27) GOTO [REFRESH]
IF MouseY >= 855 AND MouseY < 885 THEN FilenameNext$ = Dance$(28) GOTO [REFRESH]
IF MouseY >= 885 AND MouseY < 915 THEN FilenameNext$ = Dance$(29) GOTO [REFRESH]
IF MouseY >= 915 THEN FilenameNext$ = "" GOTO [REFRESH]
WAIT
[ABOUT]
NOTICE "à propos de..."+CHR$(13)+_
" --- K'elle Danse ---"+CHR$(13)+CHR$(13)+_
"version "+PrgVersion$+" / résolution 1920x1080"+CHR$(13)+CHR$(13)
WAIT