Box3D, PBox3D Commands

Purpose

Draws a 3D rectangle

Syntax

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

Description

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:

  1. Those that affect the inner edge only:

    BDR_RAISEDINNER ($4) - Draws a raised inner edge.
    BDR_SUNKENINNER ($8) - Draws a sunken inner edge.

  2. Those that affect the outer edge only:

    BDR_RAISEDOUTER ($1) - Draws a raised outer edge.
    BDR_SUNKENOUTER ($2) - Draws a sunken outer edge.

  3. Those that affect the both edges:

    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:

Example

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

Remarks

Box3D and PBox3D use the DrawEdge API function.

See Also

Box, PBox, RBox, PRBox, PolyLine, PolyFill

{Created by Sjouke Hamstra; Last updated: 22/06/2017 by James Gaite}