本文整理汇总了C++中LcdPanel::setForeground方法的典型用法代码示例。如果您正苦于以下问题:C++ LcdPanel::setForeground方法的具体用法?C++ LcdPanel::setForeground怎么用?C++ LcdPanel::setForeground使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类LcdPanel
的用法示例。
在下文中一共展示了LcdPanel::setForeground方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: textTest
void textTest() {
int i;
const char *str="The quick brown fox";
Size size;
Point p;
uint32_t before,elapsed;
prompt("Stream operators test");
*_gl << Point::Origin << "Let's see PI:";
for(i=0;i<=7;i++)
*_gl << Point(0,(1+i)*_font->getHeight()) << DoublePrecision(3.1415926535,i);
MillisecondTimer::delay(5000);
prompt("Opaque text test");
size=_gl->measureString(*_font,str);
before=MillisecondTimer::millis();
for(i=0;i<15000;i++) {
p.X=rand() % (_gl->getXmax()-size.Width);
p.Y=rand() % (_gl->getYmax()-size.Height);
_gl->setForeground(rand());
_gl->writeString(p,*_font,str);
}
elapsed=MillisecondTimer::millis()-before;
_gl->clearScreen();
_gl->setForeground(ColourNames::WHITE);
*_gl << Point::Origin << "Elapsed: " << (int32_t)elapsed << "ms";
MillisecondTimer::delay(3000);
}
示例2: run
void run() {
// reset is on PE1 and RS (D/CX) is on PD11
GpioE<DefaultDigitalOutputFeature<1> > pe;
GpioD<DefaultFsmcAlternateFunctionFeature<11> > pd;
// set up the FSMC timing. these numbers (particularly the data setup time) are dependent on
// both the FSMC bus speed and the panel timing parameters.
Fsmc8080LcdTiming fsmcTiming(0,3);
// set up the FSMC with RS=A16 (PD11)
_accessMode=new LcdAccessMode(fsmcTiming,16,pe[1]);
_gl=new LcdPanel(*_accessMode);
// clear to black while the lights are out
_gl->setBackground(0);
_gl->clearScreen();
// create the backlight on timer4, channel2 (PD13)
DefaultBacklight backlight;
// fade up to 100% in 4ms steps
backlight.fadeTo(100,4);
// create a font
_font=new Font_VOLTER__28GOLDFISH_299;
*_gl << *_font;
_gl->setForeground(ColourNames::RED);
_gl->fillRectangle(Rectangle(10,20,5,10));
for(;;) {
jpegTest();
lzgTest();
basicColoursTest();
textTest();
scrollTest();
ellipseTest();
gradientTest();
rectTest();
lineTest();
clearTest();
sleepTest();
}
}
示例3: error
void error(const std::string& str) {
_tft->setBackground(ColourNames::WHITE);
_tft->setForeground(ColourNames::BLACK);
_tft->clearScreen();
LinearBufferInputOutputStream compressedData((uint8_t *)&ErrorPixels,(uint32_t)&ErrorPixelsSize);
_tft->drawJpeg(Rectangle(95,135,50,50),compressedData);
*_tft << Point(2,2) << str.c_str();
errorRestart();
}
示例4: lineTest
void lineTest() {
Point p1,p2;
uint32_t i,start;
prompt("Line test");
for(i=0,start=MillisecondTimer::millis();MillisecondTimer::millis()-start<5000;i++) {
p1.X=rand() % _gl->getXmax();
p1.Y=rand() % _gl->getYmax();
p2.X=rand() % _gl->getXmax();
p2.Y=rand() % _gl->getYmax();
_gl->setForeground(rand());
_gl->drawLine(p1,p2);
}
_gl->setForeground(ColourNames::WHITE);
_gl->clearScreen();
*_gl << Point::Origin << i << " lines in 5 seconds";
MillisecondTimer::delay(3000);
}
示例5: lineTest
void lineTest() {
Point p1,p2;
uint32_t start;
prompt("Line test");
for(start=MillisecondTimer::millis();MillisecondTimer::millis()-start<5000;) {
p1.X=rand() % _gl->getXmax();
p1.Y=rand() % _gl->getYmax();
p2.X=rand() % _gl->getXmax();
p2.Y=rand() % _gl->getYmax();
_gl->setForeground(rand());
_gl->drawLine(p1,p2);
}
}
示例6: lineTest
void lineTest() {
Point p1,p2;
int i;
prompt("Line test");
for(i=0;i<5000;i++) {
p1.X=rand() % _gl->getXmax();
p1.Y=rand() % _gl->getYmax();
p2.X=rand() % _gl->getXmax();
p2.Y=rand() % _gl->getYmax();
_gl->setForeground(rand());
_gl->drawLine(p1,p2);
}
}
示例7: initDisplay
void initDisplay(){
// we've got RESET on PE1, backlight on PD13 and RS (D/CX) on PD11
GpioE<DefaultDigitalOutputFeature<1>> pe;
GpioD<DefaultDigitalOutputFeature<13>,DefaultFsmcAlternateFunctionFeature<11>> pd;
// set up the FSMC timing for this panel
Fsmc8080LcdTiming fsmcTiming(2,5);
// set up the FSMC on bank 1 with A16 as the RS line (PD11)
_accessMode=new LcdAccessMode(fsmcTiming,16,pe[1]);
// create the LCD interface in landscape mode
// this will power it up and do the reset sequence
lcd=new LcdPanel(*_accessMode);
HX8352AGamma gamma(0xA0,0x03,0x00,0x45,0x03,0x47,0x23,0x77,0x01,0x1F,0x0F,0x03);
// jb settings: check which one gives better colors
//HX8352AGamma gamma(0xF0,0x07,0x00,0x43,0x16,0x16,0x43,0x77,0x00,0x1E,0x0F,0x00);
lcd->applyGamma(gamma);
// create a font and select it for stream operations
_font=new Font_NINTENDO_DS_BIOS16();
*lcd << *_font;
lcd->setFontFilledBackground(true);
// turn on the backlight at 100%
backlight=new DefaultBacklight;
//uint16_t backlightPercentage=100;
backlight->fadeTo(100,4);
// setup font/background colors
bgcolor = ColourNames::BLACK;
fgcolor = ColourNames::YELLOW;
lcd->setBackground(bgcolor);
lcd->setForeground(fgcolor);
}
示例8: initialiseLcd
void initialiseLcd() {
// reset is on PE1 and RS (D/CX) is on PE3
GpioE<DefaultDigitalOutputFeature<1>,
DefaultFsmcAlternateFunctionFeature<3>> pe;
// set up the FSMC timing. these numbers (particularly the data setup time) are dependent on
// both the FSMC bus speed and the panel timing parameters.
Fsmc8080LcdTiming fsmcTiming(2,4);
// set up the FSMC with RS=A19 (PE3)
_accessMode=new LcdAccessMode(fsmcTiming,19,pe[1]);
_tft=new LcdPanel(*_accessMode);
// apply gamma settings
ST7783Gamma gamma(0,0x0107,0,0x0203,0x0402,0,0x0207,0,0x0203,0x0403);
_tft->applyGamma(gamma);
// clear to black while the lights are out
_tft->setBackground(ColourNames::BLACK);
_tft->setForeground(ColourNames::WHITE);
_tft->clearScreen();
// fade up to 100% in 4ms steps
_backlight=new DefaultBacklight;
_backlight->fadeTo(100,4);
// create a font
_font=new Font_VOLTER__28GOLDFISH_299;
*_tft << *_font;
_line=0;
}
示例9: processEvents
void processEvents() {
//event 1: click on the touch panel
// check if there's a click
if(touch->_clicked){
// a click happened!
do {
touch->panel->getCoordinates(hitPoint);
// event: calibrate button tap
if(calibrate_box.containsPoint(hitPoint)){
MillisecondTimer::delay(500);
touch->calibrate();
}
// event: send AT commands button tap
else if (ATcommands.containsPoint(hitPoint)){
// NEXT STEP: start usart, send AT+RST COMMAND AND GET THE ANSWER
//debug purpose
*lcd << Point(20,160);
*lcd << "sending reset commands";
MillisecondTimer::delay(1000);
//
}
} while(!touch->_penIrqPin.read());
//reset clicked flag
touch->_clicked=false;
// back to main menu
lcd->clearScreen();
lcd->setForeground(fgcolor);
drawMenu();
}
}
示例10: scrollTest
void scrollTest() {
int32_t i,j,numRows;
Point p;
prompt("Hardware scrolling test");
_gl->setForeground(0xffffff);
_gl->setBackground(0);
_gl->clearScreen();
numRows=((_gl->getYmax()+1)/_font->getHeight())/3;
p.X=0;
for(i=0;i<numRows;i++) {
p.Y=(numRows+i)*_font->getHeight();
*_gl << p << "Test row " << i;
}
for(j=0;j<15;j++) {
numRows=(_gl->getYmax()+1)/4;
for(i=0;i<numRows;i++) {
_gl->setScrollPosition(i);
MillisecondTimer::delay(5);
}
for(i=0;i<numRows;i++) {
_gl->setScrollPosition(numRows-i);
MillisecondTimer::delay(5);
}
}
_gl->setScrollPosition(0);
}
示例11: stopTimer
void stopTimer(const char *prompt,uint32_t elapsed) {
_gl->setForeground(ColourNames::WHITE);
*_gl << Point(0,0) << (int32_t)elapsed << "ms " << prompt;
}
示例12: backlightTest
void backlightTest() {
prompt("Backlight test");
Rectangle rc;
uint16_t i;
static uint32_t colours[8]={
ColourNames::RED,
ColourNames::GREEN,
ColourNames::BLUE,
ColourNames::CYAN,
ColourNames::MAGENTA,
ColourNames::YELLOW,
ColourNames::WHITE,
ColourNames::BLACK,
};
// draw a row of solid colours
rc.X=0;
rc.Y=0;
rc.Height=_gl->getHeight()/2;
rc.Width=_gl->getWidth()/(sizeof(colours)/sizeof(colours[0]));
for(i=0;i<sizeof(colours)/sizeof(colours[0]);i++) {
_gl->setForeground(colours[i]);
_gl->fillRectangle(rc);
rc.X+=rc.Width;
}
// draw a greyscale
rc.X=0;
rc.Y=rc.Height;
rc.Height=rc.Height/4;
rc.Width=_gl->getWidth()/256;
for(i=0;i<256;i++) {
_gl->setForeground(i | (i << 8) | (i << 16));
_gl->fillRectangle(rc);
rc.X+=rc.Width;
}
for(i=100;i>0;i-=5) {
// set the level
_backlight->setPercentage(i);
// show the indicator
rc.X=_gl->getWidth()/4;
rc.Y=(_gl->getHeight()*6)/8;
rc.Height=_gl->getHeight()/8;
// fill
rc.Width=(_gl->getWidth()/2*i)/100;
_gl->gradientFillRectangle(rc,Direction::HORIZONTAL,0x008000,0x00ff00);
// remainder
rc.X+=rc.Width;
rc.Width=_gl->getWidth()/2-rc.Width;
_gl->setForeground(ColourNames::BLACK);
_gl->fillRectangle(rc);
// show the percentage
_gl->setForeground(ColourNames::WHITE);
*_gl << Point(0,_gl->getHeight()-_font.getHeight()) << "Backlight level: " << i << "% ";
// pause
MillisecondTimer::delay(750);
}
// restore backlight
_backlight->setPercentage(100);
}
示例13: stopTimer
void stopTimer(const char *prompt,uint32_t elapsed) {
_gl->setForeground(0xffffff);
*_gl << Point(0,0) << (int32_t)elapsed << "ms " << prompt;
}