In computer science and visualization, a canvas is a container that holds various drawing elements (lines, shapes, text, frames containing others elements, etc.).
It is sometimes called a scene graph because it arranges the logical representation of a user interface or graphical scene.
Some implementations also define the spatial representation and allow the user to interact with the elements via a graphical user interface.
[1] Various free and open-source canvas or scene-graph libraries allow developers to construct a user interface and/or user-interface elements for their computer programs.
Examples of free and open-source scene-graph canvas options include: Some canvas modules within various libraries do not provide the power of a full scene-graph - they operate at a lower level which requires programmers to provide code such as mapping mouse-clicks to objects in the canvas.