#pragma once #include #include #include "./texture_uploader.hpp" #include "./texture_cache.hpp" #include "./tox_avatar_loader.hpp" #include "./file_selector.hpp" #include #include class ChatGui4 { ConfigModelI& _conf; RegistryMessageModel& _rmm; Contact3Registry& _cr; ToxAvatarLoader _tal; TextureCache _contact_tc; //TextureCache _msg_tc; FileSelector _fss; std::optional _selected_contact; bool _show_chat_extra_info {true}; float TEXT_BASE_WIDTH {1}; float TEXT_BASE_HEIGHT {1}; public: ChatGui4( ConfigModelI& conf, 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); };