summaryrefslogtreecommitdiff
path: root/apps/plugins/lib
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/lib')
-rw-r--r--apps/plugins/lib/SOURCES4
-rw-r--r--apps/plugins/lib/bmp.c6
-rw-r--r--apps/plugins/lib/bmp.h7
-rw-r--r--apps/plugins/lib/resize.h2
4 files changed, 14 insertions, 5 deletions
diff --git a/apps/plugins/lib/SOURCES b/apps/plugins/lib/SOURCES
index b28878c..b55fea0 100644
--- a/apps/plugins/lib/SOURCES
+++ b/apps/plugins/lib/SOURCES
@@ -4,6 +4,10 @@ fixedpoint.c
playback_control.c
rgb_hsv.c
#if defined(HAVE_LCD_BITMAP) && (LCD_DEPTH < 4)
+/*
+ The scaler is not provided in core on mono targets, but is built in
+ pluginlib for use with greylib overlay output
+*/
#if LCD_DEPTH == 1
resize.c
#endif
diff --git a/apps/plugins/lib/bmp.c b/apps/plugins/lib/bmp.c
index b3e0e2b..1cb24d3 100644
--- a/apps/plugins/lib/bmp.c
+++ b/apps/plugins/lib/bmp.c
@@ -27,7 +27,7 @@
#include "lcd.h"
#include "system.h"
-#if LCD_DEPTH > 1
+#if LCD_DEPTH > 1 /* save is only available for color, resize for >1bpp */
#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
@@ -122,13 +122,15 @@ void simple_resize_bitmap(struct bitmap *src, struct bitmap *dst)
}
}
-#else
+#else /* LCD_DEPTH == 1 */
#include "wrappers.h"
static const struct plugin_api *rb;
+/* import the core bmp loader */
#include "../../recorder/bmp.c"
+/* initialize rb for use by the bmp loader */
void bmp_init(const struct plugin_api *api)
{
rb = api;
diff --git a/apps/plugins/lib/bmp.h b/apps/plugins/lib/bmp.h
index 379a889..0e7a0a4 100644
--- a/apps/plugins/lib/bmp.h
+++ b/apps/plugins/lib/bmp.h
@@ -24,7 +24,7 @@
#include "lcd.h"
#include "plugin.h"
-#if LCD_DEPTH > 1
+#if LCD_DEPTH > 1 /* save is only available for color, resize for >1bpp */
#ifdef HAVE_LCD_COLOR
/**
* Save bitmap to file
@@ -45,6 +45,11 @@ void simple_resize_bitmap(struct bitmap *src, struct bitmap *dst);
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
diff --git a/apps/plugins/lib/resize.h b/apps/plugins/lib/resize.h
index 3674e14..46a8977 100644
--- a/apps/plugins/lib/resize.h
+++ b/apps/plugins/lib/resize.h
@@ -24,8 +24,6 @@
#ifndef _LIB_RESIZE_H_
#define _LIB_RESIZE_H_
-#if LCD_DEPTH == 1
void resize_init(const struct plugin_api *api);
-#endif
#endif