// Copyright (c) 2017-2021, Mudita Sp. z.o.o. All rights reserved. // For licensing, see https://github.com/mudita/MuditaOS/LICENSE.md #pragma once #include #include #include "Common.hpp" #include "Label.hpp" #include "TextDocument.hpp" #include "BoxLayout.hpp" #include "TextLineCursor.hpp" namespace gui { enum class UnderlineDrawMode { WholeLine, Concurrent }; struct UnderLineProperties { bool draw = false; Position underLinePadding = 0; unsigned int thickness = 1; Length underlineHeight = 0; UnderlineDrawMode drawUnderlineMode = UnderlineDrawMode::WholeLine; }; /// interface element for TextDocument->getLine() <-- Text class TextLine { unsigned int shownLetterCount = 0; Length widthUsed = 0; Length heightUsed = 0; Length maxWidth = 0; std::list