#pragma once #include #include namespace rack { namespace ui { /** Positions children in a row/column based on their widths/heights */ struct SequentialLayout : widget::Widget { enum Orientation { HORIZONTAL_ORIENTATION, VERTICAL_ORIENTATION, }; enum Alignment { LEFT_ALIGNMENT, CENTER_ALIGNMENT, RIGHT_ALIGNMENT, }; Orientation orientation = HORIZONTAL_ORIENTATION; Alignment alignment = LEFT_ALIGNMENT; /** Space between box bounds. */ math::Vec margin; /** Space between adjacent elements. */ math::Vec spacing; void step() override; }; } // namespace ui } // namespace rack