Data update
This commit is contained in:
parent
4bb20c9b71
commit
cbaf4c4b64
12390 changed files with 318560 additions and 27248 deletions
|
|
@ -13,29 +13,29 @@ DIM Breadth AS INTEGER, Height AS INTEGER
|
|||
FBSL.GETCLIENTRECT(ME, 0, 0, Breadth, Height)
|
||||
|
||||
BEGIN EVENTS ' Main message loop
|
||||
SELECT CASE CBMSG
|
||||
CASE WM_LBUTTONDOWN: MidpointCircle() ' Draw
|
||||
CASE WM_CLOSE: FBSL.RELEASEDC(ME, FBSL.GETDC) ' Clean up
|
||||
END SELECT
|
||||
SELECT CASE CBMSG
|
||||
CASE WM_LBUTTONDOWN: MidpointCircle() ' Draw
|
||||
CASE WM_CLOSE: FBSL.RELEASEDC(ME, FBSL.GETDC) ' Clean up
|
||||
END SELECT
|
||||
END EVENTS
|
||||
|
||||
SUB MidpointCircle()
|
||||
BresenhamCircle(Breadth \ 2, Height \ 2, 80, &HFF) ' Red: Windows stores colors in BGR order
|
||||
BresenhamCircle(Breadth \ 2, Height \ 2, 40, 0) ' Black
|
||||
|
||||
SUB BresenhamCircle(cx, cy, radius, colour)
|
||||
DIM x = 0, y = radius, f = 1 - radius, dx = 0, dy = -2 * radius
|
||||
|
||||
PSET(FBSL.GETDC, cx, cy + radius, colour)(FBSL.GETDC, cx, cy - radius, colour)
|
||||
PSET(FBSL.GETDC, cx + radius, cy, colour)(FBSL.GETDC, cx - radius, cy, colour)
|
||||
|
||||
WHILE x < y
|
||||
IF f >= 0 THEN: DECR(y): INCR(dy, 2)(f, dy): END IF ' Try also "IF f THEN" :)
|
||||
INCR(x)(dx, 2)(f, dx + 1)
|
||||
PSET(FBSL.GETDC, cx + x, cy + y, colour)(FBSL.GETDC, cx - x, cy + y, colour)
|
||||
PSET(FBSL.GETDC, cx + x, cy - y, colour)(FBSL.GETDC, cx - x, cy - y, colour)
|
||||
PSET(FBSL.GETDC, cx + y, cy + x, colour)(FBSL.GETDC, cx - y, cy + x, colour)
|
||||
PSET(FBSL.GETDC, cx + y, cy - x, colour)(FBSL.GETDC, cx - y, cy - x, colour)
|
||||
WEND
|
||||
END SUB
|
||||
BresenhamCircle(Breadth \ 2, Height \ 2, 80, &HFF) ' Red: Windows stores colors in BGR order
|
||||
BresenhamCircle(Breadth \ 2, Height \ 2, 40, 0) ' Black
|
||||
|
||||
SUB BresenhamCircle(cx, cy, radius, colour)
|
||||
DIM x = 0, y = radius, f = 1 - radius, dx = 0, dy = -2 * radius
|
||||
|
||||
PSET(FBSL.GETDC, cx, cy + radius, colour)(FBSL.GETDC, cx, cy - radius, colour)
|
||||
PSET(FBSL.GETDC, cx + radius, cy, colour)(FBSL.GETDC, cx - radius, cy, colour)
|
||||
|
||||
WHILE x < y
|
||||
IF f >= 0 THEN: DECR(y): INCR(dy, 2)(f, dy): END IF ' Try also "IF f THEN" :)
|
||||
INCR(x)(dx, 2)(f, dx + 1)
|
||||
PSET(FBSL.GETDC, cx + x, cy + y, colour)(FBSL.GETDC, cx - x, cy + y, colour)
|
||||
PSET(FBSL.GETDC, cx + x, cy - y, colour)(FBSL.GETDC, cx - x, cy - y, colour)
|
||||
PSET(FBSL.GETDC, cx + y, cy + x, colour)(FBSL.GETDC, cx - y, cy + x, colour)
|
||||
PSET(FBSL.GETDC, cx + y, cy - x, colour)(FBSL.GETDC, cx - y, cy - x, colour)
|
||||
WEND
|
||||
END SUB
|
||||
END SUB
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue