This shows you the differences between two versions of the page.
— |
c:graphics.h:textwidth [2024/02/16 01:05] (current) |
||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ===== textwidth ===== | ||
+ | |||
+ | |||
+ | ====Syntax of textwidth ==== | ||
+ | <code c> | ||
+ | #include <graphics.h> | ||
+ | int textwidth(char *textstring); | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Description of textwidth ==== | ||
+ | <code c> | ||
+ | The graphics function textwidth takes the string length, current font | ||
+ | size, and multiplication factor, and determines the width of textstring | ||
+ | in pixels. | ||
+ | This function is useful for computing viewport widths, sizing a title to | ||
+ | make it fit on a graph or in a box, and so on. | ||
+ | Use textwidth to compute the width of strings, instead of doing the | ||
+ | computations manually. When you use this function, no source code | ||
+ | modifications have to be made when different fonts are selected. | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Example of textwidth ==== | ||
+ | <code c> | ||
+ | /* textwidth example */ | ||
+ | |||
+ | #include <graphics.h> | ||
+ | #include <stdlib.h> | ||
+ | #include <stdio.h> | ||
+ | #include <conio.h> | ||
+ | |||
+ | int main(void) | ||
+ | { | ||
+ | /* request autodetection */ | ||
+ | int gdriver = DETECT, gmode, errorcode; | ||
+ | int x = 0, y = 0; | ||
+ | int i; | ||
+ | char msg[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 */ | ||
+ | } | ||
+ | |||
+ | y = getmaxy() / 2; | ||
+ | settextjustify(LEFT_TEXT, CENTER_TEXT); | ||
+ | for (i = 1; i < 11; i++) { | ||
+ | /* select the text style, direction, and size */ | ||
+ | settextstyle(TRIPLEX_FONT, HORIZ_DIR, i); | ||
+ | |||
+ | /* create a message string */ | ||
+ | sprintf(msg, "Size: %d", i); | ||
+ | |||
+ | /* output the message */ | ||
+ | outtextxy(x, y, msg); | ||
+ | |||
+ | /* advance to the end of the text */ | ||
+ | |||
+ | x += textwidth(msg); | ||
+ | } | ||
+ | |||
+ | /* clean up */ | ||
+ | getch(); | ||
+ | closegraph(); | ||
+ | return 0; | ||
+ | } | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== See also ==== | ||
+ | [[gettextsettings]] | ||
+ | [[outtext]] | ||
+ | [[outtextxy]] | ||
+ | [[settextstyle]] | ||
+ | [[textheight]] | ||
+ | |||
+ | |||
+ | ===== output of textwidth example ===== | ||
+ | |||
+ | no output of example at the moment | ||
+ | do not hesitate and add it... | ||
+ | |||
+ | |||