diff options
author | inmarket <andrewh@inmarket.com.au> | 2019-05-08 09:25:35 +1000 |
---|---|---|
committer | inmarket <andrewh@inmarket.com.au> | 2019-05-08 09:25:35 +1000 |
commit | 0586fd276d81ae7cd95ff50f92b1536c947ddf67 (patch) | |
tree | 909a91960d794ecb094bd2f4e7a77b9beadcb620 /src | |
parent | 127a7cd2a2d6145b808b1960f602cc26cafcb1dd (diff) | |
download | uGFX-0586fd276d81ae7cd95ff50f92b1536c947ddf67.tar.gz uGFX-0586fd276d81ae7cd95ff50f92b1536c947ddf67.tar.bz2 uGFX-0586fd276d81ae7cd95ff50f92b1536c947ddf67.zip |
Fix to gImage BMP handling where the system pixel size is less than a byte
Diffstat (limited to 'src')
-rw-r--r-- | src/gdisp/gdisp_image_bmp.c | 10 | ||||
-rw-r--r-- | src/gdisp/gdisp_options.h | 4 |
2 files changed, 12 insertions, 2 deletions
diff --git a/src/gdisp/gdisp_image_bmp.c b/src/gdisp/gdisp_image_bmp.c index 188c9313..270cba26 100644 --- a/src/gdisp/gdisp_image_bmp.c +++ b/src/gdisp/gdisp_image_bmp.c @@ -11,6 +11,16 @@ #include "gdisp_image_support.h" +#if GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE * (COLOR_TYPE_BITS/8) < 40 + #if GFX_COMPILER_WARNING_TYPE == GFX_COMPILER_WARNING_DIRECT + #warning "GDISP: GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE must be at least 40 bytes. It has been adjusted for you." + #elif GFX_COMPILER_WARNING_TYPE == GFX_COMPILER_WARNING_MACRO + COMPILER_WARNING("GDISP: GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE must be at least 40 bytes. It has been adjusted for you.") + #endif + #undef GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE + #define GDISP_IMAGE_BMP_BLIT_BUFFER_SIZE ((40 + (COLOR_TYPE_BITS/8) - 1) / (COLOR_TYPE_BITS/8)) +#endif + typedef struct gdispImagePrivate_BMP { gU8 bmpflags; #define BMP_V2 0x01 // Version 2 (old) header format diff --git a/src/gdisp/gdisp_options.h b/src/gdisp/gdisp_options.h index 18948945..a3037967 100644 --- a/src/gdisp/gdisp_options.h +++ b/src/gdisp/gdisp_options.h @@ -389,8 +389,8 @@ #define GDISP_NEED_IMAGE_BMP_32 GFXON #endif /** - * @brief The BMP blit buffer size. - * @details Defaults to 32 + * @brief The BMP blit buffer size in pixels. + * @details Defaults to 32 pixels * @note Bigger is faster but requires more RAM. * @note This must be greater than 40 bytes and 32 pixels as we read our headers into this space as well. */ |