15#include <AUI/Common/AObject.h>
16#include <AUI/Common/AVector.h>
18#include <AUI/Enum/ATextAlign.h>
19#include <AUI/Enum/AFloat.h>
25 virtual ~Entry() =
default;
27 virtual glm::ivec2 getSize() = 0;
28 virtual void setPosition(glm::ivec2 position) {}
31 virtual AFloat getFloat()
const {
36 virtual bool forcesNextLine()
const {
41 bool isFloating()
const {
42 return getFloat() != AFloat::NONE;
46 virtual bool escapesEdges() {
52 float mLineHeight = 1.f;
57 void setLineHeight(
float lineHeight) {
58 mLineHeight = lineHeight;
62 mTextAlign = textAlign;
72template<
typename Container = AVector<_<AWordWrappingEngineBase::Entry>>>
75 using Entries = Container;
78 void performLayout(
const glm::ivec2& offset,
const glm::ivec2& size);
80 void setEntries(Container entries) {
81 mEntries = std::move(entries);
85 Container& entries() {
91 const Container& entries()
const {
Utility wrapper implementing the stack-allocated (fast) optional idiom.
Definition: AOptional.h:32
Definition: AWordWrappingEngine.h:23
Definition: AWordWrappingEngine.h:21
Definition: AWordWrappingEngine.h:73
ATextAlign
Controls the text alignment inside AView.
Definition: ATextAlign.h:20