1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Andrew Mahone 2009-01-08 02:49:23 +00:00
parent c38815aa29
commit 07e982df8a
11 changed files with 107 additions and 66 deletions

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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;
}

View file

@ -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

View file

@ -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