bar3d
Draws a three-dimensional bar.
Defined in header <graphics.h>
Syntax
#include <graphics.h>
void far bar3d(int left, int top, int right, int bottom, int depth, int topflag);
Portability
| DOS | UNIX | Windows | ANSI C | C++ only |
|---|---|---|---|---|
| ■ |
Remarks
barSd draws a three-dimensional rectangular bar, then fills it using the current fill pattern and fill color. The three-dimensional outline of the bar is drawn in the current line style and color. The bar's depth in pixels is given by depth. The topflag parameter governs whether a three-dimensional top is put on the bar. If topflag is nonzero, a top is put on; otherwise, no top is put on the bar (making it possible to stack several bars on top of one another).
The upper left and lower right corners of the rectangle are given by {left, top) and (right, bottom), respectively.
To calculate a typical depth for barSd, take 25% of the width of the bar, like this:
bar3d(left,top,right,bottom, (right-left)/4,1);
Return value
None.
See also
Example
#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>
int main(void)
/* request autodetection */
int gdriver = DETECT, gmode, errorcode;
int midx, midy, i;
/* initialize graphics and local variables */
initgraph(&gdriver, &gmode, "");
/* read result of initialization */
errorcode = graphresult ();
if (errorcode != grOk) { /* an error occurred */
printf( "Graphics error: %s\n", grapherrormsg(errorcode));
printf("Press any key to halt:");
getchO ;
exit(l) /* terminate with an error code */
midx = getmaxx () / 2;
midy = getmaxy () / 2;
/* loop through the fill patterns */
for (i=EMPTY_FILL; i<USER_FILL; i++) {
/* set the fill style */
setfillstyle(i, getmaxcolor ());
/* draw the 3-d bar */
bar3d(inidx-50, midy-50, midx+50, midy+50, 10, 1);
getchO ;
}
/* clean up */
closegraphO ;
return 0;
Differences from modern implementations
Nothing recorded yet.
Modern references
These are search links, not yet checked by hand.
Stable link: /3.1/graphics.h/bar3d/
· short form /3.1/bar3d/