Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/prusa3d/PrusaSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/slic3r/GUI/GLTexture.hpp')
-rw-r--r--src/slic3r/GUI/GLTexture.hpp60
1 files changed, 60 insertions, 0 deletions
diff --git a/src/slic3r/GUI/GLTexture.hpp b/src/slic3r/GUI/GLTexture.hpp
new file mode 100644
index 000000000..e027bd152
--- /dev/null
+++ b/src/slic3r/GUI/GLTexture.hpp
@@ -0,0 +1,60 @@
+#ifndef slic3r_GLTexture_hpp_
+#define slic3r_GLTexture_hpp_
+
+#include <string>
+
+class wxImage;
+
+namespace Slic3r {
+namespace GUI {
+
+ class GLTexture
+ {
+ public:
+ struct UV
+ {
+ float u;
+ float v;
+ };
+
+ struct Quad_UVs
+ {
+ UV left_bottom;
+ UV right_bottom;
+ UV right_top;
+ UV left_top;
+ };
+
+ static Quad_UVs FullTextureUVs;
+
+ protected:
+ unsigned int m_id;
+ int m_width;
+ int m_height;
+ std::string m_source;
+
+ public:
+ GLTexture();
+ virtual ~GLTexture();
+
+ bool load_from_file(const std::string& filename, bool generate_mipmaps);
+ void reset();
+
+ unsigned int get_id() const;
+ int get_width() const;
+ int get_height() const;
+
+ const std::string& get_source() const;
+
+ static void render_texture(unsigned int tex_id, float left, float right, float bottom, float top);
+ static void render_sub_texture(unsigned int tex_id, float left, float right, float bottom, float top, const Quad_UVs& uvs);
+
+ protected:
+ unsigned int _generate_mipmaps(wxImage& image);
+ };
+
+} // namespace GUI
+} // namespace Slic3r
+
+#endif // slic3r_GLTexture_hpp_
+