www.mikrocontroller.net

Forum: PC-Programmierung SDL mehrere Surfaces "beschreiben" und "zusammenführen"


Autor: Nils S. (kruemeltee) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich versuche gerade in SDL eine kleine GUI für einen Touschscreen zu 
Programmieren und möchte dabei Dinge, die immer gleich bleiben und das 
was sich verändert in zwei Surfaces legen und die beiden danach 
gemeinsam anzeigen.

Meine Idee:
SDL_Surface *screen = init...
SDL_Surface *fest, *beweglich;

... code um *fest und *beweglich zu "füllen" ...
hlineRGBA(fest, 15, WIDTH-1, 15, 0xff, 0x8c, 0, 255); // orange border h
hlineRGBA(fest, 15, WIDTH-1, 16, 0xff, 0x8c, 0, 255);
vlineRGBA(beweglich, WIDTH-1-70,  0, 16, 0xff, 0x8c, 0, 255); // orange border v
...

for(;;) {
    SDL_BlitSurface(fest, NULL, screen, NULL);
    SDL_BlitSurface(beweglich, NULL, screen, NULL);
    SDL_UpdateRect(screen, 0, 0, WIDTH, HEIGHT);
}

Nun sollte er ja dauerhauft in der For-Schleife den Inhalt 
zusammenpacken und auf screen anzeigen. Allerdings steigt er immer beim 
ersten Zugriff auf *fest oder *beweglich aus.

Wenn ich einfach alles auf screen gehen lasse und die zwei BlitSurface 
rauslasse, funktioniert es, allerdings ist es nich das was ich will.

Ich hoffe mir kann da ja jemand weiterhelfen.

Autor: jua (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Initialisierst du "fest" und "beweglich" auch mit 
SDL_CreateRGBSurface()?

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.