#pragma once #include #include "./texture_uploader.hpp" #include "./file_selector.hpp" #include #include class ChatGui4 { RegistryMessageModel& _rmm; Contact3Registry& _cr; FileSelector _fss; std::optional _selected_contact; bool _show_chat_extra_info {true}; float TEXT_BASE_WIDTH {1}; float TEXT_BASE_HEIGHT {1}; public: ChatGui4( RegistryMessageModel& rmm, Contact3Registry& cr, TextureUploaderI& tu ); public: void render(void); private: void renderMessageBodyText(Message3Registry& reg, const Message3 e); void renderMessageBodyFile(Message3Registry& reg, const Message3 e); void renderMessageExtra(Message3Registry& reg, const Message3 e); void renderContactList(void); bool renderContactListContactBig(const Contact3 c); bool renderContactListContactSmall(const Contact3 c); bool renderSubContactListContact(const Contact3 c); };