summaryrefslogtreecommitdiffstats
path: root/servers/rendering/renderer_canvas_cull.cpp
diff options
context:
space:
mode:
authorRémi Verschelde <remi@verschelde.fr>2021-06-17 18:15:11 +0200
committerGitHub <noreply@github.com>2021-06-17 18:15:11 +0200
commit13c4796693c3c32993cd49b226fc9c78ad376f6d (patch)
treeb7aa900f5ba2f65586f5f6451e6b288041dc3ff8 /servers/rendering/renderer_canvas_cull.cpp
parent17ded9a152f41d3e9ef7aa567065fe13f8e0e33d (diff)
parent94d31ac327a8fe6ff7c007b34cb25772bf96d17e (diff)
downloadredot-engine-13c4796693c3c32993cd49b226fc9c78ad376f6d.tar.gz
Merge pull request #49685 from reduz/implement-drawing-animation-slices-in-canvas
Implement animation slice drawing in CanvasItem
Diffstat (limited to 'servers/rendering/renderer_canvas_cull.cpp')
-rw-r--r--servers/rendering/renderer_canvas_cull.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/servers/rendering/renderer_canvas_cull.cpp b/servers/rendering/renderer_canvas_cull.cpp
index 5703737252..016a172f25 100644
--- a/servers/rendering/renderer_canvas_cull.cpp
+++ b/servers/rendering/renderer_canvas_cull.cpp
@@ -1003,6 +1003,18 @@ void RendererCanvasCull::canvas_item_add_clip_ignore(RID p_item, bool p_ignore)
ci->ignore = p_ignore;
}
+void RendererCanvasCull::canvas_item_add_animation_slice(RID p_item, double p_animation_length, double p_slice_begin, double p_slice_end, double p_offset) {
+ Item *canvas_item = canvas_item_owner.getornull(p_item);
+ ERR_FAIL_COND(!canvas_item);
+
+ Item::CommandAnimationSlice *as = canvas_item->alloc_command<Item::CommandAnimationSlice>();
+ ERR_FAIL_COND(!as);
+ as->animation_length = p_animation_length;
+ as->slice_begin = p_slice_begin;
+ as->slice_end = p_slice_end;
+ as->offset = p_offset;
+}
+
void RendererCanvasCull::canvas_item_set_sort_children_by_y(RID p_item, bool p_enable) {
Item *canvas_item = canvas_item_owner.getornull(p_item);
ERR_FAIL_COND(!canvas_item);