38#ifndef DRAIN_LAYOUT_SVG
39#define DRAIN_LAYOUT_SVG
41#include <drain/util/EnumFlagger.h>
67 UNDEFINED_DIRECTION=0,
130 AxisFlagger orientation = AlignBase::HORZ;
132 DirectionFlagger direction = INCR;
135 LayoutSVG(AlignBase::Axis v=AlignBase::HORZ,
Direction d=INCR) : orientation(v), direction(d) {
139 LayoutSVG(
const LayoutSVG & layout) : orientation(layout.orientation), direction(layout.direction){
147 template <
typename V>
158 template <
typename D>
168 template <
typename D,
typename V>
170 void set(
const D & d,
const V &v){
186DRAIN_ENUM_DICT(image::LayoutSVG::DirectionHorz);
187DRAIN_ENUM_DICT(image::LayoutSVG::DirectionVert);
198DRAIN_ENUM_OSTREAM(image::LayoutSVG::DirectionHorz)
199DRAIN_ENUM_OSTREAM(image::LayoutSVG::DirectionVert)
Flagger accepting values of enum type E.
Definition EnumFlagger.h:56
Higher level controller for setting alignments.
Definition LayoutSVG.h:57
void setDirection(const D &dir)
Set direction: coordinates increasing or decreasing.
Definition LayoutSVG.h:160
Direction
Direction for "Stacked", horziontally or vertically sequentially aligned layout.
Definition LayoutSVG.h:66
GroupType
Experimental SVG style classes (requests)
Definition LayoutSVG.h:108
void setOrientation(const V &axis)
Set orientation: horizontal or vertical axis.
Definition LayoutSVG.h:149
void set(const D &d, const V &v)
Set direction and orientation.
Definition LayoutSVG.h:170
A container for a static dictionary of enumeration values.
Definition Enum.h:51
Definition Direction.h:99