diff options
Diffstat (limited to 'apps/plugins/lib/pluginlib_bmp.h')
| -rw-r--r-- | apps/plugins/lib/pluginlib_bmp.h | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/apps/plugins/lib/pluginlib_bmp.h b/apps/plugins/lib/pluginlib_bmp.h new file mode 100644 index 0000000..0e7a0a4 --- /dev/null +++ b/apps/plugins/lib/pluginlib_bmp.h @@ -0,0 +1,56 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2006 by Antoine Cellerier <dionoea -at- videolan -dot- org> + * + * 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_BMP_H_ +#define _LIB_BMP_H_ + +#include "lcd.h" +#include "plugin.h" + +#if LCD_DEPTH > 1 /* save is only available for color, resize for >1bpp */ +#ifdef HAVE_LCD_COLOR +/** + * Save bitmap to file + */ +int save_bmp_file( char* filename, struct bitmap *bm, const struct plugin_api* rb ); +#endif + +/** + Very simple image scale from src to dst (nearest neighbour). + Source and destination dimensions are read from the struct bitmap. +*/ +void simple_resize_bitmap(struct bitmap *src, struct bitmap *dst); + +/** + Advanced image scale from src to dst (bilinear) based on imlib2. + Source and destination dimensions are read from the struct bitmap. + */ +void smooth_resize_bitmap(struct bitmap *src, struct bitmap *dst); + +#else +/* + BMP loader is built with scaling support in pluginlib on 1bpp targets, as + these do not provide scaling support in the core BMP loader. bmp_init is + needed to copy the plugin API pointer for the pluginlib loader's use. +*/ +void bmp_init(const struct plugin_api *api); +#endif + +#endif |