Merge pull request #251 from x-qq/fix_scrollbar_segfaults

fix for scrollbar segfaults

* fixes #206
* fixes broken mousewheel scrolling of the scenedit palette
* removed boost threads dependency
* added foundation for further refactoring of the drawing and event handling code: interfaces and drawable manager with layering
* removed a bunch of unneeded redraw calls
* removed some repeated recalculation of effectively constant values (boe.actions)
* removed recalculation of effectively constant scrollbar and button positions (boe.graphics)

Closes #251
This commit is contained in:
2020-02-09 15:55:51 -05:00
parent f141149287
commit deac7b0cb6
27 changed files with 444 additions and 219 deletions

View File

@@ -7,14 +7,16 @@
#include <TGUI/TGUI.hpp>
#include <vector>
#include "undo.hpp"
#include "event_listener.hpp"
#include "drawable.hpp"
class OpenBoESceneditMenu {
class OpenBoESceneditMenu : public iEventListener, public iDrawable {
public:
OpenBoESceneditMenu(sf::RenderWindow &);
bool handle_event(const sf::Event&);
void draw();
virtual bool handle_event(const sf::Event&) override;
virtual void draw() override;
void update_for_mode(short mode);
void update_edit_menu(cUndoList const &);
@@ -23,7 +25,6 @@ private:
using MenuHierarchy = std::vector<sf::String>;
tgui::Gui tgui;
sf::RenderWindow& mainPtr;
const sf::String internal_menubar_widget_name { "openboe-scenedit-menu" };
tgui::MenuBar::Ptr build_menubar() const;