Canvas (GUI)
In computer science and visualization, a canvas is a container that holds various drawing elements. It takes its name from the canvas used in visual arts. 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.
Library support
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:
- in C, from the Enlightenment project
- in C, Clutter, associated with the GNOME project
- in C, GTK Scene Graph Kit
- in C++ or optionally in Qt's own markup language QML: Qt Quick, provides a associated with the Qt project
- in C++, OpenSceneGraph, a 3D graphics API using OpenGL
- in C++, the OGRE engine, based on a scene graph, supports multiple scene managers
- in C++, OpenSG, a scene-graph system for real-time graphics, with clustering support and multi-thread safety
- in C++, the FlightGear Flight Simulator uses a custom Canvas system that is hardware-accelerated using OpenSceneGraph/OpenGL, OpenVG/ShivaVG:
- in Java, the Java FX scene graph with 2D and 3D functionality
- in Tcl and other languages such as Perl, Python, and Ruby, the Tk toolkit provides a
canvaswidget for 2D graphics - in Tcl and other languages such as Perl and Python, is an extended replacement for the Tk canvas, which adds support for hierarchical grouping, clipping, affine transformations, anti-aliasing, and specific items for air traffic control.
- in C++, KDE Plasma Workspaces canvas
- the Canvas element in HTML5
- for Java, the AWT library
- for Java, the Java FX library
- for Java, the Swing library
- for Java, the SWT library , associated with Eclipse
- for Java-like JavaScript, the GWT library
- in C++, the which renders using the Cairo library
- in C, , a GTK canvas widget which renders using the Cairo library
- in C, , a GTK canvas widget which renders using the Cairo library