This shows you the differences between two versions of the page.
— |
c:graphics.h:gettextsettings [2024/02/16 01:05] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== gettextsettings ===== | ||
+ | |||
+ | |||
+ | ====Syntax of gettextsettings ==== | ||
+ | <code c> | ||
+ | #include <graphics.h> | ||
+ | void gettextsettings(struct textsettingstype *texttypeinfo); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Description of gettextsettings ==== | ||
+ | <code c> | ||
+ | gettextsettings fills the textsettingstype structure pointed to by | ||
+ | textinfo with information about the current text font, direction, size, | ||
+ | and justification. The textsettingstype structure used by gettextsettings | ||
+ | is defined in graphics.h as follows: | ||
+ | struct textsettingstype { | ||
+ | int font; | ||
+ | int direction; | ||
+ | int charsize; | ||
+ | int horiz; | ||
+ | int vert; | ||
+ | }; | ||
+ | See settextstyle for a description of these fields. | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Example of gettextsettings ==== | ||
+ | <code c> | ||
+ | /* gettextsettings example */ | ||
+ | |||
+ | #include <graphics.h> | ||
+ | #include <stdlib.h> | ||
+ | #include <stdio.h> | ||
+ | #include <conio.h> | ||
+ | |||
+ | |||
+ | /* the names of the supported fonts */ | ||
+ | char *font[] = { "DEFAULT_FONT", "TRIPLEX_FONT", "SMALL_FONT", | ||
+ | "SANS_SERIF_FONT", "GOTHIC_FONT" }; | ||
+ | |||
+ | /* the names of the text directions supported */ | ||
+ | char *dir[] = { "HORIZ_DIR", "VERT_DIR" }; | ||
+ | |||
+ | /* horizontal text justifications supported */ | ||
+ | char *hjust[] = { "LEFT_TEXT", "CENTER_TEXT", "RIGHT_TEXT" }; | ||
+ | |||
+ | /* vertical text justifications supported */ | ||
+ | |||
+ | char *vjust[] = { "BOTTOM_TEXT", "CENTER_TEXT", "TOP_TEXT" }; | ||
+ | |||
+ | int main(void) | ||
+ | { | ||
+ | /* request autodetection */ | ||
+ | int gdriver = DETECT, gmode, errorcode; | ||
+ | struct textsettingstype textinfo; | ||
+ | int midx, midy, ht; | ||
+ | char fontstr[80], dirstr[80], sizestr[80]; | ||
+ | char hjuststr[80], vjuststr[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 text settings */ | ||
+ | gettextsettings(&textinfo); | ||
+ | |||
+ | /* convert text information into strings */ | ||
+ | sprintf(fontstr, "%s is the text style.", font[textinfo.font]); | ||
+ | sprintf(dirstr, "%s is the text direction.",dir[textinfo.direction]); | ||
+ | |||
+ | sprintf(sizestr, "%d is the text size.", textinfo.charsize); | ||
+ | sprintf(hjuststr, "%s is the horizontal justification.", hjust | ||
+ | [textinfo.horiz]); | ||
+ | sprintf(vjuststr, "%s is the vertical justification.", vjust | ||
+ | [textinfo.vert]); | ||
+ | |||
+ | /* display the information */ | ||
+ | ht = textheight("W"); | ||
+ | settextjustify(CENTER_TEXT, CENTER_TEXT); | ||
+ | outtextxy(midx, midy, fontstr); | ||
+ | outtextxy(midx, midy+2*ht, dirstr); | ||
+ | outtextxy(midx, midy+4*ht, sizestr); | ||
+ | outtextxy(midx, midy+6*ht, hjuststr); | ||
+ | |||
+ | outtextxy(midx, midy+8*ht, vjuststr); | ||
+ | |||
+ | /* clean up */ | ||
+ | getch(); | ||
+ | closegraph(); | ||
+ | return 0; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== See also ==== | ||
+ | [[outtext]] | ||
+ | [[outtextxy]] | ||
+ | [[registerbgifont]] | ||
+ | [[settextjustify]] | ||
+ | [[settextstyle]] | ||
+ | [[setusercharsize]] | ||
+ | [[textheight]] | ||
+ | [[textwidth]] | ||
+ | |||
+ | |||
+ | ===== output of gettextsettings example ===== | ||
+ | |||
+ | no output of example at the moment | ||
+ | do not hesitate and add it... | ||
+ | |||
+ | |||