diff options
| author | Andrew Mahone <andrew.mahone@gmail.com> | 2009-01-08 02:49:23 +0000 |
|---|---|---|
| committer | Andrew Mahone <andrew.mahone@gmail.com> | 2009-01-08 02:49:23 +0000 |
| commit | 07e982df8a0e3a72a357839ec0a6ff7d462bd173 (patch) | |
| tree | 608c433f6576cbedf2114297870d9a13575d862e /apps/plugins/lib | |
| parent | c38815aa2983bbb8dae7ec9dbea055a3b8e38297 (diff) | |
| download | rockbox-07e982df8a0e3a72a357839ec0a6ff7d462bd173.zip rockbox-07e982df8a0e3a72a357839ec0a6ff7d462bd173.tar.gz rockbox-07e982df8a0e3a72a357839ec0a6ff7d462bd173.tar.bz2 rockbox-07e982df8a0e3a72a357839ec0a6ff7d462bd173.tar.xz | |
cleanup for core-file-in-pluginlib compilation:
wrapper C files in pluginlib renamed to the same name as the core files they
wrap
pluginlib-only init functions for resize and bmp moved into the wrapper files,
and declared in the associated header files
API() macro removed entirely, in favor of a core-only header file that
redefines core function names to use a plugin_api pointer
some unnecessary uses of PLUGIN in apps/recorder/bmp.c removed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19712 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/lib')
| -rw-r--r-- | apps/plugins/lib/SOURCES | 5 | ||||
| -rw-r--r-- | apps/plugins/lib/bmp.c | 15 | ||||
| -rw-r--r-- | apps/plugins/lib/bmp.h | 5 | ||||
| -rw-r--r-- | apps/plugins/lib/resize.c (renamed from apps/plugins/lib/core_resize.c) | 12 | ||||
| -rw-r--r-- | apps/plugins/lib/resize.h (renamed from apps/plugins/lib/core_bmp.c) | 13 | ||||
| -rw-r--r-- | apps/plugins/lib/wrappers.h | 44 |
6 files changed, 86 insertions, 8 deletions
diff --git a/apps/plugins/lib/SOURCES b/apps/plugins/lib/SOURCES index c8c1553..b28878c 100644 --- a/apps/plugins/lib/SOURCES +++ b/apps/plugins/lib/SOURCES @@ -5,8 +5,7 @@ playback_control.c rgb_hsv.c #if defined(HAVE_LCD_BITMAP) && (LCD_DEPTH < 4) #if LCD_DEPTH == 1 -core_bmp.c -core_resize.c +resize.c #endif grey_core.c grey_draw.c @@ -34,9 +33,7 @@ picture.c xlcd_core.c xlcd_draw.c xlcd_scroll.c -#if LCD_DEPTH>1 bmp.c -#endif #ifdef HAVE_LCD_COLOR bmp_smooth_scale.c #endif diff --git a/apps/plugins/lib/bmp.c b/apps/plugins/lib/bmp.c index a8ebbff..b3e0e2b 100644 --- a/apps/plugins/lib/bmp.c +++ b/apps/plugins/lib/bmp.c @@ -8,6 +8,7 @@ * $Id$ * * Copyright (C) 2006 by Antoine Cellerier <dionoea -at- videolan -dot- org> + * Copyright (C) 2009 by Andrew Mahone * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -26,6 +27,7 @@ #include "lcd.h" #include "system.h" +#if LCD_DEPTH > 1 #ifdef HAVE_LCD_COLOR #define LE16(x) (htole16(x))&0xff, ((htole16(x))>>8)&0xff #define LE32(x) (htole32(x))&0xff, ((htole32(x))>>8)&0xff, ((htole32(x))>>16)&0xff, ((htole32(x))>>24)&0xff @@ -119,3 +121,16 @@ void simple_resize_bitmap(struct bitmap *src, struct bitmap *dst) yr += yrstep; } } + +#else +#include "wrappers.h" + +static const struct plugin_api *rb; + +#include "../../recorder/bmp.c" + +void bmp_init(const struct plugin_api *api) +{ + rb = api; +} +#endif diff --git a/apps/plugins/lib/bmp.h b/apps/plugins/lib/bmp.h index 12894f7..379a889 100644 --- a/apps/plugins/lib/bmp.h +++ b/apps/plugins/lib/bmp.h @@ -24,6 +24,7 @@ #include "lcd.h" #include "plugin.h" +#if LCD_DEPTH > 1 #ifdef HAVE_LCD_COLOR /** * Save bitmap to file @@ -43,4 +44,8 @@ void simple_resize_bitmap(struct bitmap *src, struct bitmap *dst); */ void smooth_resize_bitmap(struct bitmap *src, struct bitmap *dst); +#else +void bmp_init(const struct plugin_api *api); +#endif + #endif diff --git a/apps/plugins/lib/core_resize.c b/apps/plugins/lib/resize.c index 099d407..28446e7 100644 --- a/apps/plugins/lib/core_resize.c +++ b/apps/plugins/lib/resize.c @@ -7,7 +7,9 @@ * \/ \/ \/ \/ \/ * $Id$ * -* This is a wrapper for the core bmp.c +* Copyright (C) 2009 by Andrew Mahone +* +* This is a wrapper for the core resize.c * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -20,5 +22,13 @@ ****************************************************************************/ #include <plugin.h> +#include "wrappers.h" + +static const struct plugin_api *rb; + #include "../../recorder/resize.c" +void resize_init(const struct plugin_api *api) +{ + rb = api; +} diff --git a/apps/plugins/lib/core_bmp.c b/apps/plugins/lib/resize.h index 28d70b1..3674e14 100644 --- a/apps/plugins/lib/core_bmp.c +++ b/apps/plugins/lib/resize.h @@ -7,7 +7,9 @@ * \/ \/ \/ \/ \/ * $Id$ * -* This is a wrapper for the core bmp.c +* Copyright (C) 2009 by Andrew Mahone +* +* This is a header for the pluginlib extensions to the core resize.c file * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -19,6 +21,11 @@ * ****************************************************************************/ -#include <plugin.h> -#include "../../recorder/bmp.c" +#ifndef _LIB_RESIZE_H_ +#define _LIB_RESIZE_H_ + +#if LCD_DEPTH == 1 +void resize_init(const struct plugin_api *api); +#endif +#endif diff --git a/apps/plugins/lib/wrappers.h b/apps/plugins/lib/wrappers.h new file mode 100644 index 0000000..2eb4ea0 --- /dev/null +++ b/apps/plugins/lib/wrappers.h @@ -0,0 +1,44 @@ +/*************************************************************************** +* __________ __ ___. +* Open \______ \ ____ ____ | | _\_ |__ _______ ___ +* Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / +* Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < +* Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ +* \/ \/ \/ \/ \/ +* $Id$ +* +* Copyright (C) 2009 by Andrew Mahone +* +* This header redefines some core functions as calls via the plugin_api, to +* allow easy compilation of core source files in the pluginlib with different +* features from the version built for the core, or when a core object file is +* not built for a particular target. +* +* This program is free software; you can redistribute it and/or +* modify it under the terms of the GNU General Public License +* as published by the Free Software Foundation; either version 2 +* of the License, or (at your option) any later version. +* +* This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY +* KIND, either express or implied. +* +****************************************************************************/ + +#ifndef _LIB_WRAPPERS_H_ +#define _LIB_WRAPPERS_H_ + +#define open rb->open +#define close rb->close +#define read rb->read +#define lseek rb->lseek +#define memset rb->memset +#ifdef HAVE_ADJUSTABLE_CPU_FREQ +#define cpu_boost rb->cpu_boost +#endif +#define yield rb->yield +#if CONFIG_CODEC == SWCODEC +#define align_buffer rb->align_buffer +#endif + +#endif + |