Borland C++ reference

setaspectratio

raw OCR

Changes the default aspect ratio correction factor.

Defined in header <graphics.h>

Syntax

#include <graphics.h>
void  far setaspectratio(int xasp, int yasp);

Portability

DOSUNIXWindowsANSI CC++ only
■

Remarks

setaspectratio changes the default aspect ratio of the graphics system. The graphics system uses the aspect ratio to make sure that circles are round onscreen. If circles appear elliptical, the monitor is not aligned properly. You could correct this in the hardware by realigning the monitor, but it's easier to change in the software by using setaspectratio to set the aspect ratio. To obtain the current aspect ratio from the system, call getaspectratio.

Return value

None.

See also

Example

#include <graphics.h>
#include <stdlib.h>
#include <stdio.h>
#include <conio.h>

int main(void)
{
   /* 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:");
      getchO ;
      exit(l);               /* 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);
getchO;

/* clear the screen  */
cleardeviceO  ;
/* adjust the aspect  for a wide circle */
setaspectratio (xasp/2, yasp);
circle (midx, midy, 100);
getchO ;
/* adjust the aspect  for a narrow circle */
cleardeviceO;
setaspectratio (xasp, yasp/2);
circle (midx, midy, 100);

/* clean up  */
getchO ;
closegraphO  ;
return 0;

Differences from modern implementations

Nothing recorded yet.

Modern references

These are search links, not yet checked by hand.