Fixes #1987: first pixel not drawn by Lua lcd.drawLine(), bmpLoad() last column not loaded for some bitmap widths, gtests added (ported from master)

This commit is contained in:
Damjan Adamic
2015-01-09 20:11:30 +01:00
parent 891109a89d
commit b878dc6736
6 changed files with 59 additions and 22 deletions
+46
View File
@@ -380,6 +380,12 @@ TEST(Lcd, lcd_bmpLoadAndDisplay)
bitmap.leakCheck();
lcd_bmp(70, 2, bitmap.buffer());
}
{
TestBuffer<1000> bitmap(BITMAP_BUFFER_SIZE(20, 20));
EXPECT_EQ(bmpLoad(bitmap.buffer(), "./tests/4b_20x20.bmp", 20, 20), (char *)0);
bitmap.leakCheck();
lcd_bmp(120, 2, bitmap.buffer());
}
EXPECT_TRUE(checkScreenshot("lcd_bmpLoadAndDisplay"));
// Test various bad BMP files, they should not display
@@ -395,3 +401,43 @@ TEST(Lcd, lcd_bmpLoadAndDisplay)
}
}
#endif
#if defined(PCBTARANIS)
TEST(Lcd, lcd_line)
{
int start, length, xOffset;
uint8_t pattern;
lcd_clear();
start = 5;
pattern = SOLID;
length = 40;
xOffset = 0;
lcd_line(start+(length>0?1:-1)+xOffset, start, start+(length>0?1:-1)+xOffset+length, start, pattern, 0);
lcd_line(start+xOffset, start+(length>0?1:-1), start+xOffset, start+(length>0?1:-1)+length, pattern, 0);
start = 10;
pattern = DOTTED;
length = 40;
xOffset = 0;
lcd_line(start+(length>0?1:-1)+xOffset, start, start+(length>0?1:-1)+xOffset+length, start, pattern, 0);
lcd_line(start+xOffset, start+(length>0?1:-1), start+xOffset, start+(length>0?1:-1)+length, pattern, 0);
start = 55;
pattern = SOLID;
length = -40;
xOffset = 80;
lcd_line(start+(length>0?1:-1)+xOffset, start, start+(length>0?1:-1)+xOffset+length, start, pattern, 0);
lcd_line(start+xOffset, start+(length>0?1:-1), start+xOffset, start+(length>0?1:-1)+length, pattern, 0);
start = 50;
pattern = DOTTED;
length = -40;
xOffset = 80;
lcd_line(start+(length>0?1:-1)+xOffset, start, start+(length>0?1:-1)+xOffset+length, start, pattern, 0);
lcd_line(start+xOffset, start+(length>0?1:-1), start+xOffset, start+(length>0?1:-1)+length, pattern, 0);
EXPECT_TRUE(checkScreenshot("lcd_line"));
}
#endif