summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2016-01-19 14:52:34 +0100
committerRémi Verschelde <remi@verschelde.fr>2016-01-19 14:52:34 +0100
commite12835552732463536163b314ee78f4e7d94809b (patch)
tree20efc19bbc090151bfb54e99f7b88739e6f796f5
parent1584aea71eee56d0c2e20c7197519bc248a8932e (diff)
parent4cca09921d7515b5896c4a60615399a879616b73 (diff)
Merge pull request #3382 from Hinsbart/atlas_preview
thumbnail preview for AtlasTextures
-rw-r--r--tools/editor/plugins/editor_preview_plugins.cpp19
1 files changed, 16 insertions, 3 deletions
diff --git a/tools/editor/plugins/editor_preview_plugins.cpp b/tools/editor/plugins/editor_preview_plugins.cpp
index a0ce294219..f3b5272571 100644
--- a/tools/editor/plugins/editor_preview_plugins.cpp
+++ b/tools/editor/plugins/editor_preview_plugins.cpp
@@ -10,13 +10,26 @@
bool EditorTexturePreviewPlugin::handles(const String& p_type) const {
- return ObjectTypeDB::is_type(p_type,"ImageTexture");
+ return (ObjectTypeDB::is_type(p_type,"ImageTexture") || ObjectTypeDB::is_type(p_type, "AtlasTexture"));
}
Ref<Texture> EditorTexturePreviewPlugin::generate(const RES& p_from) {
- Ref<ImageTexture> tex =p_from;
- Image img = tex->get_data();
+ Image img;
+ Ref<AtlasTexture> atex = p_from;
+ if (atex.is_valid()) {
+ Ref<ImageTexture> tex = atex->get_atlas();
+ if (!tex.is_valid()) {
+ return Ref<Texture>();
+ }
+ Image atlas = tex->get_data();
+ img = atlas.get_rect(atex->get_region());
+ }
+ else {
+ Ref<ImageTexture> tex = p_from;
+ img = tex->get_data();
+ }
+
if (img.empty())
return Ref<Texture>();