This shows you the differences between two versions of the page.
c:graphics.h:getviewsettings [2015/05/06 23:06] |
c:graphics.h:getviewsettings [2024/02/16 01:05] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== getviewsettings ===== | ||
+ | |||
+ | |||
+ | ====Syntax of getviewsettings ==== | ||
+ | <code c> | ||
+ | #include <graphics.h> | ||
+ | void getviewsettings(struct viewporttype *viewport); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Description of getviewsettings ==== | ||
+ | <code c> | ||
+ | getviewsettings fills the viewporttype structure pointed to by viewport | ||
+ | with information about the current viewport. | ||
+ | The viewporttype structure used by getviewport is defined in graphics.h | ||
+ | as follows: | ||
+ | struct viewporttype { | ||
+ | int left, top, right, bottom; | ||
+ | int clip; | ||
+ | }; | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Example of getviewsettings ==== | ||
+ | <code c> | ||
+ | /* getviewsettings example */ | ||
+ | |||
+ | #include <graphics.h> | ||
+ | #include <stdlib.h> | ||
+ | #include <stdio.h> | ||
+ | #include <conio.h> | ||
+ | |||
+ | char *clip[] = { "OFF", "ON" }; | ||
+ | |||
+ | int main(void) | ||
+ | { | ||
+ | /* request autodetection */ | ||
+ | int gdriver = DETECT, gmode, errorcode; | ||
+ | struct viewporttype viewinfo; | ||
+ | int midx, midy, ht; | ||
+ | char topstr[80], botstr[80], clipstr[80]; | ||
+ | |||
+ | /* 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; | ||
+ | |||
+ | /* get information about current viewport */ | ||
+ | getviewsettings(&viewinfo); | ||
+ | |||
+ | /* convert text information into strings */ | ||
+ | sprintf(topstr, "(%d, %d) is the upper left viewport | ||
+ | corner.",viewinfo.left, viewinfo.top); | ||
+ | |||
+ | sprintf(botstr, "(%d, %d) is the lower right viewport | ||
+ | corner.",viewinfo.right, viewinfo.bottom); | ||
+ | sprintf(clipstr, "Clipping is turned %s.", clip[viewinfo.clip]); | ||
+ | |||
+ | /* display the information */ | ||
+ | settextjustify(CENTER_TEXT, CENTER_TEXT); | ||
+ | ht = textheight("W"); | ||
+ | outtextxy(midx, midy, topstr); | ||
+ | outtextxy(midx, midy+2*ht, botstr); | ||
+ | outtextxy(midx, midy+4*ht, clipstr); | ||
+ | |||
+ | /* clean up */ | ||
+ | getch(); | ||
+ | closegraph(); | ||
+ | return 0; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== See also ==== | ||
+ | [[clearviewport]] | ||
+ | [[getx]] | ||
+ | [[gety]] | ||
+ | [[setviewport]] | ||
+ | |||
+ | |||
+ | ===== output of getviewsettings example ===== | ||
+ | |||
+ | no output of example at the moment | ||
+ | do not hesitate and add it... | ||
+ | |||
+ | |||