This shows you the differences between two versions of the page.
c:graphics.h:bar3d [2015/05/06 23:06] |
c:graphics.h:bar3d [2024/02/16 01:05] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== bar3d ===== | ||
+ | |||
+ | |||
+ | ====Syntax of bar3d ==== | ||
+ | <code c> | ||
+ | #include <graphics.h> | ||
+ | void bar3d(int left, int top, int right, int bottom, int depth, int | ||
+ | topflag); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Description of bar3d ==== | ||
+ | <code c> | ||
+ | bar3d 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 bar3d, take 25% of the width of the bar, | ||
+ | like this: | ||
+ | bar3d(left,top,right,bottom, (right-left)/4,1); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Example of bar3d ==== | ||
+ | <code c> | ||
+ | /* bar3d 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:"); | ||
+ | getch(); | ||
+ | exit(1); /* 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(midx-50, midy-50, midx+50, midy+50, 10, 1); | ||
+ | getch(); | ||
+ | } | ||
+ | /* clean up */ | ||
+ | closegraph(); | ||
+ | |||
+ | return 0; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== See also ==== | ||
+ | [[bar]] | ||
+ | [[rectangle]] | ||
+ | [[setcolor]] | ||
+ | [[setfillstyle]] | ||
+ | [[setlinestyle]] | ||
+ | |||
+ | |||
+ | ===== output of bar3d example ===== | ||
+ | |||
+ | no output of example at the moment | ||
+ | do not hesitate and add it... | ||
+ | |||
+ | |||