Thumbnail overlay for videos in AssetLib

This commit is contained in:
Karolis K 2018-05-11 20:28:17 +03:00
parent eaa6613f06
commit 0711d865e2
2 changed files with 21 additions and 1 deletions

View file

@ -0,0 +1,4 @@
<svg width="64" height="64" version="1.1" viewBox="0 0 64 64" xmlns="http://www.w3.org/2000/svg">
<rect x="0" y="0" width="64" height="64" rx="5" ry="5" fill="#044B94" fill-opacity="0.6"/>
<path d="M16 16 L48 32 L16 48" fill="#f2f2f2"/>
</svg>

After

Width:  |  Height:  |  Size: 247 B

View file

@ -170,7 +170,23 @@ void EditorAssetLibraryItemDescription::set_image(int p_type, int p_index, const
for (int i = 0; i < preview_images.size(); i++) {
if (preview_images[i].id == p_index) {
preview_images[i].button->set_icon(p_image);
if (preview_images[i].is_video) {
Ref<Image> overlay = get_icon("PlayOverlay", "EditorIcons")->get_data();
Ref<Image> thumbnail = p_image->get_data();
Point2 overlay_pos = Point2((thumbnail->get_width() - overlay->get_width()) / 2, (thumbnail->get_height() - overlay->get_height()) / 2);
thumbnail->lock();
thumbnail->blend_rect(overlay, overlay->get_used_rect(), overlay_pos);
thumbnail->unlock();
Ref<ImageTexture> tex;
tex.instance();
tex->create_from_image(thumbnail);
preview_images[i].button->set_icon(tex);
} else {
preview_images[i].button->set_icon(p_image);
}
break;
}
}