www.mikrocontroller.net

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


Autor: Daniel P. (pirndi)
Datum:

Bewertung
0 lesenswert
nicht 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....
//Die Einträge nach und nach extrahieren und den PGM_P an gui_elements_menu_print geben
  for(index = 0; index < count; index++)
  {
    memcpy_P(&p, &menu[3+index*2], sizeof(PGM_VOID_P)); //Titel des Menüpunktes extrahieren
    memcpy_P(&p2, &menu[3+index*2+1], sizeof(PGM_VOID_P)); //Bild des Menüpunktes extrahieren
    gui_elements_showGraphicMenu_P_entry(p, p2, cols, index, index==selected);
  }

gui_elements_showGraphicMenu_P_entry(...) -> Hier berechnet er X und Y 
was nachher in die DrawIcon(x,Y..) eingetragen wird...
  uint8_t col = index % cols;
  uint8_t row = index / cols;

  uint16_t padding = ((LCD_WIDTH/cols) - lcd_getImageWidth(icon)) / 2;
  uint16_t x = (LCD_WIDTH/cols) * col + padding;
  uint16_t y = (LCD_WIDTH/cols) * row + padding + panel_height;

Autor: Daniel P. (pirndi)
Datum:

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

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.