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
committerSolomon Peachy <pizza@shaftnet.org>2024-06-30 17:24:16 -0400
commit102c3742487dba76ec72d5f56a2c3041344b2d68 (patch)
tree4931ad34d2cc0bac56d9984b9ead355d012ad63a /apps/plugins/xrick/rects.c
parent6f1e67e5e318ba2fd0f5ec1892c7b6633ec6521c (diff)
downloadrockbox-102c3742487dba76ec72d5f56a2c3041344b2d68.tar.gz
rockbox-102c3742487dba76ec72d5f56a2c3041344b2d68.zip
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 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
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 0000000000..9324426060
--- /dev/null
+++ b/apps/plugins/xrick/rects.c
@@ -0,0 +1,57 @@
1/*
2 * xrick/rects.c
3 *
4 * Copyright (C) 1998-2002 BigOrno (bigorno@bigorno.net).
5 * Copyright (C) 2008-2014 Pierluigi Vicinanza.
6 * All rights reserved.
7 *
8 * The use and distribution terms for this software are contained in the file
9 * named README, which can be found in the root of this distribution. By
10 * using this software in any fashion, you are agreeing to be bound by the
11 * terms of this license.
12 *
13 * You must not remove this notice, or any other, from this software.
14 */
15
16#include "xrick/rects.h"
17#include "xrick/system/system.h"
18
19/*
20 * Free a list of rectangles and set the pointer to NULL.
21 *
22 * p: rectangle list CHANGED to NULL
23 */
24void
25rects_free(rect_t *r)
26{
27 while (r)
28 {
29 rect_t * next = r->next;
30 sysmem_pop(r);
31 r = next;
32 }
33}
34
35
36/*
37 * Add a rectangle to a list of rectangles
38 */
39rect_t *
40rects_new(U16 x, U16 y, U16 width, U16 height, rect_t *next)
41{
42 rect_t *r;
43
44 r = sysmem_push(sizeof(*r));
45 if (!r)
46 {
47 return NULL;
48 }
49 r->x = x;
50 r->y = y;
51 r->width = width;
52 r->height = height;
53 r->next = next;
54 return r;
55}
56
57/* eof */