Browse Source

Fix pink GradientTexture2D

matheusmdx 1 year ago
parent
commit
3e0d3c433b
2 changed files with 12 additions and 12 deletions
  1. 6 6
      scene/resources/gradient_texture.cpp
  2. 6 6
      scene/resources/gradient_texture.h

+ 6 - 6
scene/resources/gradient_texture.cpp

@@ -85,7 +85,7 @@ void GradientTexture1D::_queue_update() {
 	callable_mp(this, &GradientTexture1D::update_now).call_deferred();
 }
 
-void GradientTexture1D::_update() {
+void GradientTexture1D::_update() const {
 	update_pending = false;
 
 	if (gradient.is_null()) {
@@ -172,14 +172,14 @@ RID GradientTexture1D::get_rid() const {
 }
 
 Ref<Image> GradientTexture1D::get_image() const {
-	const_cast<GradientTexture1D *>(this)->update_now();
+	update_now();
 	if (!texture.is_valid()) {
 		return Ref<Image>();
 	}
 	return RenderingServer::get_singleton()->texture_2d_get(texture);
 }
 
-void GradientTexture1D::update_now() {
+void GradientTexture1D::update_now() const {
 	if (update_pending) {
 		_update();
 	}
@@ -225,7 +225,7 @@ void GradientTexture2D::_queue_update() {
 	callable_mp(this, &GradientTexture2D::update_now).call_deferred();
 }
 
-void GradientTexture2D::_update() {
+void GradientTexture2D::_update() const {
 	update_pending = false;
 
 	if (gradient.is_null()) {
@@ -405,14 +405,14 @@ RID GradientTexture2D::get_rid() const {
 }
 
 Ref<Image> GradientTexture2D::get_image() const {
-	const_cast<GradientTexture2D *>(this)->update_now();
+	update_now();
 	if (!texture.is_valid()) {
 		return Ref<Image>();
 	}
 	return RenderingServer::get_singleton()->texture_2d_get(texture);
 }
 
-void GradientTexture2D::update_now() {
+void GradientTexture2D::update_now() const {
 	if (update_pending) {
 		_update();
 	}

+ 6 - 6
scene/resources/gradient_texture.h

@@ -38,13 +38,13 @@ class GradientTexture1D : public Texture2D {
 
 private:
 	Ref<Gradient> gradient;
-	bool update_pending = false;
+	mutable bool update_pending = false;
 	mutable RID texture;
 	int width = 256;
 	bool use_hdr = false;
 
 	void _queue_update();
-	void _update();
+	void _update() const;
 
 protected:
 	static void _bind_methods();
@@ -64,7 +64,7 @@ public:
 	virtual bool has_alpha() const override { return true; }
 
 	virtual Ref<Image> get_image() const override;
-	void update_now();
+	void update_now() const;
 
 	GradientTexture1D();
 	virtual ~GradientTexture1D();
@@ -102,9 +102,9 @@ private:
 
 	float _get_gradient_offset_at(int x, int y) const;
 
-	bool update_pending = false;
+	mutable bool update_pending = false;
 	void _queue_update();
-	void _update();
+	void _update() const;
 
 protected:
 	static void _bind_methods();
@@ -134,7 +134,7 @@ public:
 	virtual RID get_rid() const override;
 	virtual bool has_alpha() const override { return true; }
 	virtual Ref<Image> get_image() const override;
-	void update_now();
+	void update_now() const;
 
 	GradientTexture2D();
 	virtual ~GradientTexture2D();