User Tools

Site Tools


c:graphics.h:settextjustify

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

c:graphics.h:settextjustify [2015/05/06 23:06]
c:graphics.h:settextjustify [2024/02/16 01:05] (current)
Line 1: Line 1:
 +===== settextjustify =====
 +
 +
 +====Syntax of settextjustify ==== 
 + <code c>
 +#include <graphics.h>
 +void settextjustify(int horiz, int vert);
 +  </code>
 +
 +
 +==== Description of settextjustify ==== 
 +<code c>
 +Text output after a call to settextjustify is justified around the
 +current position (CP) horizontally and vertically, as specified. The
 +default justification settings are LEFT_TEXT (for horizontal) and
 +TOP_TEXT (for vertical). The enumeration text_just in graphics.h provides
 +names for the horiz and vert settings passed to settextjustify.
 +==== Description of settextjustify ==== 
 +<code c>  Name  Value  Action
 +horiz       LEFT_TEXT   0  left-justify text
 +   CENTER_TEXT 1  center text
 +   RIGHT_TEXT  2  right-justify text
 +vertical    BOTTOM_TEXT 0  bottom-justify text
 +   CENTER_TEXT 1  center text
 +   TOP_TEXT    2  top-justify text
 +If horiz is equal to LEFT_TEXT and direction equals HORIZ_DIR, the CP's x
 +component is advanced after a call to outtext(string) by textwidth
 +(string).
 +settextjustify affects text written with outtext and cannot be used with
 +text mode and stream functions.
 +</code>
 +
 +
 +==== Example of settextjustify ====
 +<code c>
 +/* settextjustify example */
 +
 +#include <graphics.h>
 +#include <stdlib.h>
 +#include <stdio.h>
 +#include <conio.h>
 +
 +/* function prototype */
 +void xat(int x, int y);
 +
 +/* horizontal text justification settings */
 +char *hjust[] = { "LEFT_TEXT", "CENTER_TEXT", "RIGHT_TEXT" };
 +
 +/* vertical text justification settings */
 +char *vjust[] = { "BOTTOM_TEXT", "CENTER_TEXT", "TOP_TEXT" };
 +
 +int main(void)
 +{
 +   /* request autodetection */
 +   int gdriver = DETECT, gmode, errorcode;
 +   int midx, midy, hj, vj;
 +
 +   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 */
 +   }
 +
 +   midx = getmaxx() / 2;
 +   midy = getmaxy() / 2;
 +
 +
 +   /* loop through text justifications */
 +   for (hj=LEFT_TEXT; hj<=RIGHT_TEXT; hj++)
 +for (vj=LEFT_TEXT; vj<=RIGHT_TEXT; vj++) {
 +   cleardevice();
 +
 +   /* set the text justification */
 +   settextjustify(hj, vj);
 +
 +   /* create a message string */
 +   sprintf(msg, "%s  %s", hjust[hj], vjust[vj]);
 +
 +   /* create crosshairs on the screen */
 +   xat(midx, midy);
 +
 +   /* output the message */
 +   outtextxy(midx, midy, msg);
 +
 +   getch();
 +}
 +
 +   /* clean up */
 +   closegraph();
 +   return 0;
 +}
 +
 +void xat(int x, int y) /* draw an x at (x,y) */
 +{
 +  line(x-4, y, x+4, y);
 +  line(x, y-4, x, y+4);
 +}
 +</code>
 +
 +
 +==== See also ====
 +[[gettextsettings]]
 +[[graphresults]]
 +[[outtext]]
 +[[settextstyle]]
 +
 +
 +===== output of settextjustify example ===== 
 +
 +    no output of example at the moment
 +    do not hesitate and add it...  
 +
 +
  

on the occasion of the current invasion of Russia in Ukraine

Russian Stop this War

Impressum Datenschutz