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

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEnrico Turri <enricoturri@seznam.cz>2019-01-02 18:26:22 +0300
committerEnrico Turri <enricoturri@seznam.cz>2019-01-02 18:26:22 +0300
commit2adce6264378275abf2764a970a39e1576fd6bc0 (patch)
treec041c8be26c7dff7a09c74b1d2f5147b7ebe02d3 /src/slic3r/GUI/GLToolbar.hpp
parent2db0906071495ea2ddedef0a30a076954fb49007 (diff)
Background texture for toolbars set as default
Diffstat (limited to 'src/slic3r/GUI/GLToolbar.hpp')
-rw-r--r--src/slic3r/GUI/GLToolbar.hpp170
1 files changed, 1 insertions, 169 deletions
diff --git a/src/slic3r/GUI/GLToolbar.hpp b/src/slic3r/GUI/GLToolbar.hpp
index 430d4a844..49296796d 100644
--- a/src/slic3r/GUI/GLToolbar.hpp
+++ b/src/slic3r/GUI/GLToolbar.hpp
@@ -77,9 +77,7 @@ public:
void do_action(wxEvtHandler *target);
bool is_enabled() const;
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
bool is_disabled() const;
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
bool is_hovered() const;
bool is_pressed() const;
@@ -97,7 +95,6 @@ private:
// from left to right
struct ItemsIconsTexture
{
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
struct Metadata
{
// path of the file containing the icons' texture
@@ -111,23 +108,11 @@ struct ItemsIconsTexture
Metadata();
};
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
+
GLTexture texture;
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
Metadata metadata;
-#else
- // size of the square icons, in pixels
- unsigned int items_icon_size;
- // distance from the border, in pixels
- unsigned int items_icon_border_size;
- // distance between two adjacent icons (to avoid filtering artifacts), in pixels
- unsigned int items_icon_gap_size;
-
- ItemsIconsTexture();
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
};
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
struct BackgroundTexture
{
struct Metadata
@@ -149,19 +134,16 @@ struct BackgroundTexture
GLTexture texture;
Metadata metadata;
};
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
class GLToolbar
{
public:
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
enum EType : unsigned char
{
Normal,
Radio,
Num_Types
};
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
struct Layout
{
@@ -183,23 +165,17 @@ public:
};
EType type;
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
EOrientation orientation;
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
float top;
float left;
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
float border;
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
float separator_size;
float gap_size;
float icons_scale;
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
float width;
float height;
bool dirty;
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
Layout();
};
@@ -207,47 +183,27 @@ public:
private:
typedef std::vector<GLToolbarItem*> ItemsList;
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
EType m_type;
-#else
- GLCanvas3D& m_parent;
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
bool m_enabled;
ItemsIconsTexture m_icons_texture;
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
BackgroundTexture m_background_texture;
mutable Layout m_layout;
-#else
- Layout m_layout;
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
ItemsList m_items;
public:
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
explicit GLToolbar(EType type);
-#else
- explicit GLToolbar(GLCanvas3D& parent);
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
~GLToolbar();
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
bool init(const ItemsIconsTexture::Metadata& icons_texture, const BackgroundTexture::Metadata& background_texture);
-#else
- bool init(const std::string& icons_texture_filename, unsigned int items_icon_size, unsigned int items_icon_border_size, unsigned int items_icon_gap_size);
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
Layout::EType get_layout_type() const;
void set_layout_type(Layout::EType type);
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
Layout::EOrientation get_layout_orientation() const;
void set_layout_orientation(Layout::EOrientation orientation);
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
void set_position(float top, float left);
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
void set_border(float border);
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
void set_separator_size(float size);
void set_gap_size(float size);
void set_icons_scale(float scale);
@@ -263,168 +219,44 @@ public:
void enable_item(const std::string& name);
void disable_item(const std::string& name);
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
void select_item(const std::string& name);
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
bool is_item_pressed(const std::string& name) const;
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
bool is_item_disabled(const std::string& name) const;
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
#if ENABLE_REMOVE_TABS_FROM_PLATER
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
std::string update_hover_state(const Vec2d& mouse_pos, GLCanvas3D& parent);
#else
- std::string update_hover_state(const Vec2d& mouse_pos);
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
-#else
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
void update_hover_state(const Vec2d& mouse_pos, GLCanvas3D& parent);
-#else
- void update_hover_state(const Vec2d& mouse_pos);
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
#endif // ENABLE_REMOVE_TABS_FROM_PLATER
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
// returns the id of the item under the given mouse position or -1 if none
int contains_mouse(const Vec2d& mouse_pos, const GLCanvas3D& parent) const;
void do_action(unsigned int item_id, GLCanvas3D& parent);
-#else
- // returns the id of the item under the given mouse position or -1 if none
- int contains_mouse(const Vec2d& mouse_pos) const;
-
- void do_action(unsigned int item_id);
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
void render(const GLCanvas3D& parent) const;
-#else
- void render() const;
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
private:
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
void calc_layout() const;
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
float get_width_horizontal() const;
float get_width_vertical() const;
float get_height_horizontal() const;
float get_height_vertical() const;
float get_main_size() const;
#if ENABLE_REMOVE_TABS_FROM_PLATER
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
std::string update_hover_state_horizontal(const Vec2d& mouse_pos, GLCanvas3D& parent);
std::string update_hover_state_vertical(const Vec2d& mouse_pos, GLCanvas3D& parent);
#else
- std::string update_hover_state_horizontal(const Vec2d& mouse_pos);
- std::string update_hover_state_vertical(const Vec2d& mouse_pos);
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
-#else
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
void update_hover_state_horizontal(const Vec2d& mouse_pos, GLCanvas3D& parent);
void update_hover_state_vertical(const Vec2d& mouse_pos, GLCanvas3D& parent);
-#else
- void update_hover_state_horizontal(const Vec2d& mouse_pos);
- void update_hover_state_vertical(const Vec2d& mouse_pos);
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
#endif // ENABLE_REMOVE_TABS_FROM_PLATER
-#if ENABLE_TOOLBAR_BACKGROUND_TEXTURE
int contains_mouse_horizontal(const Vec2d& mouse_pos, const GLCanvas3D& parent) const;
int contains_mouse_vertical(const Vec2d& mouse_pos, const GLCanvas3D& parent) const;
void render_horizontal(const GLCanvas3D& parent) const;
void render_vertical(const GLCanvas3D& parent) const;
-#else
- int contains_mouse_horizontal(const Vec2d& mouse_pos) const;
- int contains_mouse_vertical(const Vec2d& mouse_pos) const;
-
- void render_horizontal() const;
- void render_vertical() const;
-#endif // ENABLE_TOOLBAR_BACKGROUND_TEXTURE
-};
-
-#if !ENABLE_TOOLBAR_BACKGROUND_TEXTURE
-class GLRadioToolbarItem
-{
-public:
- struct Data
- {
- std::string name;
- std::string tooltip;
- unsigned int sprite_id;
- wxEventType action_event;
-
- Data();
- };
-
- enum EState : unsigned char
- {
- Normal,
- Pressed,
- Hover,
- HoverPressed,
- Num_States
- };
-
-private:
- EState m_state;
- Data m_data;
-
-public:
- GLRadioToolbarItem(const Data& data);
-
- EState get_state() const;
- void set_state(EState state);
-
- const std::string& get_name() const;
- const std::string& get_tooltip() const;
-
- bool is_hovered() const;
- bool is_pressed() const;
-
- void do_action(wxEvtHandler *target);
-
- void render(unsigned int tex_id, float left, float right, float bottom, float top, unsigned int texture_size, unsigned int border_size, unsigned int icon_size, unsigned int gap_size) const;
-
-private:
- GLTexture::Quad_UVs get_uvs(unsigned int texture_size, unsigned int border_size, unsigned int icon_size, unsigned int gap_size) const;
-};
-
-class GLRadioToolbar
-{
- typedef std::vector<GLRadioToolbarItem*> ItemsList;
-
- ItemsIconsTexture m_icons_texture;
-
- ItemsList m_items;
- float m_top;
- float m_left;
-
-public:
- GLRadioToolbar();
- ~GLRadioToolbar();
-
- bool init(const std::string& icons_texture_filename, unsigned int items_icon_size, unsigned int items_icon_border_size, unsigned int items_icon_gap_size);
-
- bool add_item(const GLRadioToolbarItem::Data& data);
-
- float get_height() const;
-
- void set_position(float top, float left);
- void set_selection(const std::string& name);
-
- // returns the id of the item under the given mouse position or -1 if none
- int contains_mouse(const Vec2d& mouse_pos, const GLCanvas3D& parent) const;
-
- std::string update_hover_state(const Vec2d& mouse_pos, GLCanvas3D& parent);
-
- void do_action(unsigned int item_id, GLCanvas3D& parent);
-
- void render(const GLCanvas3D& parent) const;
};
-#endif // !ENABLE_TOOLBAR_BACKGROUND_TEXTURE
} // namespace GUI
} // namespace Slic3r