4D systems Picaso uLCD 32PTU touch display library
demo.cpp
- Committer:
- CaptainR
- Date:
- 2016-09-29
- Revision:
- 27:dbf79d116497
- Parent:
- 26:c6a803706a42
File content as of revision 27:dbf79d116497:
#include "mbed.h" #include "Picaso_4DGL-32PTU.h" #define SHORT_WAIT 500 #define LONG_WAIT 1000 // local declarations void clearBuf(char*, int); //************************************************************************** // Demo program that goes through file system based functions //************************************************************************** void PICASO_4DGL :: fileSystemDemo() { short h1; int i; cls(); screenMode(landscape); // set orientation to landscape puts("\n\rThis is the File system functions demo"); wait_ms(LONG_WAIT); cls(); if (file_Mount()) puts("\rFAT16 Mount: OK"); else puts("\rFAT16 Mount: FAIL"); char buf[100]; sprintf(buf, "\n\rFAT16 Error = %i\n", file_Error()); puts(buf); /* sprintf(buf, "\n\rFile count on disc = %i\n\r", file_Count("*.*")); puts(buf); sprintf(buf, "\n\rFound %i files maching 1*.*", file_Dir("1*.*")); puts(buf); file_FindFirst("*.TXT"); char filename[FILENAME_LENGTH]; for (i = 0; i < FILENAME_LENGTH; i++) filename[i] = 0; short len = file_FindFirstRet("*.TXT", filename); sprintf(buf, "\n\rFirst filename = %s\n Length = %i", filename, len); puts(buf); for (i = 0; i < FILENAME_LENGTH; i++) filename[i] = 0; file_FindNext(); len = file_FindNextRet(filename); sprintf(buf, "\n\rNext filename = %s\n Length = %i", filename, len); puts(buf); file_FindNext(); file_FindNext(); file_FindNext(); if (file_Exists("3.TXT")) puts("\n\r3.TXT : EXISTS"); else puts("\n\r3.TXT : DOES NOT EXIST"); if (file_Exists("4.TXT")) puts("\n\r4.TXT : EXISTS"); else puts("\n\r4.TXT : DOES NOT EXIST"); wait_ms(LONG_WAIT); cls(); */ h1 = file_Open("file.txt", OPEN_READ); short err = file_Error(); if (err == 0) sprintf(buf, "\r\file.txt handle = %i", h1); else sprintf(buf, "\rFile Open error = %i", err); puts(buf); short count = file_Read(31, h1); if (count == 31) sprintf(buf, "\r\nRead %i bytes from %i", count, h1); else sprintf(buf, "\r\nError = %i\n\rMax data count = %i", file_Error(), count); puts(buf); sprintf(buf, "\r\nData: %s", fileReadBuf); puts(buf); clearBuf(fileReadBuf, BUFFER_SIZE); short hi = 0, lo = 5; sprintf(buf, "\r\nSetting pointer to %i = %s", lo, file_Seek(h1, hi, lo) ? "true" : "false"); puts(buf); file_Read(1, h1); sprintf(buf, "\r\nRead char = %c", fileReadBuf[0]); puts(buf); clearBuf(fileReadBuf, BUFFER_SIZE); short recNum = 2; sprintf(buf, "\r\nIndex pointer to %i = %s", lo, file_Index(h1, hi, lo, recNum) ? "true" : "false"); puts(buf); file_Read(1, h1); sprintf(buf, "\r\nRead char = %c", fileReadBuf[0]); puts(buf); int pointer = file_Tell(h1); if (pointer >= 0) sprintf(buf, "\r\nPointer = %i", pointer); else sprintf(buf, "\r\nError = %i", file_Error()); puts(buf); sprintf(buf, "\r\nFile %i Close = %s", h1, file_Close(h1) ? "true" : "false"); puts(buf); h1 = file_Open("newfile.txt", OPEN_READ); err = file_Error(); if (err == 0) sprintf(buf, "\r\nnewfile.txt handle = %i", h1); else sprintf(buf, "\rFile Open error = %i", err); puts(buf); clearBuf(fileReadBuf, BUFFER_SIZE); count = file_Read(18, h1); if (count == 18) sprintf(buf, "\r\nRead %i bytes from %i", count, h1); else sprintf(buf, "\r\nError = %i\n\rMax data count = %i", file_Error(), count); puts(buf); sprintf(buf, "\r\nData: %s", fileReadBuf); puts(buf); sprintf(buf, "\r\nFile %i size = %i", h1, file_Size(h1)); puts(buf); sprintf(buf, "\r\nFile %i Close = %s", h1, file_Close(h1) ? "true" : "false"); puts(buf); wait_ms(LONG_WAIT); cls(); h1 = file_Open("1.txt", OPEN_READ); err = file_Error(); if (err == 0) sprintf(buf, "\r\nnewfile.txt handle = %i", h1); else sprintf(buf, "\rFile Open error = %i", err); puts(buf); for (i = 0; i < 3; i++) { clearBuf(fileReadBuf, BUFFER_SIZE); count = file_GetS(30, h1, fileReadBuf); sprintf(buf, "\r\nRead %i bytes", count); puts(buf); sprintf(buf, "\r\nData: %s", fileReadBuf); puts(buf); } /* short h2 = file_Open("scr.png", OPEN_APPEND); file_ScreenCapture(10, 10, 200, 100, h2); file_Close(h2); wait_ms(LONG_WAIT); cls(); h2 = file_Open("pic.bmp", OPEN_READ); file_Image(5, 5, h2); */ /* h1 = file_Open("newfile.txt", OPEN_APPEND); // try appending to file err = file_Error(); if (err == 0) sprintf(buf, "\r\nnewfile.txt handle = %i", h1); else sprintf(buf, "\rFile Open error = %i", err); puts(buf); count = file_Write(13, " My Precious!", h1); // add data file_Close(h1); // close file h1 = file_Open("newfile.txt", OPEN_READ); // open in read mode again err = file_Error(); if (err != 0) { sprintf(buf, "\rFile Open error = %i", err); puts(buf); } clearBuf(fileReadBuf, BUFFER_SIZE); // clear buffer count = file_Read(18, h1); // read bytes if (count != 18) { sprintf(buf, "\r\nError = %i\n\rMax data count = %i", file_Error(), count); puts(buf); } sprintf(buf, "\r\nData: %s", fileReadBuf); puts(buf); */ } //************************************************************************** // Demo program that goes through media based functions //************************************************************************** void PICASO_4DGL :: mediaDemo() { cls(); screenMode(landscape); // set orientation to landscape puts("\n\rThis is the Media functions demo"); wait_ms(LONG_WAIT); cls(); wait_ms(SHORT_WAIT); if (media_Init()) puts("\n\r uSD card Initialization: OK"); else puts("\n\r uSD card Initialization: FAIL"); if (media_SetAdd(513)) puts("\n\r Byte address set: OK"); else puts("\n\r Byte address set: FAIL"); if (media_SetSector(1)) puts("\n\r Sector address set: OK"); else puts("\n\r Sector address set: FAIL"); /* puts("\n\r Now write some data in multiple sectors"); char array[1030]; for (int i = 0; i < 1030; i++) array[i] = 1; wait_ms(LONG_WAIT); if (media_WrSector(array)) puts("\n\r Write Data: OK"); else puts("\n\r Write Data: FAIL"); wait_ms(LONG_WAIT); puts("\n\r Now read the same data"); if (media_SetSector(1)) puts("\n\r Sector address set: OK"); if (media_RdSector()) puts("\n\r Read Sector 1: OK"); else puts("\n\r Read Sector 1: FAIL"); if (media_RdSector()) puts("\n\r Read Sector 2: OK"); else puts("\n\r Read Sector 2: FAIL"); if (media_RdSector()) puts("\n\r Read Sector 3: OK"); else puts("\n\r Read Sector 3: FAIL"); if (media_RdSector()) puts("\n\r Read Sector 4: OK"); else puts("\n\r Read Sector 4: FAIL"); if (media_RdSector()) puts("\n\r Read Sector 5: OK"); else puts("\n\r Read Sector 5: FAIL"); */ media_SetSector(1); puts("\n\r Now write some data in one sector"); wait_ms(LONG_WAIT); if (media_WrSector("Such data Much WOW")) puts("\n\r Write Data: OK"); else puts("\n\r Write Data: FAIL"); wait_ms(LONG_WAIT); puts("\n\r Now read the same data"); media_SetSector(1); if (media_RdSector()) { puts("\n\r Read Sector : OK"); pc.printf("\n\r Data: "); for(int i = 0; i < BUFFER_SIZE; i++) pc.printf("%c", buffer[i]); pc.printf("\n\r"); } else puts("\n\r Read Sector : FAIL"); puts("\n\r Now read one byte"); media_SetAdd(510); if (media_ReadByte()) puts("\n\r Read Byte : OK"); else puts("\n\r Read Byte : FAIL"); puts("\n\r Now read one word"); if (media_ReadByte()) puts("\n\r Read word : OK"); else puts("\n\r Read word : FAIL"); puts("\n\r Now write one byte"); media_SetSector(1); if (media_WriteByte('a')) puts("\n\r Write Byte : OK"); else puts("\n\r Write Byte : FAIL"); if (media_Flush()) puts("\n\r Flush : OK"); else puts("\n\r Flush : FAIL"); puts("\n\r Now write one word (2 bytes)"); //media_SetSector(1); if (media_WriteWord(19)) puts("\n\r Write Word : OK"); else puts("\n\r Write Word : FAIL"); if (media_Flush()) puts("\n\r Flush : OK"); else puts("\n\r Flush : FAIL"); wait_ms(LONG_WAIT); } //************************************************************************** // Demo program that goes through graphics based functions //************************************************************************** void PICASO_4DGL :: graphicsDemo() { cls(); screenMode(landscape); // set orientation to landscape puts("This is the Graphics functions demo"); wait_ms(LONG_WAIT); cls(); puts("\nLets change background color:"); bgColor(Purple); cls(); wait_ms(SHORT_WAIT); bgColor(White); cls(); wait_ms(SHORT_WAIT); bgColor(Blue); cls(); wait_ms(SHORT_WAIT); bgColor(Red); cls(); wait_ms(SHORT_WAIT); bgColor(Aqua); cls(); wait_ms(SHORT_WAIT); bgColor(Black); cls(); wait_ms(LONG_WAIT); puts("\nLets change contrast"); wait_ms(LONG_WAIT); contrast(DISABLE); wait_ms(LONG_WAIT); contrast(ENABLE); wait_ms(LONG_WAIT); cls(); puts("\nLets change outline color "); wait_ms(LONG_WAIT); drawFilledCircle(50, 50, 20, Red); wait_ms(SHORT_WAIT); outlineColor(White); wait_ms(SHORT_WAIT); drawFilledCircle(100, 50, 20, Red); wait_ms(LONG_WAIT); cls(); puts("\nLets change all the "); textFgColor(Purple); puts("PURPLE"); textFgColor(Yellow); puts(" bits to yellow"); textFgColor(Green); // set Color back to green wait_ms(LONG_WAIT); changeColor(Purple, Yellow); wait_ms(LONG_WAIT); cls(); puts("Lets draw some shapes:"); wait_ms(SHORT_WAIT); drawCircle(100, 100, 20, Aqua); wait_ms(SHORT_WAIT); drawFilledCircle(50, 50, 20, Red); wait_ms(SHORT_WAIT); drawLine(20, 20, 100, 30, Blue); wait_ms(SHORT_WAIT); drawRectangle(120, 20, 200, 60, Pink); wait_ms(SHORT_WAIT); drawFilledRectangle(210, 0, 250, 80, Orange); wait_ms(SHORT_WAIT); short xPolyline[3] = {10, 80, 180}; short yPolyline[3] = {10, 200, 80}; drawPolyline(3, xPolyline, yPolyline, Green); wait_ms(SHORT_WAIT); short xPolygon[5] = {0, 30, 5, 50, 40}; short yPolygon[5] = {50, 100, 220, 230, 170}; drawPolygon(5, xPolygon, yPolygon, Grey); wait_ms(SHORT_WAIT); short xFilledPolygon[5] = {260, 280, 290, 300, 255}; short yFilledPolygon[5] = {0, 20, 35, 55, 22}; drawFilledPolygon(5, xFilledPolygon, yFilledPolygon, White); wait_ms(SHORT_WAIT); drawTriangle(70, 130, 90, 150, 110, 120, Cream); wait_ms(SHORT_WAIT); drawFilledTriangle(260, 50, 300, 90, 240, 120, Yellow); wait_ms(SHORT_WAIT); drawElipse(200, 130, 20, 10, Olive); wait_ms(SHORT_WAIT); drawFilledElipse(200, 100, 30, 20, Navy); wait_ms(SHORT_WAIT); linePatern(10); drawLine(200, 200, 100, 300, White); wait_ms(LONG_WAIT); cls(); /* // somehow after this function display stops (but the calculation is right) puts("Lets calculate distance from point 0,0 on angle 40, 60 pixels away:"); wait_ms(LONG_WAIT); cls(); calculateOrbit(40, 60); wait_ms(SHORT_WAIT); cls(); */ puts("Lets draw some pixels:"); wait_ms(LONG_WAIT); cls(); for (int i = 0; i <= 10; i++) { for (int j = 0; j <= 10; j++) { putPixel(i, j, Red); } } wait_ms(LONG_WAIT); cls(); puts("Lets move origin point:"); wait_ms(LONG_WAIT); moveOrigin(100, 100); puts("This is the new origin!"); wait_ms(LONG_WAIT); cls(); puts("Now draw line from here:"); wait_ms(SHORT_WAIT); lineTo(100, 100); wait_ms(LONG_WAIT); puts("To here!"); wait_ms(LONG_WAIT); cls(); puts("Change clipping window, to test it, we use changeColor function, that works only in clipping area:"); wait_ms(LONG_WAIT); wait_ms(LONG_WAIT); setClipWindow(0, 0, 200, 20); changeColor(Green, Red); puts("\n\n\rDone!!!!"); wait_ms(LONG_WAIT); puts("\n\n\rNow extend to here!"); wait_ms(LONG_WAIT); extendClipRegion(); changeColor(Green, Red); puts("\n\n\rHow does it look?"); wait_ms(LONG_WAIT); cls(); puts("\nLets place a button:"); wait_ms(LONG_WAIT); cls(); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); puts("\n\n\n\nDid it work?"); wait_ms(LONG_WAIT); cls(); puts("\nNow lets change bevel width"); wait_ms(LONG_WAIT); if (bevelWidth(0)) { puts("\nNo bevel"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(LONG_WAIT); cls(); if (bevelWidth(1)) { puts("\nbevel 1"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(LONG_WAIT); cls(); if (bevelWidth(10)) { puts("\nbevel 10"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(LONG_WAIT); cls(); if (bevelWidth(16)) { puts("\nbevel 16"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(LONG_WAIT); cls(); if (bevelWidth(2)) { puts("\nbevel 2"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(LONG_WAIT); cls(); puts("\nNow lets change bevel shadow level"); wait_ms(LONG_WAIT); if (bevelShadow(0)) { puts("\nNo shadow"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(1)) { puts("\nShadow 1"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(2)) { puts("\nShadow 2"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(3)) { puts("\nShadow 3"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(4)) { puts("\nShadow 4"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(5)) { puts("\nShadow 5"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(SHORT_WAIT); if (bevelShadow(1)) { puts("\nShadow 1"); drawButton(DEPRESSED, 100, 100, Aqua, Violet, 2, 2, 2, "Press Me"); } wait_ms(LONG_WAIT); cls(); puts("\nLets place a panel:"); wait_ms(LONG_WAIT); cls(); drawPanel(RECESSED, 0, 0, 200, 20, Cream); wait_ms(SHORT_WAIT); puts("\nDid it work?"); wait_ms(LONG_WAIT); cls(); puts("\nLets place a slider:"); wait_ms(LONG_WAIT); cls(); drawSlider(RAISED, 30, 40, 210, 90, Violet, 100, 0); puts("\nDid it work?"); wait_ms(LONG_WAIT); cls(); puts("\nThis particular function is going to copy a specified portion of the creen and paste it somewhere else!"); wait_ms(LONG_WAIT); wait_ms(LONG_WAIT); wait_ms(LONG_WAIT); //cls(); screenCopyPaste(0, 0, 50, 100, 200, 50); puts("\nDid it work?"); wait_ms(LONG_WAIT); cls(); puts("\nLets get Xmax:"); wait_ms(LONG_WAIT); short Xmax = getGraphics(currentXMax); puts("\nLets get Ymax:"); wait_ms(LONG_WAIT); short Ymax = getGraphics(currentYMax); wait_ms(LONG_WAIT); pc.printf("\nCurrent orientation xMax = %i, yMax = %i\n\r", Xmax, Ymax); cls(); wait_ms(LONG_WAIT); } //************************************************************************** // Demo program that goes through main functions //************************************************************************** void PICASO_4DGL :: mainDemo() { cls(); puts("This is the main functions demo"); wait_ms(LONG_WAIT); cls(); /* puts("\nBaudrates:"); wait_ms(LONG_WAIT); cls(); baudrate(4800); puts("\n4800"); wait_ms(SHORT_WAIT); cls(); baudrate(9600); puts("\n9600"); wait_ms(SHORT_WAIT); cls(); baudrate(14400); puts("\n14400"); wait_ms(SHORT_WAIT); cls(); baudrate(19200); puts("\n19200"); wait_ms(SHORT_WAIT); cls(); baudrate(38400); puts("\n38400"); wait_ms(SHORT_WAIT); cls(); baudrate(56000); puts("\n56000"); wait_ms(SHORT_WAIT); cls(); baudrate(57600); puts("\n57600"); wait_ms(SHORT_WAIT); cls(); baudrate(9600); puts("\n9600"); wait_ms(SHORT_WAIT); cls(); */ puts("\nOrientation:"); wait_ms(LONG_WAIT); cls(); screenMode(landscape); puts("landscape"); wait_ms(SHORT_WAIT); cls(); screenMode(landscapeRew); puts("landscape rewersed"); wait_ms(SHORT_WAIT); cls(); screenMode(portrait); puts("portrait"); wait_ms(SHORT_WAIT); cls(); screenMode(portraitRew); puts("portrait rewersed"); wait_ms(LONG_WAIT); screenMode(landscape); // set back screen to landscape cls(); } //************************************************************************** // Demo program that goes through text based functions //************************************************************************** void PICASO_4DGL :: textDemo() { cls(); screenMode(landscape); // set screen to landscape puts("This is the Text functions demo"); wait_ms(LONG_WAIT); cls(); puts("\nText attributes:"); wait_ms(LONG_WAIT); //cls(); puts("\n\n"); textAttributes(bold); puts("\nBOLD"); wait_ms(SHORT_WAIT); textAttributes(bold + italic); puts("\nBOLD & ITALIC"); wait_ms(SHORT_WAIT); textAttributes(bold + italic + inverse); puts("\nBOLD & ITALIC & INVERSE"); wait_ms(SHORT_WAIT); textAttributes(bold + italic + inverse + underline); puts("\nBOLD & ITALIC & INVERSE & UNDERLINE"); wait_ms(LONG_WAIT); textAttributes(DISABLE); // set everything back to normal cls(); puts("\nText modes:"); wait_ms(LONG_WAIT); cls(); textBold(ENABLE); puts("\nBOLD:"); wait_ms(SHORT_WAIT); textBold(DISABLE); textInverse(ENABLE); puts("\nINVERSE:"); wait_ms(SHORT_WAIT); textInverse(DISABLE); textItalic(ENABLE); puts("\nITALIC:"); wait_ms(SHORT_WAIT); textItalic(DISABLE); textUnderline(ENABLE); puts("\nUNDERLINE:"); wait_ms(SHORT_WAIT); textUnderline(DISABLE); wait_ms(LONG_WAIT); cls(); puts("\nText gaps:"); wait_ms(LONG_WAIT); cls(); if (textXGap(0) == 1) puts("\nX gap: 0"); wait_ms(SHORT_WAIT); if (textXGap(1) == 1) puts("\nX gap: 1"); wait_ms(SHORT_WAIT); if (textXGap(2) == 1) puts("\nX gap: 2"); wait_ms(SHORT_WAIT); if (textXGap(3) == 1) puts("\nX gap: 3"); wait_ms(SHORT_WAIT); if (textXGap(4) == 1) puts("\nX gap: 4"); wait_ms(SHORT_WAIT); if (textXGap(5) == 1) puts("\nX gap: 5"); wait_ms(SHORT_WAIT); if (textXGap(6) == 1) puts("\nX gap: 6"); wait_ms(SHORT_WAIT); puts("\n"); textXGap(0); if (textYGap(0) == 1) puts("\nY gap: 0"); wait_ms(SHORT_WAIT); if (textYGap(1) == 1) puts("\nY gap: 1"); wait_ms(SHORT_WAIT); if (textYGap(2) == 1) puts("\nY gap: 2"); wait_ms(SHORT_WAIT); if (textYGap(3) == 1) puts("\nY gap: 3"); wait_ms(SHORT_WAIT); if (textYGap(4) == 1) puts("\nY gap: 4"); wait_ms(SHORT_WAIT); if (textYGap(5) == 1) puts("\nY gap: 5"); wait_ms(SHORT_WAIT); if (textYGap(6) == 1) puts("\nY gap: 6"); wait_ms(LONG_WAIT); textYGap(0); cls(); puts("Text width:"); wait_ms(LONG_WAIT); if (textWidth(1) == 1) puts("\nWidth: 1"); wait_ms(SHORT_WAIT); if (textWidth(2) == 1) puts("\nWidth: 2"); wait_ms(SHORT_WAIT); if (textWidth(3) == 1) puts("\nWidth: 3"); wait_ms(SHORT_WAIT); if (textWidth(4) == 1) puts("\nWidth: 4"); wait_ms(SHORT_WAIT); textWidth(1); puts("\nText height:"); wait_ms(LONG_WAIT); //cls(); if (textHeight(1) == 1) puts("\nHeight: 1"); wait_ms(SHORT_WAIT); if (textHeight(2) == 1) puts("\nHeight: 2"); wait_ms(SHORT_WAIT); if (textHeight(3) == 1) puts("\nHeight: 3"); wait_ms(SHORT_WAIT); if (textHeight(4) == 1) puts("\nHeight: 4"); wait_ms(LONG_WAIT); textHeight(1); cls(); puts("Fonts:"); wait_ms(LONG_WAIT); cls(); setFont(font1); puts("\nThis is Font 1"); wait_ms(SHORT_WAIT); setFont(font2); puts("\nThis is Font 2"); wait_ms(SHORT_WAIT); setFont(font3); puts("\nThis is Font 3"); wait_ms(LONG_WAIT); cls(); screenMode(portrait); puts("\nText Background colors:"); wait_ms(LONG_WAIT); cls(); textBgColor(Black); puts("\nBG Color = BLACK"); wait_ms(SHORT_WAIT); textBgColor(Navy); puts("\nBG Color = NAVY"); wait_ms(SHORT_WAIT); textFgColor(Black); textBgColor(DGreen); puts("\nBG Color = DARK GREEN"); wait_ms(SHORT_WAIT); textBgColor(DCyan); puts("\nBG Color = DARK CYAN"); wait_ms(SHORT_WAIT); textBgColor(Purple); puts("\nBG Color = PURPLE"); wait_ms(SHORT_WAIT); textBgColor(Olive); puts("\nBG Color = OLIVE"); wait_ms(SHORT_WAIT); textBgColor(Grey); puts("\nBG Color = GREY"); wait_ms(SHORT_WAIT); textBgColor(Blue); puts("\nBG Color = BLUE"); wait_ms(SHORT_WAIT); textBgColor(Green); puts("\nBG Color = GREEN"); wait_ms(SHORT_WAIT); textBgColor(Red); puts("\nBG Color = RED"); wait_ms(SHORT_WAIT); textBgColor(Yellow); puts("\nBG Color = YELLOW"); wait_ms(SHORT_WAIT); textBgColor(GYellow); puts("\nBG Color = GREEN YELLOW"); wait_ms(SHORT_WAIT); textBgColor(White); puts("\nBG Color = WHITE"); wait_ms(SHORT_WAIT); textBgColor(Orange); puts("\nBG Color = ORANGE"); wait_ms(SHORT_WAIT); textBgColor(Pink); puts("\nBG Color = PINK"); wait_ms(SHORT_WAIT); textBgColor(Violet); puts("\nBG Color = VIOLET"); wait_ms(SHORT_WAIT); textBgColor(Aqua); puts("\nBG Color = AQUA"); wait_ms(SHORT_WAIT); textBgColor(Cream); puts("\nBG Color = CREAM"); wait_ms(LONG_WAIT); textBgColor(Black); // set Color back textFgColor(Green); // set Color back cls(); screenMode(landscape); puts("Lets try moving cursor..."); wait_ms(LONG_WAIT); cls(); if (moveCursor(5, 5) == 1) puts("+"); wait_ms(SHORT_WAIT); if (moveCursor(10, 10) == 1) puts("+"); wait_ms(SHORT_WAIT); screenMode(portraitRew); if (moveCursor(50, 50) == 1) puts("+"); wait_ms(SHORT_WAIT); if (moveCursor(19, 29) == 1) puts("+"); wait_ms(LONG_WAIT); cls(); screenMode(portrait); puts("\nText Foreground Colors:"); wait_ms(LONG_WAIT); cls(); textBgColor(White); textFgColor(Black); puts("\nFG Color = BLACK"); textBgColor(Black); wait_ms(SHORT_WAIT); textFgColor(Navy); puts("\nFG Color = NAVY"); wait_ms(SHORT_WAIT); textFgColor(DGreen); puts("\nFG Color = DARK GREEN"); wait_ms(SHORT_WAIT); textFgColor(DCyan); puts("\nFG Color = DARK CYAN"); wait_ms(SHORT_WAIT); textFgColor(Purple); puts("\nFG Color = PURPLE"); wait_ms(SHORT_WAIT); textFgColor(Olive); puts("\nFG Color = OLIVE"); wait_ms(SHORT_WAIT); textFgColor(Grey); puts("\nFG Color = GREY"); wait_ms(SHORT_WAIT); textFgColor(Blue); puts("\nFG Color = BLUE"); wait_ms(SHORT_WAIT); textFgColor(Green); puts("\nFG Color = GREEN"); wait_ms(SHORT_WAIT); textFgColor(Red); puts("\nFG Color = RED"); wait_ms(SHORT_WAIT); textFgColor(Yellow); puts("\nFG Color = YELLOW"); wait_ms(SHORT_WAIT); textFgColor(GYellow); puts("\nFG Color = GREEN YELLOW"); wait_ms(SHORT_WAIT); textFgColor(White); puts("\nFG Color = WHITE"); wait_ms(SHORT_WAIT); textFgColor(Orange); puts("\nFG Color = ORANGE"); wait_ms(SHORT_WAIT); textFgColor(Pink); puts("\nFG Color = PINK"); wait_ms(SHORT_WAIT); textFgColor(Violet); puts("\nFG Color = VIOLET"); wait_ms(SHORT_WAIT); textFgColor(Aqua); puts("\nFG Color = AQUA"); wait_ms(SHORT_WAIT); textFgColor(Cream); puts("\nFG Color = CREAM"); wait_ms(LONG_WAIT); textFgColor(Green); // set Color back wait_ms(LONG_WAIT); } void clearBuf(char *str, int size) { int i; for (i = 0; i < size; i++) { str[i] = 0; } }