added camera pan for parallax and improved line drawing with preview line
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
#pragma once
|
||||
#include "event.h"
|
||||
#include "shape.h"
|
||||
|
||||
NS_START
|
||||
class Canvas;
|
||||
@@ -13,6 +14,8 @@ public:
|
||||
virtual void on_MouseEvent(MouseEvent* me, glm::vec2& loc) {}
|
||||
virtual void on_KeyEvent(KeyEvent* ke) {}
|
||||
virtual void on_GestureEvent(GestureEvent* ge) {}
|
||||
virtual void on_Draw(const glm::mat4& ortho, const glm::mat4& proj, const glm::mat4& camera) {}
|
||||
virtual void init() {}
|
||||
};
|
||||
|
||||
class CanvasModeBasicCamera : public CanvasMode
|
||||
@@ -43,7 +46,22 @@ public:
|
||||
|
||||
class CanvasModeLine : public CanvasMode
|
||||
{
|
||||
int m_stage{0};
|
||||
ui::LineSegment m_line;
|
||||
bool m_dragging = false;
|
||||
glm::vec2 m_drag_start;
|
||||
glm::vec2 m_drag_pos;
|
||||
public:
|
||||
virtual void on_MouseEvent(MouseEvent* me, glm::vec2& loc) override;
|
||||
virtual void on_Draw(const glm::mat4& ortho, const glm::mat4& proj, const glm::mat4& camera) override;
|
||||
virtual void init() override;
|
||||
};
|
||||
|
||||
class CanvasModeCamera : public CanvasMode
|
||||
{
|
||||
bool m_dragging = false;
|
||||
glm::vec2 m_drag_start;
|
||||
glm::vec2 m_pos_start;
|
||||
ui::Plane m_face_plane;
|
||||
public:
|
||||
virtual void on_MouseEvent(MouseEvent* me, glm::vec2& loc) override;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user