Here is an example program for drawing circles or ellipses, filled or unfilled:
PROC draw: LOCAL d% DO dINIT "Draw a circle or an ellipse?" dBUTTONS "Circle",%c OR $200,"Ellipse",%e OR $200,"Cancel",-27 d%=DIALOG IF d%=%c circle: ELSEIF d%=%e ellipse: ENDIF UNTIL d%=0 ENDP PROC circle: LOCAL x&,y&,r&,f% dINIT "Drawing parameters" x&=320 :dLONG x&,"Centre x position",0,639 y&=120 :dLONG y&,"Centre y position",0,249 r&=20 :dLONG r&,"Radius",1,320 f%=0 :dCHECKBOX f%,"Filled" dBUTTONS "Draw",%d,"Cancel",-27 IF DIALOG gAT x&,y& gCIRCLE r&,f% GET gCLS ENDIF ENDP PROC ellipse: LOCAL x&,y&,hr&,vr&,f% dINIT "Drawing parameters" x&=320 :dLONG x&,"Centre x position",0,639 y&=120 :dLONG y&,"Centre y position",0,249 hr&=20 :dLONG hr&,"Horizontal Radius",1,320 vr&=20 :dLONG vr&,"Vertical Radius",1,320 f%=0 :dCHECKBOX f%,"Filled" dBUTTONS "Draw",%d,"Cancel",-27 IF DIALOG gAT x&,y& gELLIPSE hr&,vr&,f% GET gCLS ENDIF ENDP