fix yelllow and add those tags to the debug output
[kugel-rb.git] / apps / gui / skin_engine / skin_buffer.h
blob521631f03b6fc60cb75355914a6d3a1a10573379
1 /***************************************************************************
2 * __________ __ ___.
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 * \/ \/ \/ \/ \/
8 * $Id$
10 * Copyright (C) 2002 by Linus Nielsen Feltzing
11 * Copyright (C) 2009 Jonathan Gordon
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version 2
16 * of the License, or (at your option) any later version.
18 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
19 * KIND, either express or implied.
21 ****************************************************************************/
23 #ifndef _SKIN_BUFFER_H_
24 #define _SKIN_BUFFER_H_
27 #include <stdio.h>
28 #include <string.h>
29 #include <stdlib.h>
31 /* int the global buffer */
32 void skin_buffer_init(void);
34 /* get the number of bytes currently being used */
35 size_t skin_buffer_usage(void);
36 size_t skin_buffer_freespace(void);
38 /* Allocate size bytes from the buffer */
39 void* skin_buffer_alloc(size_t size);
42 /* Get a pointer to the skin buffer and the count of how much is free
43 * used to do your own buffer management.
44 * Any memory used will be overwritten next time wps_buffer_alloc()
45 * is called unless skin_buffer_increment() is called first
47 * This is from the start of the buffer, it is YOUR responsility to make
48 * sure you dont ever use more then *freespace, and bear in mind this will only
49 * be valid untill skin_buffer_alloc() is next called...
50 * so call skin_buffer_increment() and skin_buffer_freespace() regularly
52 void* skin_buffer_grab(size_t *freespace);
54 /* Use after skin_buffer_grab() to specify how much buffer was used.
55 * align should always be true unless there is a possibility that you will need
56 * more space *immediatly* after the previous allocation. (i.e in an array).
57 * NEVER leave the buffer unaligned */
58 void skin_buffer_increment(size_t used, bool align);
60 /* free previously skin_buffer_increment()'ed space. This just moves the pointer
61 * back 'used' bytes so make sure you actually want to do this */
62 void skin_buffer_free_from_front(size_t used);
64 #endif /* _SKIN_BUFFER_H_ */