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


von Nils S. (kruemeltee) Benutzerseite


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:
1
SDL_Surface *screen = init...
2
SDL_Surface *fest, *beweglich;
3
4
... code um *fest und *beweglich zu "füllen" ...
5
hlineRGBA(fest, 15, WIDTH-1, 15, 0xff, 0x8c, 0, 255); // orange border h
6
hlineRGBA(fest, 15, WIDTH-1, 16, 0xff, 0x8c, 0, 255);
7
vlineRGBA(beweglich, WIDTH-1-70,  0, 16, 0xff, 0x8c, 0, 255); // orange border v
8
...
9
10
for(;;) {
11
    SDL_BlitSurface(fest, NULL, screen, NULL);
12
    SDL_BlitSurface(beweglich, NULL, screen, NULL);
13
    SDL_UpdateRect(screen, 0, 0, WIDTH, HEIGHT);
14
}
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.

von jua (Gast)


Lesenswert?

Initialisierst du "fest" und "beweglich" auch mit 
SDL_CreateRGBSurface()?

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.