diff options
author | kobewi <kobewi4e@gmail.com> | 2023-01-26 00:44:29 +0100 |
---|---|---|
committer | kobewi <kobewi4e@gmail.com> | 2023-01-26 23:02:26 +0100 |
commit | b5fda06f203e8f713a9cbe0d50df78cf84bc4ada (patch) | |
tree | 0f97504a4bf7df21e258b52241193dbc9b69d5e7 | |
parent | 63b5adf8a85f6f2f222d048bd4975490b6afd9a8 (diff) |
Don't change region_rect when setting texture
-rw-r--r-- | doc/classes/StyleBoxTexture.xml | 1 | ||||
-rw-r--r-- | editor/plugins/texture_region_editor_plugin.cpp | 3 | ||||
-rw-r--r-- | scene/resources/style_box.cpp | 5 |
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(); } |