procedure BevelReset: set colors for beveled drawing procedure BevelCircle: draw beveled circle procedure BevelDiamond: draw beveled diamond procedure BevelSquare: draw beveled square procedure RidgeRectangle: draw ridged rectangle procedure GrooveRectangle: draw grooved rectangle procedure BevelRectangle: draw beveled rectangle procedure DrawRidge: draw ridged line procedure DrawGroove: draw grooved line procedure FillSquare: draw filled square procedure FillDiamond: draw filled diamond procedure FillTriangle: draw filled triangle
link bevel
April 1, 1997; Gregg M. Townsend
Requires: Version 9 graphics
This file is in the public domain.
These procedures draw objects having a raised or sunken appearance. BevelReset(win) sets/resets shading colors. BevelCircle(win, x, y, r, bw) draws a beveled circle. BevelDiamond(win, x, y, r, bw) draws a beveled diamond. BevelTriangle(win, x, y, r, o, bw) draws a beveled triangle. BevelSquare(win, x, y, r, bw) draws a beveled square. FillSquare(win, x, y, r) fills a square. FillDiamond(win, x, y, r) fills a diamond. FillTriangle(win, x, y, r, o) fills a triangle. RidgeRectangle(win, x, y, w, h, bw) draws a ridged rectangle. GrooveRectangle(win, x, y, w, h, bw) draws a grooved rectangle. BevelRectangle(win, x, y, w, h, bw) draws a beveled rectangle. DrawRidge(win, x1, y1, x2, y2, w) draws a ridged line. DrawGroove(win, x1, y1, x2, y2, w) draws a grooved line. ____________________________________________________________ These procedures allow the drawing of buttons and other objects with a three-dimensional appearance. They are intended to be used like other graphics primitives (DrawRectangle() etc.). However, this abstraction fails if the background color changes or if clipping is set, due to the use of cached graphics contexts. BevelReset(win) -- set/reset colors for beveling This procedure is called automatically by the others. It can be called explicitly if the background color is changed. BevelCircle(win, x, y, r, bw) -- draw beveled circle BevelDiamond(win, x, y, r, bw) -- draw beveled diamond BevelTriangle(win, x, y, r, o, bw) -- draw beveled triangle BevelSquare(win, x, y, r, bw) -- draw beveled square These procedures draw a figure centered at (x,y) and having a "radius" of r. bw is the bevel width, in pixels. o is the triangle orientation: "n", "s", "e", or "w". FillSquare(win, x, y, r) -- fill square centered at (x,y) FillDiamond(win, x, y, r) -- fill diamond centered at (x,y) FillTriangle(win, x, y, r, o) -- fill triangle centered at (x,y) These procedures complement the beveled outline procedures by filling a figure centered at (x,y). Fillcircle is already an Icon function and so is not included here. RidgeRectangle(win, x, y, w, h, bw) -- draw ridged rectangle GrooveRectangle(win, x, y, w, h, bw) -- draw grooved rectangle BevelRectangle(win, x, y, w, h, bw) -- draw beveled rectangle These procedures draw a rectangle with the given external dimensions and border width. Beveled rectangles are raised if bw > 0 or sunken if bw < 0. DrawRidge(win, x1, y1, x2, y2, w) -- draw a ridged line DrawGroove(win, x1, y1, x2, y2, w) -- draw a grooved line These procedures draw a groove or ridge of width 2 at any angle. If w = 0, a groove or ridge is erased to the background color. For BevelSquare() and FillSquare(), the width drawn is 2 * r + 1, not just 2 * r. This is necessary to keep the visual center at the specified (x, y) and is consistent with the other centered procedures and the built-in function FillCircle.