Added rewind method.
This commit is contained in:
@ -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;
|
||||
|
Reference in New Issue
Block a user