Magnum::Ui::LineLayer::Shared::Configuration class

Configuration of a line layer shared state.

See the LineLayer class documentation for information about setting up an instance of this layer and using it.

Constructors, destructors, conversion operators

Configuration(UnsignedInt styleUniformCount, UnsignedInt styleCount) explicit
Constructor.
Configuration(UnsignedInt styleCount) explicit
Construct with style uniform count being the same as style count.

Public functions

auto styleUniformCount() const -> UnsignedInt
Style uniform count.
auto styleCount() const -> UnsignedInt
Style count.
auto capStyle() const -> LineCapStyle
Cap style.
auto setCapStyle(LineCapStyle style) -> Configuration&
Set cap style.
auto joinStyle() const -> LineJoinStyle
Join style.
auto setJoinStyle(LineJoinStyle style) -> Configuration&
Set join style.

Function documentation

Magnum::Ui::LineLayer::Shared::Configuration::Configuration(UnsignedInt styleUniformCount, UnsignedInt styleCount) explicit

Constructor.

The styleUniformCount parameter specifies the size of the uniform array, styleCount then the number of distinct styles to use for drawing. The sizes are independent in order to allow styles with different paddings share the same uniform data. Both styleUniformCount and styleCount is expected to be non-zero. Style data are then set with setStyle().

Magnum::Ui::LineLayer::Shared::Configuration::Configuration(UnsignedInt styleCount) explicit

Construct with style uniform count being the same as style count.

Equivalent to calling Configuration(UnsignedInt, UnsignedInt) with both parameters set to styleCount.

Configuration& Magnum::Ui::LineLayer::Shared::Configuration::setCapStyle(LineCapStyle style)

Set cap style.

Unlike for example the SVG specification that uses LineCapStyle::Butt by default, the default value is LineCapStyle::Square, in order to make zero-length lines visible.

Configuration& Magnum::Ui::LineLayer::Shared::Configuration::setJoinStyle(LineJoinStyle style)

Set join style.

Default value is LineJoinStyle::Miter, consistently with the SVG specification.