summaryrefslogtreecommitdiff
path: root/apps/gui/skin_engine/skin_engine.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/skin_engine/skin_engine.c')
-rw-r--r--apps/gui/skin_engine/skin_engine.c31
1 files changed, 3 insertions, 28 deletions
diff --git a/apps/gui/skin_engine/skin_engine.c b/apps/gui/skin_engine/skin_engine.c
index 89230cbcb3..03afbc5195 100644
--- a/apps/gui/skin_engine/skin_engine.c
+++ b/apps/gui/skin_engine/skin_engine.c
@@ -25,9 +25,7 @@
25#include <limits.h> 25#include <limits.h>
26#include "inttypes.h" 26#include "inttypes.h"
27#include "config.h" 27#include "config.h"
28#include "core_alloc.h"
29#include "action.h" 28#include "action.h"
30#include "misc.h"
31#include "crc32.h" 29#include "crc32.h"
32#include "settings.h" 30#include "settings.h"
33#include "wps.h" 31#include "wps.h"
@@ -45,38 +43,14 @@ static bool skins_initialising = true;
45/* App uses the host malloc to manage the buffer */ 43/* App uses the host malloc to manage the buffer */
46#ifdef APPLICATION 44#ifdef APPLICATION
47#define skin_buffer NULL 45#define skin_buffer NULL
48#define skin_buffer_size 0
49void theme_init_buffer(void) 46void theme_init_buffer(void)
50{ 47{
51 skins_initialising = false; 48 skins_initialising = false;
52} 49}
53#else 50#else
54static size_t skin_buffer_size; 51static char skin_buffer[SKIN_BUFFER_SIZE];
55static char *skin_buffer = NULL;
56static int buflib_move_callback(int handle, void* current, void* new)
57{
58 (void)handle;
59 (void)current;
60 (void)new;
61 return BUFLIB_CB_CANNOT_MOVE;
62}
63static struct buflib_callbacks buflib_ops = {buflib_move_callback, NULL};
64
65void theme_init_buffer(void) 52void theme_init_buffer(void)
66{ 53{
67 int fd;
68 size_t size = SKIN_BUFFER_SIZE;
69 fd = open_utf8(ROCKBOX_DIR "/skin_buffer_size.txt", O_RDONLY);
70 if (fd >= 0)
71 {
72 char buf[32];
73 read(fd, buf, sizeof(buf));
74 if (buf[0] >= '0' && buf[0] <= '9')
75 size = atoi(buf)*1024;
76 close(fd);
77 }
78 skin_buffer = core_get_data(core_alloc_ex("skin buffer", size, &buflib_ops));
79 skin_buffer_size = size;
80 skins_initialising = false; 54 skins_initialising = false;
81} 55}
82#endif 56#endif
@@ -139,7 +113,8 @@ void skin_unload_all(void)
139 skin_data_free_buflib_allocs(&skins[j][i].data); 113 skin_data_free_buflib_allocs(&skins[j][i].data);
140 } 114 }
141 115
142 skin_buffer_init(skin_buffer, skin_buffer_size); 116 skin_buffer_init(skin_buffer, SKIN_BUFFER_SIZE);
117
143#ifdef HAVE_LCD_BITMAP 118#ifdef HAVE_LCD_BITMAP
144 skin_backdrop_init(); 119 skin_backdrop_init();
145#endif 120#endif