FullScreen und Canvas.Paint Event

Meine neue App soll gleich im Fullscreen starten und dann ein Bild in einem Canvas darstellen.
Das klappt auch wunderbar, aber leider bekomme ich 2 x den PaintEvent im Canvas, beim Start der App und dann nochmal, wenn ich auf fullscreen umstelle.
Das flickert dann unschön und kostet Zeit, wie kann ich das anders machen??

Jemand eine Idee?

Mit der üblichen Methode? Beim Umstellen auf Fullscreen ein Boolean “jetzt mache ich Fullscreen” auf true setzen. Das Paint-Event macht dann nichts, wenn es den Boolean auf true findet. Dann wieder auf false setzen.

Hm, ja, dachte, das wre zu einfach :slight_smile:

Ja, das geht, was nur blöd aussieht ist der Animationseffekt, das Bild erscheint kurz hinter der Animation, wenn diese dann fertig ist kommt es in den Vordergrund…

Kann man diese Fullscreen Animation irgendwie deaktivieren?

Wie sieht es aus, wenn Du es umgekehrt machst? Nichts malen, bis Fullscreen aktiviert wird. Oder einen Platzhalter malen?

ja sehr gerne, aber wann ist der Fullscreen aktiviert? Es gibt ja keine Variable Animation_fertig=true
Meine schnelle Lösung ist jetzt ein Timer… gefällt mir nicht, geht aber

Für welche Plattform entwickelst du eigentlich? Unter OS X gibt es schon eine DidEnterFullScreen-Notification, die man abfragen könnte. Ich bin sicher, die anderen Plattformen bieten sowas auch.

OS X und spter iOS, wie komme ich an diese Notification? MBS?

Mit an Wahrscheinlichkeit nur sehr knapp grenzender Sicherheit :wink:
MAcOSLib müsste das auch drin haben – hab aber nicht geschaut, ob dort NSWindow vollständig implementiert ist.

LOL, ich suche mal… danke

Noch zur Ergnzung hierzu, wenn man das Fenster vorab so gro macht wie der Screen ist alles gut (-: