Yab2Cpp/yab-IDE/Programs/Examples/DrawWorld.yab
2015-04-13 13:40:27 -07:00

198 lines
5.1 KiB
Plaintext
Executable File

#!yab
window open 100,100 to 700,500, "MainView", "DrawWorld"
// MainView
draw set "highcolor", 0,0,0, "MainView"
draw set "lowcolor", 235,235,235, "MainView"
draw set "bgcolor", 235,235,235, "MainView"
draw set 0, "HighSolidFill"
if(peek$("os") = "Haiku") then
draw set "DejaVu Sans,Condensed Bold,48", "MainView"
else
draw set "Zurich,Bold,48", "MainView"
endif
draw text 175,50, "DrawWorld", "MainView"
button 510,370 to 590,390, "NextButton", "Next", "MainView"
// Our drawing pad
view 100,60 to 500,390, "DrawView", "MainView"
draw set "highcolor", 0,0,0, "DrawView"
draw set "lowcolor", 255,255,255, "DrawView"
draw set "bgcolor", 255,255,255, "DrawView"
// Dot and line
draw set "Zurich,Bold,18", "DrawView"
draw text 135,20, "Dot and Line", "DrawView"
xold = 40
yold = 260
for a=10 to 720 step 10
x = 10+a*180/360
y = 230+60*sin(a*pi/180)
draw line xold,yold to x,y, "DrawView"
xold = x + 30
yold = y + 30
next a
for a = 0 to 720 step 10
x = 10+a*180/360
y = 100+60*sin(a*pi/180)
draw dot x,y, "DrawView"
next a
while(not instr(msg$,"NextButton"))
msg$ = message$
if(instr(msg$, "Quit")) then
window close "MainView"
end
endif
sleep 0.1
wend
msg$ = ""
draw rect 0,0 to 400,330, "DrawView"
draw flush "DrawView"
draw set 1, "HighSolidFill"
// Circle and ellipse
draw set "Zurich,Bold,18", "DrawView"
draw text 135,20, "Circle and Ellipse", "DrawView"
// draw set 1, "LowSolidFill"
draw circle 70,70, 36, "DrawView"
draw set "highcolor", 0,0,245, "DrawView"
draw dot 70,70, "DrawView"
draw line 72,70 to 105,70, "DrawView"
draw line 105,70 to 100,65, "DrawView"
draw line 105,70 to 100,75, "DrawView"
draw text 85,68, "r", "DrawView"
draw set "highcolor", 0,0,0, "DrawView"
draw ellipse 210,70, 72, 36, "DrawView"
draw set "highcolor", 0,0,245, "DrawView"
draw dot 210,70, "DrawView"
draw line 212,70 to 282,70, "DrawView"
draw line 282,70 to 277,65, "DrawView"
draw line 282,70 to 277,75, "DrawView"
draw line 210,68 to 210,34, "DrawView"
draw line 210,34 to 215,39, "DrawView"
draw line 210,34 to 205,39, "DrawView"
draw text 235,68, "rx", "DrawView"
draw text 192,57, "ry", "DrawView"
for i = 0 to 255 step 5
draw set "highcolor", i,0,0, "DrawView"
draw ellipse i+90, 230, 72-i/5, 36+i/5, "DrawView"
next i
draw set "highcolor", 0,0,0, "DrawView"
while(not instr(msg$,"NextButton"))
msg$ = message$
if(instr(msg$, "Quit")) then
window close "MainView"
end
endif
sleep 0.1
wend
msg$ = ""
draw rect 0,0 to 400,330, "DrawView"
draw flush "DrawView"
draw set "lowcolor", 255,255,255, "DrawView"
draw set 1, "HighSolidFill"
// Bezier curve
draw set "Zurich,Bold,18", "DrawView"
draw text 135,20, "Bezier Curve", "DrawView"
draw set "highcolor", 50,50,250, "DrawView"
draw circle 30,100, 3, "DrawView"
draw circle 70,60, 3, "DrawView"
draw circle 100,40, 3, "DrawView"
draw circle 140,90, 3, "DrawView"
draw line 30,100 to 70,60, "DrawView"
draw line 70,60 to 100,40, "DrawView"
draw line 100,40 to 140,90, "DrawView"
draw set "highcolor", 0,0,0, "DrawView"
draw curve 30,100, 70,60, 100,40, 140,90, "DrawView"
draw set "highcolor", 50,50,250, "DrawView"
draw circle 170,100, 3, "DrawView"
draw circle 190,40, 3, "DrawView"
draw circle 250,40, 3, "DrawView"
draw circle 265,90, 3, "DrawView"
draw line 170,100 to 190,40, "DrawView"
draw line 190,40 to 250,40, "DrawView"
draw line 250,40 to 265,90, "DrawView"
draw set "highcolor", 0,0,0, "DrawView"
draw curve 170,100, 190,40, 250,40, 265,90, "DrawView"
draw set "highcolor", 50,50,250, "DrawView"
draw circle 350,40, 3, "DrawView"
draw circle 300,10, 3, "DrawView"
draw circle 290,200, 3, "DrawView"
draw circle 350,140, 3, "DrawView"
draw line 350,40 to 300,10, "DrawView"
draw line 300,10 to 290,200, "DrawView"
draw line 290,200 to 350,140, "DrawView"
draw set "highcolor", 0,0,0, "DrawView"
draw set 0, "HighSolidFill"
draw curve 350,40, 300,10, 290,200, 350,140, "DrawView"
draw set 1, "HighSolidFill"
draw curve 10,300, 120,100, 170,100, 390,300, "DrawView"
while(not instr(msg$,"NextButton"))
msg$ = message$
if(instr(msg$, "Quit")) then
window close "MainView"
end
endif
sleep 0.1
wend
msg$ = ""
draw rect 0,0 to 400,330, "DrawView"
draw flush "DrawView"
// Pattern
draw set "Zurich,Bold,18", "DrawView"
draw text 165,20, "Pattern", "DrawView"
draw text 47,40, "HighSolidFill", "DrawView"
draw text 247,40, "LowSolidFill", "DrawView"
draw text 43,190, "CheckeredFill", "DrawView"
draw text 247,190, "Userdefined", "DrawView"
draw set "highcolor", 50,50,250, "DrawView"
draw set "lowcolor", 250,50,50, "DrawView"
draw set 0, "HighSolidFill"
draw rect 40,50 to 160,130, "DrawView"
draw set 0, "LowSolidFill"
draw rect 240,50 to 360,130, "DrawView"
draw set 0, "CheckeredFill"
draw rect 40,200 to 160,280, "DrawView"
pattern$ = "255239171199001199171239"
draw set 0, pattern$
draw rect 240,200 to 360,280, "DrawView"
draw set 0, "255255255255255255255255"
draw rect 40,50 to 160,130, "DrawView"
draw set "highcolor", 0,0,0, "DrawView"
draw set "lowcolor", 255,255,255, "DrawView"
while(not instr(msg$,"NextButton"))
msg$ = message$
if(instr(msg$, "Quit")) then
window close "MainView"
end
endif
sleep 0.1
wend
window close "MainView"