Added rewind method.

This commit is contained in:
2021-08-24 10:07:04 -07:00
parent c198cd9908
commit b1b441cef9
7 changed files with 48 additions and 17 deletions

View File

@ -67,21 +67,16 @@ void queueDispose(queue_t *queue) {
void queueRestack(queue_t *queue) {
uint8_t i;
queueaction_t items[ANIMATION_QUEUE_ITEM_MAX];
// Take the current queue and copy it.
arrayCopy(sizeof(queueaction_t),
queue->items+queue->current, queue->count - queue->current,
items
// Rewind the array.
arrayRewind(sizeof(queueaction_t), queue->items, ANIMATION_QUEUE_START,
queue->current, queue->count
);
// Now rewind the stack
queue->count -= queue->current;
queue->current = 0;
// Now copy back
arrayCopy(sizeof(queueaction_t), items, queue->count, queue->items);
// Now fix indexes
for(i = 0; i < queue->count; i++) {
queue->items[i].index = i;