summaryrefslogtreecommitdiff
path: root/apps/plugins/xrick/rects.c
diff options
context:
space:
mode:
authorSebastian Leonhardt <sebastian.leonhardt@web.de>2016-01-08 01:05:36 +0100
committerFranklin Wei <frankhwei536@gmail.com>2016-06-13 22:49:35 -0400
commitb33d4e9ae51f7b5fcd4add3f9e7a6fb966f67d76 (patch)
tree1226f0ab0c06d71b7f5a336dcb317f456bd68551 /apps/plugins/xrick/rects.c
parent9a6700d52e8dfb2e93623e7143204ae34f798bbf (diff)
downloadrockbox-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.c57
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 */