Skip to content

Commit

Permalink
Support DrawBmp24FromMem() on devices w/o PROGMEM
Browse files Browse the repository at this point in the history
- GetImageFromProg: fallback to RAM if no PROGMEM
  • Loading branch information
ImpulseAdventure committed Jan 14, 2019
1 parent 0f8b6fa commit 683f5ca
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 1 deletion.
5 changes: 5 additions & 0 deletions src/GUIslice.c
Original file line number Diff line number Diff line change
Expand Up @@ -856,7 +856,12 @@ gslc_tsImgRef gslc_GetImageFromRam(unsigned char* pImgBuf,gslc_teImgRefFlags eFm
gslc_tsImgRef gslc_GetImageFromProg(const unsigned char* pImgBuf,gslc_teImgRefFlags eFmt)
{
gslc_tsImgRef sImgRef;
#if (GSLC_USE_PROGMEM)
sImgRef.eImgFlags = GSLC_IMGREF_SRC_PROG | (GSLC_IMGREF_FMT & eFmt);
#else
// Fallback to RAM if PROGMEM not implemented
sImgRef.eImgFlags = GSLC_IMGREF_SRC_RAM | (GSLC_IMGREF_FMT & eFmt);
#endif
sImgRef.pFname = NULL;
sImgRef.pImgBuf = pImgBuf;
sImgRef.pvImgRaw = NULL;
Expand Down
6 changes: 5 additions & 1 deletion src/GUIslice_drv_adagfx.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -756,6 +756,9 @@ void gslc_DrvDrawBmp24FromMem(gslc_tsGui* pGui,int16_t nDstX, int16_t nDstY,cons
h = *(pImage++);
w = *(pImage++);
}
#if defined(DBG_DRIVER)
GSLC_DEBUG_PRINT("DBG: DrvDrawBmp24FromMem() w=%d h=%d\n", w, h);
#endif
int row, col;
for (row=0; row<h; row++) { // For each scanline...
for (col=0; col<w; col++) { // For each pixel...
Expand Down Expand Up @@ -928,7 +931,7 @@ bool gslc_DrvDrawImage(gslc_tsGui* pGui,int16_t nDstX,int16_t nDstY,gslc_tsImgRe
{
#if defined(DBG_DRIVER)
char addr[6];
GSLC_DEBUG_PRINT("DBG: DrvDrawImage(%s) with ImgBuf address=\n","");
GSLC_DEBUG_PRINT("DBG: DrvDrawImage() with ImgBuf address=","");
sprintf(addr,"%04X",sImgRef.pImgBuf);
GSLC_DEBUG_PRINT("%s\n",addr);
#endif
Expand Down Expand Up @@ -990,6 +993,7 @@ bool gslc_DrvDrawImage(gslc_tsGui* pGui,int16_t nDstX,int16_t nDstY,gslc_tsImgRe

} else {
// Unsupported source
GSLC_DEBUG_PRINT("DBG: DrvDrawImage() unsupported source eImgFlags=%d\n", sImgRef.eImgFlags);
return false;
}
}
Expand Down

0 comments on commit 683f5ca

Please sign in to comment.