| cmd_circle | Function (ROM Call 0x32C)

AMS 1.01 or higher | bascmd.h

void cmd_circle (CESI x, CESI y, CESI radius, CESI drawmode);

Executes TI-Basic 'Circle' command.

cmd_circle displays the Graph Screen and draws, erases, or inverts a circle on it. The parameters x, y, radius, and drawmode should point to four items on the expression stack, which represent respectively the coordinates of the center of the circle, the radius, and the drawing mode. All coordinates and the radius are integer or floating point values which are relative to the current window settings (you can change them using the "Window Editor" application, or directly by storing values in system variables like "xmin", using the VarStore function). drawmode should point to one of the following values:

1 | Draws the circle.
0 | Erases the circle.
-1 | Inverts pixels along the circle.

See also cmd_pxlcircle, which uses pixel coordinates instead of window-relative ones, and DrawClipEllipse for much faster low-level circle/ellipse drawing (independently of the Graph Screen).

Uses: ER_catch, ER_success, ER_throwVar, GetValue, push_expression, push_Float, push_quantum, top_estack, gr_active, OSCheckBreak, is_transfinite, ForceFloat, GraphActivate, GrLineFlt, QSkipGraphErr, XCvtFtoP, XCvtPtoF, YCvtFtoP, YCvtFtoWin, MakeWinRect, WinAttr, WinEllipse, WinLine, _bcd_math

See also: cmd_pxlcircle, DrawClipEllipse