Base class for the placement helper.
virtual void add_item(const point &size)=0
Adds a item to be placed.
virtual point get_origin(const unsigned index) const =0
Gets the origin for an item.
static placer_base * build(const grow_direction::type grow_dir, const unsigned parallel_items)
Builder function.
virtual void initialize()=0
Initialises the placer.
virtual point get_size() const =0
Gets the required size of all items.
std::size_t index(const std::string &str, const std::size_t index)
Codepoint index corresponding to the nth character in a UTF-8 string.
std::size_t size(const std::string &str)
Length in characters of a UTF-8 string.