aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--changelog.txt1
-rw-r--r--gfxconf.example.h1
-rw-r--r--src/gdisp/gdisp_image_png.c7
-rw-r--r--src/gdisp/gdisp_options.h8
4 files changed, 11 insertions, 6 deletions
diff --git a/changelog.txt b/changelog.txt
index 074da055..30d6c79e 100644
--- a/changelog.txt
+++ b/changelog.txt
@@ -10,6 +10,7 @@ FIX: Ensure valid thread stack sizes on platforms where it matters
FEATURE: Add support for a GFILE user provided file system
FEATURE: Add gwinListItemSetText() to replace text in a GWIN list item
FEATURE: Added GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE configuration option
+FEATURE: Added GDISP_IMAGE_PNG_BLIT_BUFFER_SIZE configuration option
*** Release 2.7 ***
diff --git a/gfxconf.example.h b/gfxconf.example.h
index d37fbe58..31a6b8a6 100644
--- a/gfxconf.example.h
+++ b/gfxconf.example.h
@@ -136,6 +136,7 @@
// #define GDISP_NEED_IMAGE_PNG_RGB_16 TRUE
// #define GDISP_NEED_IMAGE_PNG_RGBALPHA_8 TRUE
// #define GDISP_NEED_IMAGE_PNG_RGBALPHA_16 TRUE
+// #define GDISP_IMAGE_PNG_BLIT_BUFFER_SIZE 32
// #define GDISP_NEED_IMAGE_ACCOUNTING FALSE
//#define GDISP_NEED_PIXMAP FALSE
diff --git a/src/gdisp/gdisp_image_png.c b/src/gdisp/gdisp_image_png.c
index 8b2bfb04..9fa1c68e 100644
--- a/src/gdisp/gdisp_image_png.c
+++ b/src/gdisp/gdisp_image_png.c
@@ -12,11 +12,6 @@
#include "gdisp_image_support.h"
/**
- * How big a pixel array to allocate for blitting the image to the display (in pixels)
- * Bigger is faster but uses more RAM.
- */
-#define PNG_BLIT_BUFFER_SIZE 32
-/**
* How big a byte array to use for input file buffer
* Bigger is faster but uses more RAM.
* Must be more than 8 bytes
@@ -89,7 +84,7 @@ typedef struct PNG_output {
coord_t sx, sy;
coord_t ix, iy;
unsigned cnt;
- pixel_t buf[PNG_BLIT_BUFFER_SIZE];
+ pixel_t buf[GDISP_IMAGE_PNG_BLIT_BUFFER_SIZE];
} PNG_output;
// Handle the PNG scan line filter
diff --git a/src/gdisp/gdisp_options.h b/src/gdisp/gdisp_options.h
index fa1a21e4..ec043769 100644
--- a/src/gdisp/gdisp_options.h
+++ b/src/gdisp/gdisp_options.h
@@ -518,6 +518,14 @@
#ifndef GDISP_NEED_IMAGE_PNG_RGBALPHA_16
#define GDISP_NEED_IMAGE_PNG_RGBALPHA_16 TRUE
#endif
+ /**
+ * @brief The PNG blit buffer size in pixels.
+ * @details Defaults to TRUE
+ * @note Bigger is faster but requires more RAM.
+ */
+ #ifndef GDISP_IMAGE_PNG_BLIT_BUFFER_SIZE
+ #define GDISP_IMAGE_PNG_BLIT_BUFFER_SIZE 32
+ #endif
/**
* @}
*