getaspectration


Syntax

#include <graphics.h>

void getaspectratio(int *xasp, int *yasp);

Description
The y aspect factor, *yasp, is normalized to 10,000. On all graphics adapters except the VGA, *xasp (the x aspect factor) is less than *yasp because the pixels are taller than they are wide. On the VGA, which has "square" pixels, *xasp equals *yasp. In general, the relationship between *yasp and *xasp can be stated as

*yasp = 10,000

*xasp <= 10,000

getaspectratio gets the values in *xasp and *yasp.

Return Value
None.

See also
None.

Example

/* getaspectratio example */ 



#include <graphics.h>

#include <stdlib.h>

#include <stdio.h>

#include <conio.h>



main()

{

   /* request autodetection */

   int gdriver = DETECT, gmode, errorcode;

   int xasp, yasp, midx, midy;





   /* 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;

   setcolor(getmaxcolor());



   /* get current aspect ratio settings */

   getaspectratio(&xasp, &yasp);



   /* draw normal circle */

   circle(midx, midy, 100);

   getch();



   /* draw wide circle */

   cleardevice();

   setaspectratio(xasp/2, yasp);

   circle(midx, midy, 100);

   getch();





   /* draw narrow circle */

   cleardevice();

   setaspectratio(xasp, yasp/2);

   circle(midx, midy, 100);



   /* clean up */

   getch();

   closegraph();

   return 0;

}


Back to index