copy
Fork of 4DGL-uLCD-SE by
Diff: uLCD_4DGL_main.cpp
- Revision:
- 2:edae99e4abe7
- Parent:
- 1:8b656995301f
- Child:
- 4:74df7fc26fef
diff -r 8b656995301f -r edae99e4abe7 uLCD_4DGL_main.cpp --- a/uLCD_4DGL_main.cpp Mon Nov 11 01:22:41 2013 +0000 +++ b/uLCD_4DGL_main.cpp Sun Nov 17 04:36:12 2013 +0000 @@ -1,5 +1,5 @@ // -// uLCD_4DGL is a class to drive 4D Systems TFT touch screens +// uLCD_4DGL is a class to drive 4D Systems uLCD 144 G2 // // Copyright (C) <2010> Stephane ROCHON <stephane.rochon at free.fr> // @@ -53,8 +53,9 @@ current_row = 0; // initial cursor row current_color = WHITE; // initial text color current_orientation = IS_PORTRAIT; // initial screen orientation - - set_font(FONT_5X7); // initial font + current_hf = 1; + current_wf = 1; + set_font(FONT_7X8); // initial font // text_mode(OPAQUE); // initial texr mode } @@ -132,7 +133,7 @@ #endif int i, resp = 0; freeBUFFER(); - writeBYTE(0x00); + writeBYTE(0x00); //command has a null prefix byte for (i = 0; i < number; i++) writeBYTE(command[i]); // send command to serial port while (!_cmd.readable()) wait_ms(TEMPO); // wait for screen answer @@ -172,6 +173,9 @@ command[0] = CLS; writeCOMMAND(command, 1); + current_hf = 1; + current_wf = 1; + set_font(FONT_7X8); // initial font } //************************************************************************** @@ -322,6 +326,23 @@ } //**************************************************************************************************** +void uLCD_4DGL :: textbackground_color(int color) // set screen background color +{ + char command[3]= ""; // input color is in 24bits like 0xRRGGBB + + command[0] = TXTBCKGDCOLOR; + + int red5 = (color >> (16 + 3)) & 0x1F; // get red on 5 bits + int green6 = (color >> (8 + 2)) & 0x3F; // get green on 6 bits + int blue5 = (color >> (0 + 3)) & 0x1F; // get blue on 5 bits + + command[1] = ((red5 << 3) + (green6 >> 3)) & 0xFF; // first part of 16 bits color + command[2] = ((green6 << 5) + (blue5 >> 0)) & 0xFF; // second part of 16 bits color + + writeCOMMAND(command, 3); +} + +//**************************************************************************************************** void uLCD_4DGL :: display_control(char mode, char value) // set screen mode to value { char command[3]= ""; @@ -440,4 +461,4 @@ #endif return resp; -} \ No newline at end of file +}