Draws a 3D rectangle
Box3D x1, y1, x2, y2 [, [ edge ][,bf ] ] Box3D x1, y1 To x2, y2 [, [ edge ][,bf ] ] Box3D x1, y1, Step w, h [, [ edge ][,bf ] ]
PBox3D x1, y1, x2, y2 [, [ edge ][,bf ] ] PBox3D x1, y1 To x2, y2 [, [ edge ][,bf ] ] PBox3D x1, y1, Step w, h [, [ edge ][,bf ] ]
h, w, x1, x2, y1, y2 | : single |
edge | : EDGE_ constants |
bf | : BF_ constants |
Box3D x1,y1,x2,y2 and Box3D x1, y1 To x2, y2 draw a 3D rectangle with diagonal corner coordinates x1,y1 (upper left) and x2,y2 (lower right), while B>Box3D x1,y1, Step x2,y2 draws a similar rectangle but with upper left coordinates x1,y1 and a width of w and a height of h. The optical effect is specified by using the constants edge and bf (default: edge= EDGE_RAISED and bf = BF_RECT).
The Edge constants come in three forms:
BDR_RAISEDINNER ($4) - Draws a raised inner edge. BDR_SUNKENINNER ($8) - Draws a sunken inner edge.
BDR_RAISEDOUTER ($1) - Draws a raised outer edge. BDR_SUNKENOUTER ($2) - Draws a sunken outer edge.
EDGE_BUMP ($9) - Combination of BDR_RAISEDOUTER and BDR_SUNKENINNER. EDGE_ETCHED ($6) - Combination of BDR_SUNKENOUTER and BDR_RAISEDINNER. EDGE_RAISED ($5) - Combination of BDR_RAISEDOUTER and BDR_RAISEDINNER. EDGE_SUNKEN ($A) - Combination of BDR_SUNKENOUTER and BDR_SUNKENINNER
The Border (BF) constants determine which borders are affected and are as follows:
OpenW 1, , , 370, 465
TitleW 1, "Example: GFA-BASIC 32 Border Box3D + PBox3D"
FontSize = 9
FontBold = True
Text 10, 5, "EDGE"
Text 10, 40, "EDGE_RAISED"
Text 10, 90, "EDGE_ETCHED"
Text 10, 140, "EDGE_BUMP"
Text 10, 190, "EDGE_SUNKEN"
Text 10, 240, "BDR_RAISEDOUTER"
Text 10, 290, "BDR_SUNKENOUTER"
Text 10, 340, "BDR_RAISEDINNER"
Text 10, 390, "BDR_SUNKENINNER"
Text 160, 5, "Box3D"
Box3D 160, 30, Step 40, 40// Default
Box3D 160, 80, Step 40, 40, EDGE_ETCHED
Box3D 160, 130, Step 40, 40, EDGE_BUMP
Box3D 160, 180, Step 40, 40, EDGE_SUNKEN
Box3D 160, 230, Step 40, 40, BDR_RAISEDOUTER
Box3D 160, 280, Step 40, 40, BDR_SUNKENOUTER
Box3D 160, 330, Step 40, 40, BDR_RAISEDINNER
Box3D 160, 380, Step 40, 40, BDR_SUNKENINNER
Box3D 160, 380, Step 40, 40, BDR_OUTER, BF_MIDDLE
Text 205, 5, "BF_SOFT"
Box3D 205, 30, Step 40, 40, EDGE_RAISED, BF_SOFT
Box3D 205, 80, Step 40, 40, EDGE_ETCHED, BF_SOFT
Box3D 205, 130, Step 40, 40, EDGE_BUMP, BF_SOFT
Box3D 205, 180, Step 40, 40, EDGE_SUNKEN, BF_SOFT
Box3D 205, 230, Step 40, 40, BDR_RAISEDOUTER, BF_SOFT
Box3D 205, 280, Step 40, 40, BDR_SUNKENOUTER, BF_SOFT
Box3D 205, 330, Step 40, 40, BDR_RAISEDINNER, BF_SOFT
Box3D 205, 380, Step 40, 40, BDR_SUNKENINNER, BF_SOFT
Text 280, 5, "PBox3D"
PBox3D 280, 30, Step 40, 40, EDGE_RAISED
PBox3D 280, 80, Step 40, 40, EDGE_ETCHED
PBox3D 280, 130, Step 40, 40, EDGE_BUMP
PBox3D 280, 180, Step 40, 40, EDGE_SUNKEN
PBox3D 280, 230, Step 40, 40, BDR_RAISEDOUTER
PBox3D 280, 280, Step 40, 40, BDR_SUNKENOUTER
PBox3D 280, 330, Step 40, 40, BDR_RAISEDINNER
PBox3D 280, 380, Step 40, 40, BDR_SUNKENINNER
Do
Sleep
Until Me Is Nothing
Box3D and PBox3D use the DrawEdge API function.
Box, PBox, RBox, PRBox, PolyLine, PolyFill
{Created by Sjouke Hamstra; Last updated: 22/06/2017 by James Gaite}