summaryrefslogtreecommitdiff
path: root/scene/gui/gradient_edit.h
diff options
context:
space:
mode:
Diffstat (limited to 'scene/gui/gradient_edit.h')
-rw-r--r--scene/gui/gradient_edit.h14
1 files changed, 14 insertions, 0 deletions
diff --git a/scene/gui/gradient_edit.h b/scene/gui/gradient_edit.h
index a173631963..66b60d87c7 100644
--- a/scene/gui/gradient_edit.h
+++ b/scene/gui/gradient_edit.h
@@ -45,6 +45,17 @@ class GradientEdit : public Control {
bool grabbing = false;
int grabbed = -1;
Vector<Gradient::Point> points;
+ Gradient::InterpolationMode interpolation_mode = Gradient::GRADIENT_INTERPOLATE_LINEAR;
+
+ Ref<Gradient> gradient_cache;
+ Ref<GradientTexture1D> preview_texture;
+
+ // Make sure to use the scaled value below.
+ const int BASE_SPACING = 3;
+ const int BASE_POINT_WIDTH = 8;
+
+ int draw_spacing = BASE_SPACING;
+ int draw_point_width = BASE_POINT_WIDTH;
void _draw_checker(int x, int y, int w, int h);
void _color_changed(const Color &p_color);
@@ -62,6 +73,9 @@ public:
Vector<Color> get_colors() const;
void set_points(Vector<Gradient::Point> &p_points);
Vector<Gradient::Point> &get_points();
+ void set_interpolation_mode(Gradient::InterpolationMode p_interp_mode);
+ Gradient::InterpolationMode get_interpolation_mode();
+
virtual Size2 get_minimum_size() const override;
GradientEdit();