summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <rverschelde@gmail.com>2023-01-26 23:52:19 +0100
committerRémi Verschelde <rverschelde@gmail.com>2023-01-26 23:52:19 +0100
commit3b086aa062068f4d866b2207bb5b5770e40aafac (patch)
tree7e4a3593b6b47e07772a5586af015e9ce5c8cd32
parentcf8fc5c9a472a519d0cabee349fca10b22df769c (diff)
parentb5fda06f203e8f713a9cbe0d50df78cf84bc4ada (diff)
Merge pull request #72086 from KoBeWi/set_rekt
Don't change region_rect when setting texture
-rw-r--r--doc/classes/StyleBoxTexture.xml1
-rw-r--r--editor/plugins/texture_region_editor_plugin.cpp3
-rw-r--r--scene/resources/style_box.cpp5
3 files changed, 4 insertions, 5 deletions
diff --git a/doc/classes/StyleBoxTexture.xml b/doc/classes/StyleBoxTexture.xml
index 745187ed63..f2f6e59a9e 100644
--- a/doc/classes/StyleBoxTexture.xml
+++ b/doc/classes/StyleBoxTexture.xml
@@ -82,6 +82,7 @@
<member name="region_rect" type="Rect2" setter="set_region_rect" getter="get_region_rect" default="Rect2(0, 0, 0, 0)">
Species a sub-region of the texture to use.
This is equivalent to first wrapping the texture in an [AtlasTexture] with the same region.
+ If empty ([code]Rect2(0, 0, 0, 0)[/code]), the whole texture will be used.
</member>
<member name="texture" type="Texture2D" setter="set_texture" getter="get_texture">
The texture to use when drawing this style box.
diff --git a/editor/plugins/texture_region_editor_plugin.cpp b/editor/plugins/texture_region_editor_plugin.cpp
index 76f2bb7bb5..c5aa60c816 100644
--- a/editor/plugins/texture_region_editor_plugin.cpp
+++ b/editor/plugins/texture_region_editor_plugin.cpp
@@ -740,6 +740,9 @@ void TextureRegionEditor::_update_rect() {
}
} else if (obj_styleBox.is_valid()) {
rect = obj_styleBox->get_region_rect();
+ if (rect == Rect2()) {
+ rect = Rect2(Vector2(), obj_styleBox->get_texture()->get_size());
+ }
}
}
diff --git a/scene/resources/style_box.cpp b/scene/resources/style_box.cpp
index 0beb62185d..fbbe98d022 100644
--- a/scene/resources/style_box.cpp
+++ b/scene/resources/style_box.cpp
@@ -151,11 +151,6 @@ void StyleBoxTexture::set_texture(Ref<Texture2D> p_texture) {
return;
}
texture = p_texture;
- if (p_texture.is_null()) {
- region_rect = Rect2(0, 0, 0, 0);
- } else {
- region_rect = Rect2(Point2(), texture->get_size());
- }
emit_changed();
}