build/commonjs/SVG.js
function (circle, options, redraw) {
            if (typeof options === "undefined") { options = {}; }
            if (typeof redraw === "undefined") { redraw = false; }
            var screen = this.screen, prop, opts, svgCircle = document.createElementNS('http://www.w3.org/2000/svg', 'circle');

            svgCircle.setAttribute('cx', circle.center[0]);
            svgCircle.setAttribute('cy', circle.center[1]);
            svgCircle.setAttribute('r', circle.radius);

            if (options) {
                svgCircle.setAttribute('stroke-width', (options.lineWidth || 4) / (screen.scale.x - screen.scale.y) + '');
                opts = MathLib.SVG.convertOptions(options);
                for (prop in opts) {
                    if (opts.hasOwnProperty(prop)) {
                        svgCircle.setAttribute(prop, opts[prop]);
                    }
                }
            }

            this.ctx.appendChild(svgCircle);

            if (!redraw) {
                this.stack.push({
                    type: 'circle',
                    object: circle,
                    options: options
                });
            }

            return this;
        }
function (circle, options, redraw) {
            if (typeof options === "undefined") { options = {}; }
            if (typeof redraw === "undefined") { redraw = false; }
            var screen = this.screen, prop, opts, svgCircle = document.createElementNS('http://www.w3.org/2000/svg', 'circle');

            svgCircle.setAttribute('cx', circle.center[0]);
            svgCircle.setAttribute('cy', circle.center[1]);
            svgCircle.setAttribute('r', circle.radius);

            if (options) {
                svgCircle.setAttribute('stroke-width', (options.lineWidth || 4) / (screen.scale.x - screen.scale.y) + '');
                opts = MathLib.SVG.convertOptions(options);
                for (prop in opts) {
                    if (opts.hasOwnProperty(prop)) {
                        svgCircle.setAttribute(prop, opts[prop]);
                    }
                }
            }

            this.ctx.appendChild(svgCircle);

            if (!redraw) {
                this.stack.push({
                    type: 'circle',
                    object: circle,
                    options: options
                });
            }

            return this;
        }
function ( circle , options , redraw ) { if ( typeof options === "undefined" ) { options = { } ; } if ( typeof redraw === "undefined" ) { redraw = false ; } var screen = this . screen , prop , opts , svgCircle = document . createElementNS ( 'http://www.w3.org/2000/svg' , 'circle' ) ; svgCircle . setAttribute ( 'cx' , circle . center [ 0 ] ) ; svgCircle . setAttribute ( 'cy' , circle . center [ 1 ] ) ; svgCircle . setAttribute ( 'r' , circle . radius ) ; if ( options ) { svgCircle . setAttribute ( 'stroke-width' , ( options . lineWidth || 4 ) / ( screen . scale . x - screen . scale . y ) + '' ) ; opts = MathLib . SVG . convertOptions ( options ) ; for ( prop in opts ) { if ( opts . hasOwnProperty ( prop ) ) { svgCircle . setAttribute ( prop , opts [ prop ] ) ; } } } this . ctx . appendChild ( svgCircle ) ; if ( ! redraw ) { this . stack . push ( { type : 'circle' , object : circle , options : options } ) ; } return this ; }
Draws a circle on the screen.

@param {Circle} circle The circle to be drawn
@param {drawingOptions} options Optional drawing options
@param {boolean} redraw Indicates if the current draw call is happening during a redraw
@return {Screen} Returns the screen
Draws a circle on the screen .