forked from len0rd/rockbox
original xrick code by 'BigOrno' at: http://www.bigorno.net/xrick/ Rockbox port, plus bugfixes at: https://github.com/pierluigi-vicinanza/xrick Further changes: * Additonal fixes from g#3026 * Port to modern plugin API * Add Pluginlib keymap fallback * Support all >1bpp screens * Fix build warnings in miniz * Better error message when resources are missing Change-Id: Id83928bc2539901b0221692f65cbca41389c58e7
57 lines
1.1 KiB
C
57 lines
1.1 KiB
C
/*
|
|
* xrick/rects.c
|
|
*
|
|
* Copyright (C) 1998-2002 BigOrno (bigorno@bigorno.net).
|
|
* Copyright (C) 2008-2014 Pierluigi Vicinanza.
|
|
* All rights reserved.
|
|
*
|
|
* The use and distribution terms for this software are contained in the file
|
|
* named README, which can be found in the root of this distribution. By
|
|
* using this software in any fashion, you are agreeing to be bound by the
|
|
* terms of this license.
|
|
*
|
|
* You must not remove this notice, or any other, from this software.
|
|
*/
|
|
|
|
#include "xrick/rects.h"
|
|
#include "xrick/system/system.h"
|
|
|
|
/*
|
|
* Free a list of rectangles and set the pointer to NULL.
|
|
*
|
|
* p: rectangle list CHANGED to NULL
|
|
*/
|
|
void
|
|
rects_free(rect_t *r)
|
|
{
|
|
while (r)
|
|
{
|
|
rect_t * next = r->next;
|
|
sysmem_pop(r);
|
|
r = next;
|
|
}
|
|
}
|
|
|
|
|
|
/*
|
|
* Add a rectangle to a list of rectangles
|
|
*/
|
|
rect_t *
|
|
rects_new(U16 x, U16 y, U16 width, U16 height, rect_t *next)
|
|
{
|
|
rect_t *r;
|
|
|
|
r = sysmem_push(sizeof(*r));
|
|
if (!r)
|
|
{
|
|
return NULL;
|
|
}
|
|
r->x = x;
|
|
r->y = y;
|
|
r->width = width;
|
|
r->height = height;
|
|
r->next = next;
|
|
return r;
|
|
}
|
|
|
|
/* eof */
|