Skip to content

Commit 8415851

Browse files
committed
added FillFromBuffer
1 parent ed58279 commit 8415851

File tree

2 files changed

+29
-0
lines changed

2 files changed

+29
-0
lines changed

lib_LGDP4532/inc/LGDP4532.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -272,6 +272,7 @@ void LGDP4532_SetPixel(uint16_t x,uint16_t y,uint32_t color);
272272
void LGDP4532_FillPixel(uint16_t x0,uint16_t y0,uint16_t x1,uint16_t y1,uint32_t *color);
273273

274274
void LGDP4532_Fill(uint16_t x0,uint16_t y0,uint16_t x1,uint16_t y1,uint32_t color);
275+
void LGDP4532_FillFromBuffer(uint16_t x0,uint16_t y0,uint16_t x1,uint16_t y1,uint8_t *data);
275276

276277
void LGDP4532_SetScrollPosition(uint16_t pos);
277278
void LGDP4532_SetWindow(uint16_t x0,uint16_t y0,uint16_t x1,uint16_t y1);

lib_LGDP4532/src/LGDP4532.c

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -323,6 +323,34 @@ void LGDP4532_FillPixel(uint16_t x0,uint16_t y0,uint16_t x1,uint16_t y1,uint32_t
323323
}
324324
}
325325

326+
void LGDP4532_FillFromBuffer(uint16_t x0,uint16_t y0,uint16_t x1,uint16_t y1,uint8_t *data) {
327+
328+
uint32_t i,j=(x1-x0+1)*(y1-y0+1);
329+
uint16_t p;
330+
331+
LGDP4532_SetWindow(x0,y0,x1,y1);
332+
333+
switch(LGDP4532_color_mode) {
334+
case COLOR_16BIT:
335+
for(i=0;i<j;i++) {
336+
p=(*data++)<<8;
337+
p|=*data++;
338+
wr_dat(p);
339+
}
340+
break;
341+
case COLOR_18BIT:
342+
for(i=0;i<j;i++) {
343+
p=(*data)>>6;
344+
wr_dat(p);
345+
p=(*data++)<<10;
346+
p|=(*data++)<<4;
347+
p|=(*data++)>>2;
348+
wr_dat(p);
349+
}
350+
break;
351+
}
352+
}
353+
326354
void LGDP4532_FillPixel_16bit(uint16_t x0,uint16_t y0,uint16_t x1,uint16_t y1,uint16_t *color) {
327355

328356
uint32_t i,j;

0 commit comments

Comments
 (0)