Module runa_orbiter::utils::geometry::coords
source · Expand description
Tag types for makring the coordinate system of a value.
Structs
- Buffer local coordinates.
- Coordinates local to an output. An output is usually a transformed part of the screen.
- Size/location in physical units like meters, inches, etc.
- Screen coordinates. The compositor can have a virutal “screen”, essentially a unified canvas where all the windows are drawn. This is that coordinate system.
- Scale invariant screen coordinates. Used to determine intersection between surfaces and outputs. The reason for this is, the actual pixel size of a surface can change depends on how it’s scaled, which depends on which output an surface is on. If intersection between surface and output is calculated using the pixel coordinates, there wll be a circular dependency, which could create a feedback loop.
- Surface local coordinates, for positioning subsurfaces (and maybe popups). This is x to the left, y down
Traits
- A tag trait for coordinate spaces, sealed so that only the types defined in this module can implement it.
- Mapping from one coordinate space to another.