mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 16:57:53 -06:00
Added ImGuiWrapper
This commit is contained in:
parent
5c054d11ca
commit
57e9d28a84
9 changed files with 772 additions and 0 deletions
68
src/slic3r/GUI/ImGuiWrapper.hpp
Normal file
68
src/slic3r/GUI/ImGuiWrapper.hpp
Normal file
|
@ -0,0 +1,68 @@
|
|||
#ifndef slic3r_ImGuiWrapper_hpp_
|
||||
#define slic3r_ImGuiWrapper_hpp_
|
||||
|
||||
#include <imgui\imgui.h>
|
||||
#include <string>
|
||||
#include <map>
|
||||
|
||||
class wxMouseEvent;
|
||||
|
||||
namespace Slic3r {
|
||||
namespace GUI {
|
||||
|
||||
class ImGuiWrapper
|
||||
{
|
||||
std::string m_glsl_version_string;
|
||||
unsigned int m_shader_handle;
|
||||
unsigned int m_vert_handle;
|
||||
unsigned int m_frag_handle;
|
||||
unsigned int m_vbo_handle;
|
||||
unsigned int m_elements_handle;
|
||||
int m_attrib_location_tex;
|
||||
int m_attrib_location_proj_mtx;
|
||||
int m_attrib_location_position;
|
||||
int m_attrib_location_uv;
|
||||
int m_attrib_location_color;
|
||||
|
||||
typedef std::map<std::string, ImFont*> FontsMap;
|
||||
|
||||
FontsMap m_fonts;
|
||||
unsigned int m_font_texture;
|
||||
|
||||
public:
|
||||
ImGuiWrapper();
|
||||
|
||||
bool init();
|
||||
void shutdown();
|
||||
|
||||
void set_display_size(float w, float h);
|
||||
void update_mouse_data(wxMouseEvent& evt);
|
||||
|
||||
void new_frame();
|
||||
void render();
|
||||
|
||||
void set_next_window_pos(float x, float y, int flag);
|
||||
void set_next_window_bg_alpha(float alpha);
|
||||
|
||||
bool begin(const std::string& name, int flags = 0);
|
||||
void end();
|
||||
|
||||
bool input_double(const std::string& label, double& value, const std::string& format = "%.3f");
|
||||
|
||||
bool input_vec3(const std::string& label, Vec3d& value, float width, const std::string& format = "%.3f");
|
||||
|
||||
private:
|
||||
void create_device_objects();
|
||||
void create_fonts_texture();
|
||||
bool check_program(unsigned int handle, const char* desc);
|
||||
bool check_shader(unsigned int handle, const char* desc);
|
||||
void render_draw_data(ImDrawData* draw_data);
|
||||
void destroy_device_objects();
|
||||
void destroy_fonts_texture();
|
||||
};
|
||||
|
||||
} // namespace GUI
|
||||
} // namespace Slic3r
|
||||
|
||||
#endif // slic3r_ImGuiWrapper_hpp_
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue