Bugfix Views

This commit is contained in:
brunoherbelin
2020-05-21 11:34:06 +02:00
parent f16c1843c3
commit 34c9d85863
3 changed files with 48 additions and 54 deletions

16
View.h
View File

@@ -14,10 +14,12 @@ public:
typedef enum {RENDERING = 0, MIXING=1, GEOMETRY=2, LAYER=3, INVALID=4 } Mode;
View(Mode m);
virtual ~View() {}
inline Mode mode() const { return mode_; }
virtual void update (float dt);
virtual void draw () = 0;
virtual void draw ();
virtual void zoom (float) {}
virtual void drag (glm::vec2, glm::vec2);
virtual void grab (glm::vec2, glm::vec2, Source*, std::pair<Node *, glm::vec2>) {}
@@ -28,7 +30,7 @@ public:
Scene scene;
// hack to avoid reordering scene of view if not necessary
static bool need_reordering_;
static bool need_deep_update_;
protected:
Mode mode_;
@@ -39,9 +41,7 @@ class MixingView : public View
{
public:
MixingView();
~MixingView();
void draw () override;
void zoom (float factor) override;
void grab (glm::vec2 from, glm::vec2 to, Source *s, std::pair<Node *, glm::vec2>) override;
@@ -69,23 +69,19 @@ class GeometryView : public View
{
public:
GeometryView();
~GeometryView();
void draw () override;
void update (float dt) override;
void zoom (float factor) override;
void grab (glm::vec2 from, glm::vec2 to, Source *s, std::pair<Node *, glm::vec2> pick) override;
private:
};
class LayerView : public View
{
public:
LayerView();
~LayerView();
void draw () override;
void update (float dt) override;
void zoom (float factor) override;
void grab (glm::vec2 from, glm::vec2 to, Source *s, std::pair<Node *, glm::vec2> pick) override;