diff options
| author | Sebastian Leonhardt <sebastian.leonhardt@web.de> | 2016-01-08 01:05:36 +0100 |
|---|---|---|
| committer | Franklin Wei <frankhwei536@gmail.com> | 2016-06-13 22:49:35 -0400 |
| commit | b33d4e9ae51f7b5fcd4add3f9e7a6fb966f67d76 (patch) | |
| tree | 1226f0ab0c06d71b7f5a336dcb317f456bd68551 /apps/plugins/xrick/rects.c | |
| parent | 9a6700d52e8dfb2e93623e7143204ae34f798bbf (diff) | |
| download | rockbox-b33d4e9ae51f7b5fcd4add3f9e7a6fb966f67d76.zip rockbox-b33d4e9ae51f7b5fcd4add3f9e7a6fb966f67d76.tar.gz rockbox-b33d4e9ae51f7b5fcd4add3f9e7a6fb966f67d76.tar.bz2 rockbox-b33d4e9ae51f7b5fcd4add3f9e7a6fb966f67d76.tar.xz | |
added xrick game
original xrick code by 'BigOrno' at:
http://www.bigorno.net/xrick/
Rockbox port, plus bugfixes at:
https://github.com/pierluigi-vicinanza/xrick
Change-Id: Id83928bc2539901b0221692f65cbca41389c58e7
Diffstat (limited to 'apps/plugins/xrick/rects.c')
| -rw-r--r-- | apps/plugins/xrick/rects.c | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/apps/plugins/xrick/rects.c b/apps/plugins/xrick/rects.c new file mode 100644 index 0000000..9324426 --- /dev/null +++ b/apps/plugins/xrick/rects.c @@ -0,0 +1,57 @@ +/* + * 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 */ |