{
    "project": {
        "name": "CanvasRenderer API",
        "description": "A base class that provides methods for canvas rendering.",
        "version": "0.1.5",
        "url": "https://github.com/vanruesc/canvasrenderer"
    },
    "files": {
        "src\\canvasrenderer.js": {
            "name": "src\\canvasrenderer.js",
            "modules": {},
            "classes": {
                "CanvasRenderer": 1
            },
            "fors": {},
            "namespaces": {}
        }
    },
    "modules": {},
    "classes": {
        "CanvasRenderer": {
            "name": "CanvasRenderer",
            "shortname": "CanvasRenderer",
            "classitems": [],
            "plugins": [],
            "extensions": [],
            "plugin_for": [],
            "extension_for": [],
            "file": "src\\canvasrenderer.js",
            "line": 1,
            "description": "A canvas renderer base class.",
            "is_constructor": 1,
            "params": [
                {
                    "name": "options",
                    "description": "- The settings.",
                    "type": "Object",
                    "optional": true,
                    "props": [
                        {
                            "name": "dt",
                            "description": "- The update rate in seconds.",
                            "type": "Number",
                            "optional": true,
                            "optdefault": "1/60"
                        },
                        {
                            "name": "clearCanvas",
                            "description": "- Whether the canvas should automatically be cleared.",
                            "type": "Boolean",
                            "optional": true,
                            "optdefault": "true"
                        },
                        {
                            "name": "enabled",
                            "description": "- Whether the animation should be rendered. If set to false, the render function will merely update the time.",
                            "type": "Boolean",
                            "optional": true,
                            "optdefault": "true"
                        },
                        {
                            "name": "size",
                            "description": "- The canvas size.",
                            "type": "Number",
                            "optional": true
                        }
                    ]
                }
            ]
        }
    },
    "elements": {},
    "classitems": [
        {
            "file": "src\\canvasrenderer.js",
            "line": 17,
            "description": "Delta time in milliseconds.",
            "itemtype": "property",
            "name": "dt",
            "type": "Number",
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 26,
            "description": "Used for time based rendering. Milliseconds.",
            "itemtype": "property",
            "name": "now",
            "type": "Number",
            "access": "private",
            "tagname": "",
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 36,
            "description": "Used for time based rendering. Milliseconds.",
            "itemtype": "property",
            "name": "then",
            "type": "Number",
            "access": "private",
            "tagname": "",
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 46,
            "description": "Used for time based rendering. Milliseconds.",
            "itemtype": "property",
            "name": "accumulator",
            "type": "Number",
            "access": "private",
            "tagname": "",
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 56,
            "description": "The rendering context.",
            "itemtype": "property",
            "name": "ctx",
            "type": "CanvasRenderingContext2D",
            "access": "private",
            "tagname": "",
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 69,
            "description": "Clear flag.",
            "itemtype": "property",
            "name": "clearCanvas",
            "type": "Boolean",
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 78,
            "description": "Enabled flag.",
            "itemtype": "property",
            "name": "enabled",
            "type": "Boolean",
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 98,
            "description": "The animation loop.\n\nThis ugly thing will evolve into an\narrow function some day!",
            "itemtype": "method",
            "name": "render",
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 111,
            "description": "The canvas.",
            "itemtype": "property",
            "name": "canvas",
            "type": "HTMLCanvasElement",
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 134,
            "description": "The size of the canvas.",
            "itemtype": "property",
            "name": "size",
            "type": "Array",
            "example": [
                "\n [width, height]"
            ],
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 167,
            "description": "Abstract update method.\n\nThis method will be called by the render function\nat a maximum rate of x fps where x corresponds to\nthe refresh rate of the used monitor.",
            "itemtype": "method",
            "name": "update",
            "params": [
                {
                    "name": "elapsed",
                    "description": "- The time since the last update call in milliseconds.",
                    "type": "Number"
                }
            ],
            "throws": {
                "description": "An error if not implemented."
            },
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 185,
            "description": "Abstract draw method.",
            "itemtype": "method",
            "name": "draw",
            "throws": {
                "description": "An error if not implemented."
            },
            "class": "CanvasRenderer"
        },
        {
            "file": "src\\canvasrenderer.js",
            "line": 198,
            "description": "Renders the animation.",
            "itemtype": "method",
            "name": "_render",
            "access": "private",
            "tagname": "",
            "params": [
                {
                    "name": "now",
                    "description": "- The time since the page was loaded.",
                    "type": "DOMHighResTimeStamp"
                }
            ],
            "throws": {
                "description": "An error if update() or draw() hasn't been implemented."
            },
            "class": "CanvasRenderer"
        }
    ],
    "warnings": []
}