diff --git a/radio/src/bmp.cpp b/radio/src/bmp.cpp index 9e5267b05..c05115e62 100644 --- a/radio/src/bmp.cpp +++ b/radio/src/bmp.cpp @@ -426,10 +426,11 @@ const char *writeScreenshot() #define STB_IMAGE_IMPLEMENTATION #define STBI_ONLY_PNG +#define STBI_ONLY_JPEG #include "thirdparty/Stb/stb_image.h" -const char * pngLoad(uint8_t * bmp, const char * filename, uint16_t width, uint16_t height) +const char * imgLoad(uint8_t * bmp, const char * filename, uint16_t width, uint16_t height) { int x,y,n; unsigned char *data = stbi_load(filename, &x, &y, &n, 3); diff --git a/radio/src/gui/horus/lcd.h b/radio/src/gui/horus/lcd.h index 042147a8d..c83f1deaa 100644 --- a/radio/src/gui/horus/lcd.h +++ b/radio/src/gui/horus/lcd.h @@ -311,7 +311,7 @@ void lcdSetContrast(); #define lcdOff(...) const char * bmpLoad(uint8_t * dest, const char * filename, uint16_t width, uint16_t height); -const char * pngLoad(uint8_t * bmp, const char * filename, uint16_t width, uint16_t height); +const char * imgLoad(uint8_t * bmp, const char * filename, uint16_t width, uint16_t height); #if defined(BOOT) diff --git a/radio/src/gui/horus/menu_general_sdmanager.cpp b/radio/src/gui/horus/menu_general_sdmanager.cpp index a1b7a88ed..72cb5a8ab 100644 --- a/radio/src/gui/horus/menu_general_sdmanager.cpp +++ b/radio/src/gui/horus/menu_general_sdmanager.cpp @@ -367,10 +367,10 @@ bool menuGeneralSdManager(evt_t _event) lcdDrawBitmap(LCD_W/2, (LCD_H-MODEL_BITMAP_HEIGHT)/2, modelBitmap); } - if (ext && !strcasecmp(ext, ".png")) { + if (ext && (!strcasecmp(ext, ".png") || !strcasecmp(ext, ".jpg"))) { if (lastBitmap != menuVerticalPosition) { lastBitmap = menuVerticalPosition; - if (pngLoad(modelBitmap, reusableBuffer.sdmanager.lines[index], MODEL_BITMAP_WIDTH, MODEL_BITMAP_HEIGHT)) { + if (imgLoad(modelBitmap, reusableBuffer.sdmanager.lines[index], MODEL_BITMAP_WIDTH, MODEL_BITMAP_HEIGHT)) { ((uint32_t *)modelBitmap)[0] = 0; } }