From d7801f4a06cb2370c7cabfff1a94b81e48969325 Mon Sep 17 00:00:00 2001 From: Damjan Adamic Date: Sun, 26 Feb 2017 20:11:58 +0100 Subject: [PATCH] Lcd gtests added for Horus --- radio/src/tests/lcd_480x272.cpp | 119 +++++++++++++++++++++++++ radio/src/tests/primitives_480x272.png | Bin 0 -> 6108 bytes radio/src/tests/vline_480x272.png | Bin 0 -> 1294 bytes 3 files changed, 119 insertions(+) create mode 100644 radio/src/tests/lcd_480x272.cpp create mode 100644 radio/src/tests/primitives_480x272.png create mode 100644 radio/src/tests/vline_480x272.png diff --git a/radio/src/tests/lcd_480x272.cpp b/radio/src/tests/lcd_480x272.cpp new file mode 100644 index 000000000..69caf2367 --- /dev/null +++ b/radio/src/tests/lcd_480x272.cpp @@ -0,0 +1,119 @@ +/* + * Copyright (C) OpenTX + * + * Based on code named + * th9x - http://code.google.com/p/th9x + * er9x - http://code.google.com/p/er9x + * gruvin9x - http://code.google.com/p/gruvin9x + * + * License GPLv2: http://www.gnu.org/licenses/gpl-2.0.html + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + */ + +#include +#include +#include +#include +#include +#include + +#define SWAP_DEFINED +#include "opentx.h" +#include "location.h" +#include "targets/simu/simulcd.h" + +#if defined(COLORLCD) + +void doPaint_480x272(QPainter & p) +{ + QRgb rgb = qRgb(0, 0, 0); + p.setBackground(QBrush(rgb)); + p.eraseRect(0, 0, LCD_W, LCD_H); + + uint16_t previousColor = 0xFF; + for (int y=0; yclear(TEXT_BGCOLOR); + for (int x=0; x<100; x+=2) { + lcdDrawSolidVerticalLine(x, x/2, 12, TEXT_COLOR); + } + EXPECT_TRUE(checkScreenshot_480x272("vline")); +} + +TEST(Lcd_480x272, primitives) +{ + lcd->clear(TEXT_BGCOLOR); + lcdDrawText(8, 8, "The quick brown fox jumps over the lazy dog", CURVE_AXIS_COLOR); + lcdDrawText(5, 5, "The quick brown fox jumps over the lazy dog", TEXT_COLOR); + + lcdDrawFilledRect(10, 30, 30, 30, SOLID, TITLE_BGCOLOR); + lcdDrawFilledRect(50, 30, 30, 30, DOTTED, TEXT_COLOR); + lcdDrawFilledRect(90, 30, 30, 30, SOLID, ROUND|TITLE_BGCOLOR); + lcdDrawRect(130, 30, 30, 30, 1, SOLID, TITLE_BGCOLOR); + lcdDrawRect(170, 30, 30, 30, 2, SOLID, TITLE_BGCOLOR); + lcdDrawRect(210, 30, 30, 30, 5, SOLID, TITLE_BGCOLOR); + + lcdDrawVerticalLine(10, 70, 100, SOLID, TITLE_BGCOLOR); + lcdDrawVerticalLine(15, 70, 90, SOLID, TITLE_BGCOLOR); + lcdDrawVerticalLine(20, 70, 80, SOLID, TITLE_BGCOLOR); + lcdDrawVerticalLine(25, 70, 70, SOLID, TITLE_BGCOLOR); + + lcdDrawHorizontalLine(30, 70, 100, SOLID, TEXT_COLOR); + lcdDrawHorizontalLine(30, 75, 90, SOLID, TEXT_COLOR); + lcdDrawHorizontalLine(30, 80, 80, SOLID, TEXT_COLOR); + lcdDrawHorizontalLine(30, 85, 70, SOLID, TEXT_COLOR); + + + EXPECT_TRUE(checkScreenshot_480x272("primitives")); +} + +#endif \ No newline at end of file diff --git a/radio/src/tests/primitives_480x272.png b/radio/src/tests/primitives_480x272.png new file mode 100644 index 0000000000000000000000000000000000000000..c2a8e4c3ef433c76132dea2ef6f978b22a2a4ea8 GIT binary patch literal 6108 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 L)7#a*K8pSiG$n9f literal 0 HcmV?d00001 diff --git a/radio/src/tests/vline_480x272.png b/radio/src/tests/vline_480x272.png new file mode 100644 index 0000000000000000000000000000000000000000..7947a4f9bc526e8b127e6c6048bc2d33f48733ba GIT binary patch literal 1294 zcmeAS@N?(olHy`uVBq!ia0y~yV0-|?0vt?0k>@G~w}BLAfk$L90|S2|2s5s*U!KXp zz;eLT#WAE}&f7cIL3aW~92^(OZ1{gw$fBTt^FSI8^Di0CyPaNLB6F+0*7fuA^Xu=A zmt*LtoOS&3`scO(nH%=o?5&-c+0eJV-u|SC!$I~&IV0W;>t}HbW%DN+g5@myaf zWH#vD6?~z1nc?;h>kH1y7_WUh>%c#gE#iDXSPiegckB_M?CC05$I~VbXLoDz&18G= zBY`h!86#Jop3o_i1N-c59tEnX{&~sFdM4YAd$PY5q)H`tm&=C$?a!_Gtg_IDdCgmQ z_q{+-Tkbm`wb>C0AiJh*jabm`!>p6~5M&jFH$0B0JcC$_i3ng4pX`GJy2PoJ|Co zzoW026(q;n4zlLK9X^l|2O?$dfVMS$w)6zqmR__9r19Lt7LZ1nyP3>DjTY-BvsdX% z1qN8G5=d?G&H#{F_d>9Rzx1Sl<~ZD33R0RO^dj7d_X@`sYa`wgjxX#fQW^p;W~WHq znC?*Tw5)Nj4VQq!WI+>$DGtmooTJoe5Dddq@R#w^i&@_-PtSP;EZ`VCUHx3vIVCg! E0Pz`yT>t<8 literal 0 HcmV?d00001