WindowOutput()
Syntaxe
Resultat = WindowOutput(#Fenetre)Description
Renvoie la valeur OutputID d'une fenêtre nécessaire à la fonction StartDrawing() de la bibliothèque Dessin 2D pour effectuer les dessins 2D directement dessus.
Arguments
#Fenetre La fenêtre à utiliser.
Valeur de retour
Renvoie l'OutputID de la fenêtre afin d'effectuer un rendu 2D directement dessus.
Remarques
La mémoire allouée par WindowOutput() est libérée avec StopDrawing().
Le contenu dessiné sur une fenêtre sera effacé dès que la fenêtre ou une partie de cette dernière sera recouverte par une autre fenêtre, quand elle sera déplacée en dehors de l'écran ou quand elle sera cachée ou minimisée. Pour garder le contenu visible, il est obligatoire de le redessiner après chaque évènement #PB_Event_Repaint. Une manière plus confortable pour afficher un dessin sur une fenêtre est d'utiliser une image et ImageGadget() qu'il est possible de mettre à jour avec SetGadgetState(). Tout l'affichage sera géré par le gadget.
Exemple: Dessin sans #PB_Event_Repaint
; Faites disparaître une partie de la fenêtre en dehors de l'écran If OpenWindow(0, 0, 0, 220, 100, "Exemple...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) ButtonGadget (1, 10, 60, 200, 30, "Dessiner sur la fenêtre") Repeat Event = WaitWindowEvent() Select Event Case #PB_Event_Gadget Select EventGadget() Case 1 ; Dessin d'un rectangle rouge sur la fenêtre If StartDrawing(WindowOutput(0)) Box(10,10, 200, 30, RGB(255, 0, 0)) StopDrawing() EndIf EndSelect EndSelect Until Event = #PB_Event_CloseWindow EndIf
Exemple: Dessin avec #PB_Event_Repaint
; Faites disparaître une partie de la fenêtre en dehors de l'écran If OpenWindow(0, 0, 0, 220, 100, "Exemple...", #PB_Window_SystemMenu | #PB_Window_ScreenCentered) Repeat Event = WaitWindowEvent() If Event = #PB_Event_Repaint StartDrawing(WindowOutput(0)) Box(10, 10, 50, 50, RGB(255, 0, 0)) StopDrawing() EndIf Until Event = #PB_Event_CloseWindow EndIf
Voir aussi
StartDrawing(), WindowVectorOutput()
OS Supportés
Tous