-
-
Save iArnold/47b550871cba564ad1980ab611ed8eca to your computer and use it in GitHub Desktop.
Test script for Red/View Android backend
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Red [ | |
Title: "Red Android bridge demo" | |
Author: "Nenad Rakocevic" | |
File: %eval2.red | |
Config: [type: 'dll libRed?: no libRedRT?: yes export-ABI: 'cdecl] | |
Tabs: 4 | |
Needs: 'View | |
Rights: "Copyright (C) 2013-2017 Nenad Rakocevic. All rights reserved." | |
License: { | |
Distributed under the Boost Software License, Version 1.0. | |
See https://github.com/red/red/blob/master/BSL-License.txt | |
} | |
] | |
#include %../../bridges/java/bridge.red | |
;system/view/debug?: yes | |
t0: t1: now/time/precise | |
tiger: #include %tiger.red | |
rot: 0 | |
z: 0.01 | |
zoom: 0.2 | |
insert tiger compose [translate 100x100 rotate (rot) scale (zoom) (zoom) translate -21x-40] | |
font-label: make font! [ | |
name: "Arial" | |
size: 11 | |
color: white | |
anti-alias?: no | |
] | |
font-A: make font! [ | |
name: "Times New Roman" | |
size: 15 | |
color: red | |
style: [bold italic underline] | |
anti-alias?: yes | |
] | |
img1: make image! [10x10 1.2.3] | |
n: 1 | |
loop 10 [ | |
poke img1 1x1 * n 254.0.0 | |
n: n + 1 | |
] | |
pattern: make image! 30x30 | |
draw pattern [fill-pen red pen off box 0x0 30x30 pen black circle 15x15 10] | |
fstk-logo: load/as 64#{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 | |
wAAAABJRU5ErkJggg== | |
} 'png | |
view [ | |
title "Red on Android" | |
tab-panel [ | |
"Basic" [ | |
backdrop white | |
space 5x5 | |
style base: base | |
on-click [print "click!"] | |
on-down [print "down!"] | |
on-up [print "up"] | |
button "Hello" [ | |
b/offset: b/offset - 0x10 | |
s/text: first random ["Wifi" "GPS" "GSM" "Data"] | |
p/data: random 100% | |
sl/data: random 100% | |
r/data: random true | |
c/data: random true | |
s/data: random true | |
but/color: random 255.255.255 | |
b/color: random 255.255.255 | |
g/visible?: not g/visible? | |
dl/selected: random length? dl/data | |
] | |
but: button "Stop" #FF8080 [ | |
b/size: b/size + random 10x10 | |
bb/rate: all [none? bb/rate 20] | |
] return | |
text-list cyan data ["itemA" "itemB" "itemC" "itemD"] | |
panel [ | |
origin 0x0 below | |
dl: drop-list #FFEFD5 80 data ["itemA" "itemB" "itemC" "itemD"] | |
drop-down #98FB98 data ["itemA" "itemB" "itemC" "itemD"] | |
] return | |
below | |
info: text "This is a text label" | |
bb: base 20x20 black extra 1 rate 20 on-time [ | |
if any [face/offset/x < 10 face/offset/x > 200][ | |
face/extra: negate face/extra | |
] | |
face/offset/x: face/offset/x + (face/extra * 6) | |
] | |
field "world" | |
panel yellow 2 [ | |
r: radio "option 1" | |
radio "option 2" | |
c: check "check 1" | |
check "check 2" | |
] | |
s: switch "Wifi" | |
p: progress | |
sl: slider | |
across | |
base red on-down [b/offset: b/offset - 0x10] | |
g: base green on-down [b/offset: b/offset + 10x0] | |
b: base blue | |
base orange on-time [ | |
face/color: random white | |
;t1: now/time/precise | |
;print t1 - t0 | |
;t0: t1 | |
] | |
return | |
below | |
area "This is^/a multi-line^/sentence." | |
text "-- Scroll below for more --" 200 | |
text "Hello" | |
field "input field" | |
radio "option 1" | |
radio "option 2" | |
check "check 1" | |
check "check 2" | |
] | |
"Camera" [ | |
across | |
cam: camera 120x160 on-created [ | |
cam-list/data: cam/data | |
cam-list/selected: 1 | |
] | |
panel [ | |
below | |
button "start" [cam/selected: cam-list/selected] | |
button "stop" [cam/selected: none] | |
cam-list: drop-list data [] [cam/selected: cam-list/selected] | |
] | |
] | |
"Draw 1" [ | |
base 240x940 draw [ | |
pen red | |
line 10x10 10x400 | |
; Letter R | |
line 20x360 20x400 30x400 30x380 40x400 50x400 40x380 50x375 50x365 40x360 20x360 | |
; Letter E | |
line 60x360 60x400 90x400 90x390 70x390 70x380 80x380 80x375 70x375 70x370 90x370 90x360 60x360 | |
; Letter D (left bar) | |
line 100x360 100x400 ;120x400 130x390 130x370 120x360 100x360 | |
fill-pen blue | |
triangle 130x350 20x275 20x350 | |
line-width 3 | |
fill-pen linear red blue green | |
box 140x400 200x360 | |
fill-pen green | |
box 120x300 200x340 5 | |
line-width 2 | |
fill-pen snow | |
polygon 30x260 100x300 110x290 180x280 90x285 | |
line-width 1 | |
pen blue | |
fill-pen radial red blue green 60x310 30 | |
circle 60x310 30 | |
fill-pen orange | |
arc 10x10 80x80 0 90 closed | |
pen white | |
text 15x15 "Hello Red!" | |
pen red | |
fill-pen off | |
arc 10x10 85x85 0 90 | |
arc 10x10 90x90 0 90 | |
arc 10x10 95x95 0 90 | |
; Letter D continued with two curve's | |
curve 100x360 130x360 130x380 | |
curve 130x380 130x400 100x400 | |
; Some sinus like curve | |
pen navy | |
curve 10x175 40x180 10x210 45x210 | |
curve 45x210 80x210 45x180 80x175 | |
curve 80x175 110x180 80x210 115x210 | |
curve 115x210 150x210 115x180 150x175 | |
curve 150x175 180x180 150x210 185x210 | |
curve 185x210 220x210 185x180 220x175 | |
pen yellow | |
shape [ | |
move 0x199 | |
line 21x177 | |
arc 42x157 25 20 -45 sweep | |
line 63x137 | |
arc 84x115 25 40 -45 sweep | |
line 105x95 | |
arc 126x73 25 60 -45 sweep | |
line 147x53 | |
arc 168x31 25 80 -45 sweep | |
line 199x0 | |
move 0x0 | |
] | |
;fill-pen bitmap pattern | |
ellipse 120x240 80x36 | |
pen red | |
fill-pen off | |
spline 20x290 200x130 130x100 80x150 80x200 100x210 130x210 140x220 140x240 160x255 170x260 | |
image img1 120x10 | |
image fstk-logo 15x35 35x55 | |
] | |
] | |
"Draw 2" [ | |
base 50x60 100.70.70 draw [ | |
line-width 2 | |
fill-pen 170.20.20.128 | |
line 10x10 40x30 10x30 | |
line 10x40 40x40 | |
font font-label | |
text 5x45 "line" | |
] | |
base 50x60 100.70.70 draw [ | |
line-width 2 | |
fill-pen 170.20.20.128 | |
triangle 10x10 40x10 25x40 | |
font font-label | |
text 5x45 "triangle" | |
] | |
base 50x60 100.70.70 draw [ | |
line-width 2 | |
fill-pen 170.20.20.128 | |
box 10x10 40x20 | |
box 20x30 30x40 | |
font font-label | |
text 5x45 "box" | |
] | |
base 50x60 100.70.70 draw [ | |
line-width 2 | |
fill-pen 170.20.20.128 | |
polygon 10x10 40x10 40x40 20x30 | |
font font-label | |
text 5x45 "polygon" | |
] | |
return | |
base 50x60 100.70.70 draw [ | |
line-width 2 | |
fill-pen 170.20.20.128 | |
circle 25x25 15 | |
circle 25x25 10 5 | |
font font-label | |
text 5x45 "circle" | |
] | |
base 50x60 100.70.70 draw [ | |
line-width 2 | |
fill-pen 170.20.20.128 | |
ellipse 10x10 5x10 | |
ellipse 35x10 5x10 | |
ellipse 20x20 10x20 | |
font font-label | |
text 5x45 "ellipse" | |
] | |
base 50x60 100.70.70 draw [ | |
line-width 2 | |
fill-pen 170.20.20.128 | |
;arc <center> <radius> <begin> <sweep> closed | |
arc 25x25 15x15 0 180 closed | |
fill-pen off | |
arc 25x25 5x10 90 270 | |
font font-label | |
text 5x45 "arc" | |
] | |
base 50x60 100.70.70 draw [ | |
line-width 2 | |
fill-pen 170.20.20.128 | |
curve 10x5 45x5 45x40 | |
curve 10x10 40x10 10x40 40x40 | |
font font-label | |
text 5x45 "curve" | |
] | |
return | |
base 50x60 100.70.70 draw [ | |
line-width 2 | |
fill-pen 170.20.20.128 | |
spline 10x10 40x10 40x40 10x40 10x20 30x20 30x30 20x30 | |
font font-label | |
text 5x45 "spline" | |
] | |
base 50x60 100.70.70 draw [ | |
line-width 2 | |
fill-pen 170.20.20.128 | |
image fstk-logo 10x10 40x40 | |
font font-label | |
text 5x45 "image" | |
] | |
base 50x60 100.70.70 draw [ | |
font font-label | |
text 5x45 "text" | |
text 10x10 "Red" | |
pen red ; test if pen color | |
font font-A | |
text 10x20 "Red" | |
] | |
base 50x60 100.70.70 draw [ | |
font font-label | |
text 5x45 "pen flat" | |
line 10x10 10x40 | |
box 15x10 20x40 | |
pen off | |
fill-pen 20.20.170.128 | |
box 25x10 30x40 | |
pen 255.255.255.100 | |
line-width 1 | |
triangle 35x10 40x40 35x40 | |
fill-pen off | |
triangle 35x10 40x10 40x40 | |
] | |
return | |
base 50x60 100.70.70 draw [ | |
font font-label | |
text 5x45 "pen gradient" | |
pen linear red green blue | |
line-width 5 | |
fill-pen off | |
box 10x10 40x40 | |
] | |
base 50x60 100.70.70 draw [ | |
font font-label | |
text 5x45 "fill gradient" | |
fill-pen linear red green blue | |
box 10x10 40x40 | |
] | |
base 50x60 100.70.70 draw [ | |
font font-label | |
text 5x45 "line join" | |
line-width 5 | |
line-join miter | |
line 10x40 15x20 20x40 | |
line-join round | |
line 20x40 25x20 30x40 | |
line-join bevel | |
line 30x40 35x20 40x40 | |
] | |
base 50x60 100.70.70 draw [ | |
font font-label | |
text 5x45 "line cap" | |
line-width 7 | |
line-cap flat | |
line 15x15 15x35 | |
line-cap square | |
line 25x15 25x35 | |
line-cap round | |
line 35x15 35x35 | |
] | |
return | |
base 230x2 0.0.0 | |
return | |
base 50x60 70.70.100 draw [ | |
font font-label | |
text 5x45 "rotate" | |
line-width 2 | |
fill-pen 170.20.20.128 | |
box 15x15 35x35 | |
rotate 45 25x25 | |
box 15x15 35x35 | |
] | |
base 50x60 70.70.100 draw [ | |
font font-label | |
text 5x45 "scale" | |
line-width 2 | |
fill-pen 170.20.20.128 | |
box 10x10 40x40 | |
scale 0.5 0.5 | |
box 10x10 40x40 | |
] | |
base 50x60 70.70.100 draw [ | |
font font-label | |
text 5x45 "translate" | |
line-width 2 | |
fill-pen 170.20.20.128 | |
box 10x10 30x30 | |
translate 10x10 | |
box 10x10 30x30 | |
] | |
] | |
"Tiger" [ | |
base 200x200 options [accelerated: #[false]] rate 50 on-time [ | |
rot: rot + 1 | |
zoom: zoom + z | |
if any [zoom < 0.1 zoom > 0.7][z: negate z] | |
tiger/4: rot | |
tiger/6: zoom | |
tiger/7: zoom | |
face/draw: tiger | |
] | |
] | |
] | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment