This shows you the differences between two versions of the page.
— |
c:graphics.h:setactivepage [2024/02/16 01:05] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== setactivepage ===== | ||
+ | |||
+ | |||
+ | ====Syntax of setactivepage ==== | ||
+ | <code c> | ||
+ | #include <graphics.h> | ||
+ | void setactivepage(int page); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Description of setactivepage ==== | ||
+ | <code c> | ||
+ | setactivepage makes page the active graphics page. All subsequent | ||
+ | graphics output will be directed to that graphics page. | ||
+ | The active graphics page might not be the one you see onscreen, depending | ||
+ | on how many graphics pages are available on your system. Only the EGA, | ||
+ | VGA, and Hercules graphics cards support multiple pages. | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Example of setactivepage ==== | ||
+ | <code c> | ||
+ | /* setactivepage example */ | ||
+ | |||
+ | #include <graphics.h> | ||
+ | #include <stdlib.h> | ||
+ | #include <stdio.h> | ||
+ | #include <conio.h> | ||
+ | |||
+ | int main(void) | ||
+ | { | ||
+ | /* select driver and mode that supports multiple pages */ | ||
+ | int gdriver = EGA, gmode = EGAHI, errorcode; | ||
+ | int x, y, ht; | ||
+ | |||
+ | /* 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 */ | ||
+ | } | ||
+ | |||
+ | x = getmaxx() / 2; | ||
+ | y = getmaxy() / 2; | ||
+ | ht = textheight("W"); | ||
+ | |||
+ | /* select the off screen page for drawing */ | ||
+ | setactivepage(1); | ||
+ | |||
+ | /* draw a line on page #1 */ | ||
+ | line(0, 0, getmaxx(), getmaxy()); | ||
+ | |||
+ | /* output a message on page #1 */ | ||
+ | settextjustify(CENTER_TEXT, CENTER_TEXT); | ||
+ | outtextxy(x, y, "This is page #1:"); | ||
+ | outtextxy(x, y+ht, "Press any key to halt:"); | ||
+ | |||
+ | |||
+ | /* select drawing to page #0 */ | ||
+ | setactivepage(0); | ||
+ | |||
+ | /* output a message on page #0 */ | ||
+ | outtextxy(x, y, "This is page #0."); | ||
+ | outtextxy(x, y+ht, "Press any key to view page #1:"); | ||
+ | getch(); | ||
+ | |||
+ | /* select page #1 as the visible page */ | ||
+ | setvisualpage(1); | ||
+ | |||
+ | /* clean up */ | ||
+ | getch(); | ||
+ | closegraph(); | ||
+ | return 0; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== See also ==== | ||
+ | [[setvisualpage]] | ||
+ | [[swapbuffers]] | ||
+ | |||
+ | |||
+ | ===== output of setactivepage example ===== | ||
+ | |||
+ | no output of example at the moment | ||
+ | do not hesitate and add it... | ||
+ | |||
+ | |||