19 lines
		
	
	
		
			817 B
		
	
	
	
		
			C++
		
	
	
	
			
		
		
	
	
			19 lines
		
	
	
		
			817 B
		
	
	
	
		
			C++
		
	
	
	
| 
 | |
| // PNGdec support functions
 | |
| 
 | |
| //=========================================v==========================================
 | |
| //  pngDraw: Callback function to draw pixels to the display
 | |
| //====================================================================================
 | |
| // This function will be called during decoding of the png file to render each image
 | |
| // line to the TFT. PNGdec generates the image line and a 1bpp mask.
 | |
| void pngDraw(PNGDRAW *pDraw) {
 | |
|   uint16_t lineBuffer[MAX_IMAGE_WDITH];          // Line buffer for rendering
 | |
|   uint8_t  maskBuffer[1 + MAX_IMAGE_WDITH / 8];  // Mask buffer
 | |
| 
 | |
|   png.getLineAsRGB565(pDraw, lineBuffer, PNG_RGB565_BIG_ENDIAN, 0xffffffff);
 | |
| 
 | |
|   if (png.getAlphaMask(pDraw, maskBuffer, 255)) {
 | |
|     tft.pushMaskedImage(xpos, ypos + pDraw->y, pDraw->iWidth, 1, lineBuffer, maskBuffer);
 | |
|   }
 | |
| }
 |