diff options
author | dec05eba <dec05eba@protonmail.com> | 2018-05-08 18:06:43 +0200 |
---|---|---|
committer | dec05eba <dec05eba@protonmail.com> | 2018-05-08 18:06:51 +0200 |
commit | 15c4434de0c2cd12e09c2f41e898c0b124194a97 (patch) | |
tree | 0bf01cd49a22b7aa79304ed0e9d34ac265d8393c /include/MessageBoard.hpp | |
parent | 4f6c843523f45708d8bbed25b3677f69c4208a38 (diff) |
Add context menu, add context menu to delete message
Diffstat (limited to 'include/MessageBoard.hpp')
-rw-r--r-- | include/MessageBoard.hpp | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/include/MessageBoard.hpp b/include/MessageBoard.hpp index a4dc5a6..a6867d2 100644 --- a/include/MessageBoard.hpp +++ b/include/MessageBoard.hpp @@ -6,7 +6,9 @@ #include <SFML/Graphics/RenderTexture.hpp> #include <SFML/Graphics/RenderWindow.hpp> #include <SFML/Window/Event.hpp> +#include <odhtdb/Hash.hpp> #include <stdexcept> +#include <mutex> namespace dchat { @@ -16,25 +18,23 @@ namespace dchat { friend class Channel; public: - MessageBoard(const sf::Vector2u &size); + MessageBoard(Channel *channel); ~MessageBoard(); void processEvent(const sf::Event &event); void draw(sf::RenderWindow &window, Cache &cache); private: void updateStaticContentTexture(const sf::Vector2u &newSize); - void addMessage(Message *message); + void addMessage(Message *message, const odhtdb::Hash &id); + void deleteMessage(const odhtdb::Hash &id); void drawDefault(sf::RenderWindow &window, Cache &cache); void drawSimple(sf::RenderWindow &window, Cache &cache); private: - sf::RenderTexture staticContentTexture; + Channel *channel; bool dirty; - bool selectingText; - bool leftMouseButtonPressed; - sf::Vector2f mousePos; - sf::Vector2f selectingTextStart; std::vector<Message*> messages; + odhtdb::MapHash<Message*> messageIdMap; double scroll; double scrollSpeed; sf::Clock frameTimer; @@ -43,5 +43,6 @@ namespace dchat sf::Vector2f backgroundSizeWithoutPadding; sf::Vector2f backgroundSize; sf::Vector2f backgroundPos; + std::mutex messageProcessMutex; }; } |