#pragma once #include "Panel.hpp" #include "Label.hpp" class Font; class ActionsHistory; namespace gui { class TextBoxHistorian; class TextBox : public Container { const Input& inputEvents; LabelCache rawTextCache; std::shared_ptr history; std::unique_ptr historian; int editedHistorySize = 0; protected: glm::vec4 focusedColor {0.0f, 0.0f, 0.0f, 1.0f}; glm::vec4 invalidColor {0.1f, 0.05f, 0.03f, 1.0f}; glm::vec4 textColor {1.0f, 1.0f, 1.0f, 1.0f}; glm::vec4 padding {2}; std::shared_ptr