2018-04-20 10:58:07 +00:00
|
|
|
#ifndef slic3r_2DBed_hpp_
|
|
|
|
#define slic3r_2DBed_hpp_
|
|
|
|
|
2018-01-25 12:46:04 +00:00
|
|
|
#include <wx/wx.h>
|
2018-11-26 13:41:58 +00:00
|
|
|
#include "libslic3r/Config.hpp"
|
2018-01-25 12:46:04 +00:00
|
|
|
|
|
|
|
namespace Slic3r {
|
|
|
|
namespace GUI {
|
|
|
|
|
|
|
|
class Bed_2D : public wxPanel
|
|
|
|
{
|
2018-04-10 08:31:58 +00:00
|
|
|
bool m_user_drawn_background = true;
|
2018-01-25 12:46:04 +00:00
|
|
|
|
|
|
|
bool m_painted = false;
|
2018-01-30 11:10:12 +00:00
|
|
|
bool m_interactive = false;
|
2018-01-25 12:46:04 +00:00
|
|
|
double m_scale_factor;
|
2018-08-21 19:05:24 +00:00
|
|
|
Vec2d m_shift = Vec2d::Zero();
|
|
|
|
Vec2d m_pos = Vec2d::Zero();
|
|
|
|
std::function<void(Vec2d)> m_on_move = nullptr;
|
2018-01-25 12:46:04 +00:00
|
|
|
|
2018-08-21 19:05:24 +00:00
|
|
|
Point to_pixels(Vec2d point);
|
|
|
|
Vec2d to_units(Point point);
|
2018-01-25 12:46:04 +00:00
|
|
|
void repaint();
|
2018-01-30 11:10:12 +00:00
|
|
|
void mouse_event(wxMouseEvent event);
|
2018-08-21 19:05:24 +00:00
|
|
|
void set_pos(Vec2d pos);
|
2018-01-30 11:10:12 +00:00
|
|
|
|
2018-01-25 12:46:04 +00:00
|
|
|
public:
|
2019-02-04 09:35:16 +00:00
|
|
|
Bed_2D(wxWindow* parent);
|
2018-10-31 11:56:08 +00:00
|
|
|
~Bed_2D() {}
|
2018-01-25 12:46:04 +00:00
|
|
|
|
2018-08-21 19:05:24 +00:00
|
|
|
std::vector<Vec2d> m_bed_shape;
|
2018-01-25 12:46:04 +00:00
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
} // GUI
|
|
|
|
} // Slic3r
|
2018-04-20 10:58:07 +00:00
|
|
|
|
|
|
|
#endif /* slic3r_2DBed_hpp_ */
|