// PROGRAM circle #include "TrueBASIC.h" int main(); void compute_aspect_ratio(float r, float *x, float *y); int main() { float r, xwin, ywin; GWopen(0); r = 1; // radius of circle compute_aspect_ratio(r, &xwin, &ywin); GWindow(-xwin, -ywin, xwin, ywin); GWsetpen(BLUE, -1, -1, -1); GWellipse(-r, -r, r, r); // draw circle GWquit(); return 0; } void compute_aspect_ratio(float r, float *x, float *y) { int px, py; float aspect_ratio, m, size; m = 0.1f*r; // margin size = r + m; // px, py: # pixels in horizonal and vertical direction GWsize(2, &px, &py); if(px > py) { aspect_ratio = (float)px/py; (*x) = aspect_ratio*size; (*y) = size; } else { aspect_ratio = (float)py/px; (*x) = size; (*y) = aspect_ratio*size; } }