Merge pull request #7 from abhishek-kakkar/master

Critical bug fix in the Text Rendering Function
ugfx_release_2.6
Tectu 2012-06-14 04:53:01 -07:00
commit de7fb3f756
2 changed files with 8 additions and 16 deletions

View File

@ -96,13 +96,9 @@ void lcdWriteData(uint16_t lcdData) {
void lcdWriteReg(uint16_t lcdReg, uint16_t lcdRegValue) { void lcdWriteReg(uint16_t lcdReg, uint16_t lcdRegValue) {
LCD_CS_LOW; LCD_CS_LOW;
LCD_RS_LOW;
lld_lcdwrite(lcdReg); lcdWriteIndex(lcdReg);
lcdWriteData(lcdRegValue);
LCD_RS_HIGH;
lld_lcdwrite(lcdRegValue);
LCD_CS_HIGH; LCD_CS_HIGH;
} }
@ -215,26 +211,22 @@ void lld_lcdSetOrientation(uint8_t newOrientation) {
switch(orientation) { switch(orientation) {
case portrait: case portrait:
lcdWriteReg(0x0001, 0x2B3F); lcdWriteReg(0x03, 0x03);
lcdWriteReg(0x0011, 0x6070);
lcd_height = SCREEN_HEIGHT; lcd_height = SCREEN_HEIGHT;
lcd_width = SCREEN_WIDTH; lcd_width = SCREEN_WIDTH;
break; break;
case landscape: case landscape:
lcdWriteReg(0x0001, 0x293F); // Not implemented yet
lcdWriteReg(0x0011, 0x6078);
lcd_height = SCREEN_WIDTH; lcd_height = SCREEN_WIDTH;
lcd_width = SCREEN_HEIGHT; lcd_width = SCREEN_HEIGHT;
break; break;
case portraitInv: case portraitInv:
lcdWriteReg(0x0001, 0x693F); // Not implemented yet
lcdWriteReg(0x0011, 0x6040);
lcd_height = SCREEN_HEIGHT; lcd_height = SCREEN_HEIGHT;
lcd_width = SCREEN_WIDTH; lcd_width = SCREEN_WIDTH;
break; break;
case landscapeInv: case landscapeInv:
lcdWriteReg(0x0001, 0x6B3F); // Not implemented yet
lcdWriteReg(0x0011, 0x6048);
lcd_height = SCREEN_WIDTH; lcd_height = SCREEN_WIDTH;
lcd_width = SCREEN_HEIGHT; lcd_width = SCREEN_HEIGHT;
break; break;

4
glcd.c
View File

@ -5,7 +5,7 @@
uint16_t lcd_width, lcd_height; uint16_t lcd_width, lcd_height;
uint16_t bgcolor=White, fgcolor=Black; uint16_t bgcolor=White, fgcolor=Black;
uint16_t cx, cy; uint16_t cx=0, cy=0;
static uint8_t tpText=0; static uint8_t tpText=0;
const uint8_t* font; const uint8_t* font;
@ -151,7 +151,7 @@ void lcdDrawChar(char c) {
cx += fontWidth; cx += fontWidth;
if(sps != 0) { if(sps != 0) {
if(!tpText) if(!tpText)
lcdFillArea(cx, cy, sps, fontHeight, fgcolor); lcdFillArea(cx, cy, cx+sps, cy+fontHeight, bgcolor);
cx += sps; cx += sps;
} }
} }