OrcaSlicer/src/slic3r/GUI/2DBed.hpp
yw4z a91ee67ac7
2D Bed (Bed shape dialog) improvements (#9524)
* init

* fix grid & text colors for light theme

* scale axis

* fix custom bed plate not appearing

* merge functions for generating gridlines

* simplify

* Fix flatpak build

---------

Co-authored-by: Noisyfox <timemanager.rick@gmail.com>
2025-05-04 16:38:38 +08:00

38 lines
870 B
C++

#ifndef slic3r_2DBed_hpp_
#define slic3r_2DBed_hpp_
#include <wx/wx.h>
#include "libslic3r/Config.hpp"
namespace Slic3r {
namespace GUI {
class Bed_2D : public wxPanel
{
static const int Border = 10;
bool m_user_drawn_background = true;
double m_scale_factor;
Vec2d m_shift = Vec2d::Zero();
Vec2d m_pos = Vec2d::Zero();
Point to_pixels(const Vec2d& point, int height);
Point to_pixels(const Point& point, int height);
void set_pos(const Vec2d& pos);
public:
explicit Bed_2D(wxWindow* parent);
static int calculate_grid_step(const BoundingBox& bb);
static std::vector<Polylines> generate_grid(const ExPolygon& poly, const BoundingBox& pp_bbox, const Vec2d& origin, const float& step, const float& scale);
void repaint(const std::vector<Vec2d>& shape);
};
} // GUI
} // Slic3r
#endif /* slic3r_2DBed_hpp_ */