/*struct ablak { String nev; int bx, by, szel, mag; int fsz, tsz; int tx, ty, tyc; int fc, szc, ac; } ablakok[3]; byte szinek[7][3] = {0, 0, 0, // 0, black // color definitions 255, 255, 255, // 1, white 255, 0, 0, // 2, red 0, 255, 0, // 3, green 0, 0, 255, // 4, blue 255, 255, 0, // 5, yellow 0, 102, 30}; // 6, dark green*/ void feltolt() { ablakok[0].nev = "Version"; // window name ablakok[0].bx = 10; // x coord of the upper left corner ablakok[0].by = 5; // y coord of the upper left corner ablakok[0].szel = xsize - 20; // width ablakok[0].mag = 55; // height ablakok[0].fsz = 20; // height of the upper margin ablakok[0].tsz = 2; // width of the all other margins ablakok[0].tx = 5; // x pos of the window name ablakok[0].ty = 25; // y pos of the window name ablakok[0].tyc = 25; // y pos of the next text line in the window ablakok[0].fc = 2; // text color in the window ablakok[0].szc = 2; // border color ablakok[0].ac = 1; // window background color ablakok[1].nev = "CardInfo"; ablakok[1].bx = 10; ablakok[1].by = 65; ablakok[1].szel = xsize - 20; ablakok[1].mag = 90; ablakok[1].fsz = 20; ablakok[1].tsz = 2; ablakok[1].tx = 5; ablakok[1].ty = 25; ablakok[1].tyc = 25; ablakok[1].fc = 6; ablakok[1].szc = 6; ablakok[1].ac = 1; ablakok[2].nev = "Read&write"; ablakok[2].bx = 10; ablakok[2].by = 160; ablakok[2].szel = xsize - 20; ablakok[2].mag = 125; ablakok[2].fsz = 20; ablakok[2].tsz = 2; ablakok[2].tx = 5; ablakok[2].ty = 25; ablakok[2].tyc = 25; ablakok[2].fc = 4; ablakok[2].szc = 4; ablakok[2].ac = 1; } void ablakRajz(byte num) { // show the window // myGLCD.clrScr(); myGLCD.setColor(szinek[ablakok[num].szc][0], szinek[ablakok[num].szc][1], szinek[ablakok[num].szc][2]); myGLCD.fillRoundRect(ablakok[num].bx, ablakok[num].by, ablakok[num].bx + ablakok[num].szel, ablakok[num].by + ablakok[num].mag); ablakTorol(num); myGLCD.setBackColor(szinek[ablakok[num].szc][0], szinek[ablakok[num].szc][1], szinek[ablakok[num].szc][2]); myGLCD.setFont(SmallFont); myGLCD.print(ablakok[num].nev, ablakok[num].bx + ablakok[num].tx, ablakok[num].by + 5); ablakok[num].tyc = 25; } void ablakTorol(byte num) { // clear the window myGLCD.setColor(szinek[ablakok[num].ac][0], szinek[ablakok[num].ac][1], szinek[ablakok[num].ac][2]); myGLCD.fillRect(ablakok[num].bx + ablakok[num].tsz, ablakok[num].by + ablakok[num].fsz, ablakok[num].bx + ablakok[num].szel - ablakok[num].tsz, ablakok[num].by + ablakok[num].mag - ablakok[num].tsz); ablakok[num].tyc = 25; } void ablakSzoveg(byte num, String szoveg) { // prints text into the window if (ablakok[num].tyc + myGLCD.getFontYsize() + ablakok[num].tsz > ablakok[num].mag) { ablakok[num].tyc = ablakok[num].ty; ablakTorol(num); } myGLCD.setColor(szinek[ablakok[num].fc][0], szinek[ablakok[num].fc][1], szinek[ablakok[num].fc][2]); myGLCD.setBackColor(szinek[ablakok[num].ac][0], szinek[ablakok[num].ac][1], szinek[ablakok[num].ac][2]); myGLCD.print(szoveg, ablakok[num].bx + ablakok[num].tx, ablakok[num].by + ablakok[num].tyc); ablakok[num].tyc += myGLCD.getFontYsize(); }