diff --git a/data/ui/grid.png b/data/ui/grid.png new file mode 100644 index 0000000..1a18e88 Binary files /dev/null and b/data/ui/grid.png differ diff --git a/engine/node_panel_grid.cpp b/engine/node_panel_grid.cpp new file mode 100644 index 0000000..bef48c8 --- /dev/null +++ b/engine/node_panel_grid.cpp @@ -0,0 +1,33 @@ +#include "pch.h" +#include "log.h" +#include "node_panel_grid.h" +#include "canvas.h" + +Node* NodePanelGrid::clone_instantiate() const +{ + return new NodePanelGrid(); +} + +void NodePanelGrid::clone_finalize(Node* dest) const +{ + NodePanelGrid* n = static_cast(dest); + n->init_controls(); +} + +void NodePanelGrid::init() +{ + init_template("tpl-panel-grid"); + init_controls(); +} + +void NodePanelGrid::init_controls() +{ + m_groud_opacity = find("grid-ground-opacity"); + m_groud_scale = find("grid-ground-scale"); + m_groud_value = find("grid-ground-value"); + m_groud_height = find("grid-ground-height"); + m_box_opacity = find("grid-box-opacity"); + m_box_width = find("grid-box-width"); + m_box_height = find("grid-box-height"); + m_box_depth = find("grid-box-depth"); +} diff --git a/engine/node_panel_grid.h b/engine/node_panel_grid.h new file mode 100644 index 0000000..68c7953 --- /dev/null +++ b/engine/node_panel_grid.h @@ -0,0 +1,25 @@ +#pragma once +#include "node.h" +#include "node_stroke_preview.h" +#include "node_slider.h" +#include "brush.h" +#include "node_checkbox.h" +#include "node_combobox.h" + +class NodePanelGrid : public Node +{ +public: + NodeSliderH* m_groud_opacity; + NodeSliderH* m_groud_scale; + NodeSliderH* m_groud_value; + NodeSliderH* m_groud_height; + NodeSliderH* m_box_opacity; + NodeSliderH* m_box_width; + NodeSliderH* m_box_height; + NodeSliderH* m_box_depth; + + virtual Node* clone_instantiate() const override; + virtual void clone_finalize(Node* dest) const override; + virtual void init() override; + void init_controls(); +};