add history to guides
This commit is contained in:
@@ -3,6 +3,7 @@
|
||||
#include "shape.h"
|
||||
#include "brush.h"
|
||||
#include "texture.h"
|
||||
#include "action.h"
|
||||
#include <poly2tri.h>
|
||||
|
||||
enum class kCanvasMode
|
||||
@@ -106,6 +107,7 @@ public:
|
||||
virtual void leave(kCanvasMode next) override;
|
||||
};
|
||||
|
||||
struct ray_t { glm::vec3 o, d; };
|
||||
class CanvasModeGrid : public CanvasMode
|
||||
{
|
||||
LineSegment m_line;
|
||||
@@ -113,15 +115,30 @@ class CanvasModeGrid : public CanvasMode
|
||||
glm::vec3 dir;
|
||||
int m_plane_id;
|
||||
bool m_dragging = false;
|
||||
struct ray_t { glm::vec3 o, d; };
|
||||
std::vector<ray_t> m_lines;
|
||||
bool m_added = false;
|
||||
std::unique_ptr<class ActionModeGrid> m_action;
|
||||
public:
|
||||
bool m_highlight = false;
|
||||
int m_selected_index;
|
||||
std::vector<ray_t> m_lines;
|
||||
virtual void on_MouseEvent(MouseEvent* me, glm::vec2& loc) override;
|
||||
virtual void on_KeyEvent(KeyEvent* ke) override;
|
||||
virtual void on_Draw(const glm::mat4& ortho, const glm::mat4& proj, const glm::mat4& camera) override;
|
||||
virtual void init() override;
|
||||
void commit();
|
||||
void clear();
|
||||
};
|
||||
struct ActionModeGrid : public Action
|
||||
{
|
||||
CanvasModeGrid* m_mode;
|
||||
bool m_highlight;
|
||||
int m_selected_index;
|
||||
std::vector<ray_t> m_lines;
|
||||
virtual void run() override { }
|
||||
virtual Action* get_redo() override;
|
||||
virtual void undo() override;
|
||||
virtual size_t memory() override { return 0; }
|
||||
};
|
||||
|
||||
class CanvasModeCamera : public CanvasMode
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user