Code: Select all
MODE 8
VDU 5
PROCcolor("b","black")
CLG
REPEAT
IF FNrbutton(100,100,"on")="on" THEN PROCcolor("f","white"): MOVE 100,500: PRINT " THE BUTTON IS ON "
IF FNrbutton(100,100,"on")="0" THEN PROCcolor("f","000,000,000"):MOVE 100,500:PRINT" THE BUTTON IS ON"
UNTIL FALSE
END
REM for radio button (toggle on/off switch) or object
REM********* bname$- gives the object button a number 0 - 20
DEFFNrbutton(x%,y%,bname$)
LOCAL si%,mx%,my%,mb%,br%,bg%,bb%
MOUSE mx%,my%,mb%
PROCrgbret(x%,y%,br%,bg%,bb%)
PROCdotsize(1)
PROCcolor("f","white")
CIRCLE x%,y%,20
PROCcolor("f","15")
PROCdotsize(2)
CIRCLE x%,y%,19
PROCdotsize(2)
IF mx%>x%-15 AND mx%< x%+15 AND my%<y%+15 AND my%>y%-15 THEN CIRCLE x%,y%,12 ELSE PROCcolor("f","black") CIRCLE x%,y%,12
IF mx%>x%-15 AND mx%< x%+15 AND my%<y%+15 AND my%>y%-15 AND mb%=4 THEN
PROCcolor("b","255,255,255")
IF br%=0 AND bg%=0 AND bb%=0 THEN CIRCLE FILL x%,y%,12 ELSE PROCcolor("b","000,000,000"):PROCcolor("f","0"):CIRCLE FILL x%,y%,12
ENDIF
REM required to give mouse a pace so you get a better response & to keep cpu cool
WAIT 17
PROCrgbret(x%,y%,br%,bg%,bb%)
IF br%=0 AND bg%=0 AND bb%=0 THEN ="0"
=bname$
REM *****SPECIAL RGB tools (color extraction) has use with PROCdotrgb
DEF PROCrgbret(x%,y%,RETURN r%,RETURN g%,RETURN b%)
LOCAL rgb%
rgb%=TINT(x%,y%)
r%=rgb% AND &FF
g%=rgb%>>8 AND &FF
b%=rgb%>>16 AND &FF
ENDPROC
REM Set pixel thickness
DEFPROCdotsize(n)
VDU 23,23,n|
ENDPROC
REM restore default color palettes
DEFPROCresetrgb
COLOUR 0,0,0,0 :COLOUR 1,200,0,0 :COLOUR 2,000,200,000
COLOUR 3,200,200,000:COLOUR 4,000,000,200:COLOUR 5,200,000,200
COLOUR 6,000,200,200:COLOUR 7,200,200,200:COLOUR 8,056,056,056
COLOUR 9,248,056,056:COLOUR 10,056,248,056:COLOUR 11,248,248,056
COLOUR 12,056,056,248:COLOUR 13,248,056,248:COLOUR 14,056,248,248
COLOUR 15,248,248,248
ENDPROC
DEF PROCcolor(fb$,rgb$)
PRIVATE assemble$,br%,bg%,bb%
IF rgb$="0" OR rgb$="black" THEN rgb$="000,000,000"
IF rgb$="1" OR rgb$="red" THEN rgb$="200,000,000"
IF rgb$="2" OR rgb$="green" THEN rgb$="000,200,000"
IF rgb$="3" OR rgb$="yellow" THEN rgb$="200,200,000"
IF rgb$="4" OR rgb$="blue" THEN rgb$="000,000,200"
IF rgb$="5" OR rgb$="magenta" THEN rgb$="200,000,200"
IF rgb$="6" OR rgb$="cyan" THEN rgb$="000,200,200"
IF rgb$="7" OR rgb$="white" THEN rgb$="200,200,200"
IF rgb$="8" OR rgb$="grey" THEN rgb$="056,056,056"
IF rgb$="9" OR rgb$="light red" THEN rgb$="248,056,056"
IF rgb$="10" OR rgb$="light green" THEN rgb$="056,248,056"
IF rgb$="11" OR rgb$="light yellow" THEN rgb$="248,248,056"
IF rgb$="12" OR rgb$="light blue" THEN rgb$="056,056,248"
IF rgb$="13" OR rgb$="light magenta" THEN rgb$="248,056,248"
IF rgb$="14" OR rgb$="light cyan" THEN rgb$="056,248,248"
IF rgb$="15" OR rgb$="light white" THEN rgb$="248,248,248"
assemble$=rgb$
br%=VAL(MID$(assemble$,1,3)):bg%=VAL(MID$(assemble$,5,3)):bb%=VAL(MID$(assemble$,9,3))
IF fb$="f" OR fb$="F" THEN COLOUR 0,br%,bg%,bb% : GCOL 0
IF fb$="b" OR fb$="B" THEN COLOUR 1,br%,bg%,bb% : GCOL 128+1
ENDPROC