Layout (computing)
In computing, layout is the process of calculating the position of objects in space subject to various constraints. This functionality can be part of an application or packaged as a reusable component or library.
Page layout is the computation of the position of the paragraphs, tabs, sentences, words and letters of a text. This is done by desktop publishing software, typesetting software and web browser engines. These in turn include font layout and rendering engines, that calculate the correct position of glyphs, which can be a challenge with complex scripts. Images can also be embedded in the text.
Another form of layout is found in layout managers. They are part of widget toolkits and have the ability to automatically calculate a widget's position based on alignment constraints without the need for the programmer to specify absolute coordinates.
Graph drawing software automatically determine the position of the vertexes and edges of a graph with various goals like minimization of the number of edge intersections, minimization of total area or production of an aesthetically pleasing result. This type of software is used for multiple purposes including visualization and as part of electronic design automation tools for the place and route step.
See also
- Page layout
- Document layout analysis (the reverse process)
- Cassowary constraint solver (a constraint solver developed for gui layout)