summaryrefslogtreecommitdiff
path: root/image/gif.c
diff options
context:
space:
mode:
Diffstat (limited to 'image/gif.c')
-rw-r--r--image/gif.c16
1 files changed, 16 insertions, 0 deletions
diff --git a/image/gif.c b/image/gif.c
index 01ea57420..7d5a2dc30 100644
--- a/image/gif.c
+++ b/image/gif.c
@@ -197,6 +197,22 @@ void nsgif_destroy(struct content *c)
}
+bool nsgif_clone(const struct content *old, struct content *new_content)
+{
+ /* Simply replay creation and conversion of content */
+ if (nsgif_create(new_content, NULL) == false)
+ return false;
+
+ if (old->status == CONTENT_STATUS_READY ||
+ old->status == CONTENT_STATUS_DONE) {
+ if (nsgif_convert(new_content) == false)
+ return false;
+ }
+
+ return true;
+}
+
+
/**
* Updates the GIF bitmap to display the current frame
*