Forum: Compiler & IDEs Touchscreen in Menü nachträglich einbauen


von Daniel P. (pirndi)


Lesenswert?

Hallo leute!

Ich hab mir eine kleine GUI gebaut das ursprünglich für die S65 lcd 
library gedacht war (der code stammt aus einer Studienarbeit aus Koblenz 
wo ein MP3 player gebaut wurde). Ich hab mir von Watterott das 
MI0283QT-2 besorgt und begonnen das Projekt anzupassen. Das Menü wird 
ohne fehler angezeigt. Nun will ich aber auch das Touchscreen verwenden 
nur wie trage ich das nachträglich ein? Das menü wird über eine schleife 
gezeichnet d.h er berechnet die X u Y coordinaten für die Menü Icons. 
Ich habe mir gedacht das ich die Coordinaten seperat abspeichere und 
nacher mit dem Touch Coordinaten vergleiche oder hat jemand eine bessere 
Idee?

Hier ladet er das bild den titel usw asu dem speicher....
1
//Die Einträge nach und nach extrahieren und den PGM_P an gui_elements_menu_print geben
2
  for(index = 0; index < count; index++)
3
  {
4
    memcpy_P(&p, &menu[3+index*2], sizeof(PGM_VOID_P)); //Titel des Menüpunktes extrahieren
5
    memcpy_P(&p2, &menu[3+index*2+1], sizeof(PGM_VOID_P)); //Bild des Menüpunktes extrahieren
6
    gui_elements_showGraphicMenu_P_entry(p, p2, cols, index, index==selected);
7
  }

gui_elements_showGraphicMenu_P_entry(...) -> Hier berechnet er X und Y 
was nachher in die DrawIcon(x,Y..) eingetragen wird...
1
  uint8_t col = index % cols;
2
  uint8_t row = index / cols;
3
4
  uint16_t padding = ((LCD_WIDTH/cols) - lcd_getImageWidth(icon)) / 2;
5
  uint16_t x = (LCD_WIDTH/cols) * col + padding;
6
  uint16_t y = (LCD_WIDTH/cols) * row + padding + panel_height;

von Daniel P. (pirndi)


Lesenswert?

Hab es hinbekommen mit einer struct in der ich dan mittels 
tsindex[index]
x u y speichere und nacher in der schleife abrufe.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.