StartDrawing() Types d'accès selon les surfaces de dessin

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

StartDrawing() Types d'accès selon les surfaces de dessin

Message par Ollivier »

Je reprends un extrait de l'aide de PureBasic:

Code : Tout sélectionner

  WindowOutput()  : Les dessins seront rendus directement sur la fenêtre.
  ScreenOutput()  : Les dessins seront rendus directement sur l'ecran (utile pour les jeux).
  SpriteOutput()  : Les dessins seront rendus directement sur le sprite (utile pour les jeux).
  ImageOutput()   : Les dessins seront rendus directement sur l'image (voir aussi CreateImage())
  PrinterOutput() : Les dessins seront rendus directement sur l'imprimante.
  TextureOutput() : Les dessins seront rendus directement sur la texture.

Je remarque que la fonction Point() a du mal avec WindowOutput(). Y a-t-il un accès uniquement en écriture?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Re: StartDrawing() Types d'accès selon les surfaces de dessi

Message par Backup »

Ollivier a écrit :Je reprends un extrait de l'aide de PureBasic:

Code : Tout sélectionner

  WindowOutput()  : Les dessins seront rendus directement sur la fenêtre.
  ScreenOutput()  : Les dessins seront rendus directement sur l'ecran (utile pour les jeux).
  SpriteOutput()  : Les dessins seront rendus directement sur le sprite (utile pour les jeux).
  ImageOutput()   : Les dessins seront rendus directement sur l'image (voir aussi CreateImage())
  PrinterOutput() : Les dessins seront rendus directement sur l'imprimante.
  TextureOutput() : Les dessins seront rendus directement sur la texture.

Je remarque que la fonction Point() a du mal avec WindowOutput(). Y a-t-il un accès uniquement en écriture?
pour les windows ça marche tres bien, mais les windows, sont redessinée a chaque evenement nouveau de la fenetre :)

donc il te faut utiliser un callback pour garder le dessin !! :D
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Oui merci Dobro, je voyais en effet qu'un simple messageRequester() sur ma fenêtre lui défonce mes belles décorations.

Sinon, il y a moyen que tu fasses un récap des possibilités ou non d'accès direct à la mémoire avec les intitulés ci-dessus, dans le style:

Code : Tout sélectionner

OutputID                 ADM*  Dep
============================
WindowOutput()       NSP    - 
ScreenOutput()        Oui     DB
SpriteOutput()          Oui     DB
ImageOutput()         NSP     -
PrinterOutput()         NSP     -
TextureOutput()       NSP     -
============================
*ADM:Accès direct en mémoire avec Peek et Poke.
Dep: Adresse de départ
DB: Obtenue avec DrawingBuffer()
Je t'en demande peut-être un peu beaucoup...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Ollivier a écrit :Oui merci Dobro, je voyais en effet qu'un simple messageRequester() sur ma fenêtre lui défonce mes belles décorations.

Sinon, il y a moyen que tu fasses un récap des possibilités ou non d'accès direct à la mémoire avec les intitulés ci-dessus, dans le style:

Code : Tout sélectionner

OutputID                 ADM*  Dep
============================
WindowOutput()       NSP    - 
ScreenOutput()        Oui     DB
SpriteOutput()          Oui     DB
ImageOutput()         NSP     -
PrinterOutput()         NSP     -
TextureOutput()       NSP     -
============================
*ADM:Accès direct en mémoire avec Peek et Poke.
Dep: Adresse de départ
DB: Obtenue avec DrawingBuffer()
Je t'en demande peut-être un peu beaucoup...

c'est Comtois qui s'occupe de la doc !!
et il faudrai trouver autre chose, parce que ta description n'est pas tres clair :lol:
NSP ?? çvdq?? .............. pardon : ça veut dire quoi ??? :D

mais c'est une idée a soumettre a notre comtois national
Ollivier
Messages : 4197
Inscription : ven. 29/juin/2007 17:50
Localisation : Encore ?
Contact :

Message par Ollivier »

Pour être un peu plus carré et explicite (en ce moment, j'ai du mal...), ce serait un tableau comme ça:

Code : Tout sélectionner

;____________________________________________________________________
;¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
; Output            Window  Screen  Sprite  Image  Printer  Texture
;____________________________________________________________________
;¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
; Drawing Infos       ?       X       X       -      ?        ?
; Size Infos          X       -       X       X      X        X
; Memory access       W      2RW     2?W      RW     W        ??
;____________________________________________________________________
;¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
; Drawing Infos : Disponibilité des fonctions DrawingBuffer()
;                                             DrawingBufferPitch()
;                                             DrawingPixelFormat()
;
; Size Infos : Disponibilité des xWidth() et xHeight()
;
; Memory Access : W   = 1 buffer d'accès en écriture uniquement
;                 RW  = 1 buffer d'accès en lecture et écriture
;                 2RW = 2 buffers d'accès en lecture et écriture
;____________________________________________________________________
;¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
Répondre