[REBOL] Re: Rebface 1247031 view behaviour
From: james:mustard at: 13-Jul-2004 10:53
This is the code I am currently testing it on:
REBOL []
sa: system/view/screen-face/size
sx: sa * 1x0
sy: sa * 0x1
calc-vert: func [/local step p1 p2 s1][
s1: copy ""
for step 0 8 1 [
p1: (sx - ((sx / 4) + (step * sx / 16)) + (sy / 6))
p2: (sx - (step * sx / 8) + sy - (sy / 6))
s1: join s1 ["line " p1 " " p2 newline]
]
return s1
]
calc-intercepts: func [y /local b pa pb p1 p2 pj][
;this will use points a and b to calculate the x coords given y on a
line
;far side line
pa: (sx - (sx / 4) + (sy / 6))
pb: (sx + sy - (sy / 6))
m: (pa/y - pb/y) / (pa/x - pb/x)
b: pa/y - (m * pa/x)
p1: as-pair ((y - b) / m) y
;near side line
pa: (sx - ((sx / 4) + (8 * sx / 16)) + (sy / 6))
pb: (sx - (8 * sx / 8) + sy - (sy / 6))
m: (pa/y - pb/y) / (pa/x - pb/x)
b: pa/y - (m * pa/x)
p2: as-pair ((y - b) / m) y
pj: compose [(p1) (p2)]
]
calc-horz: func [/local step pa s1][
s1: copy ""
for step 0 8 1 [
pa: calc-intercepts second ((sy / 6) + (step * sy / 12))
s1: join s1 ["line " pa/1 " " pa/2 newline]
;s1: join s1 ["fill-pen 0.0.255 flood " pa/1 + 0x5 " " newline]
]
return s1
]
thegrid: compose [
pen 255.255.255
(to-block calc-vert)
(to-block calc-horz)
]
view desktop: make face [
size: sa
offset: 0x0
color: 192.192.192
effect: [fit draw thegrid]
pane: copy []
image: edge: none
feel: make feel [
engage: func [f a e][
if a = 'down [quit]
]
]
]