Structure LAYERPLANEDESCRIPTOR (wingdi.h)
La structure LAYERPLANEDESCRIPTOR décrit le format de pixels d’une surface de dessin.
Syntaxe
typedef struct tagLAYERPLANEDESCRIPTOR {
WORD nSize;
WORD nVersion;
DWORD dwFlags;
BYTE iPixelType;
BYTE cColorBits;
BYTE cRedBits;
BYTE cRedShift;
BYTE cGreenBits;
BYTE cGreenShift;
BYTE cBlueBits;
BYTE cBlueShift;
BYTE cAlphaBits;
BYTE cAlphaShift;
BYTE cAccumBits;
BYTE cAccumRedBits;
BYTE cAccumGreenBits;
BYTE cAccumBlueBits;
BYTE cAccumAlphaBits;
BYTE cDepthBits;
BYTE cStencilBits;
BYTE cAuxBuffers;
BYTE iLayerPlane;
BYTE bReserved;
COLORREF crTransparent;
} LAYERPLANEDESCRIPTOR, *PLAYERPLANEDESCRIPTOR, *LPLAYERPLANEDESCRIPTOR;
Membres
nSize
Spécifie la taille de cette structure de données. Définissez cette valeur sur sizeof(LAYERPLANEDESCRIPTOR).
nVersion
Spécifie la version de cette structure de données. Définissez cette valeur sur 1.
dwFlags
Ensemble d’indicateurs de bits qui spécifient les propriétés du plan de couche. Les propriétés ne s’excluent généralement pas mutuellement ; toute combinaison d’indicateurs de bits peut être définie, avec les exceptions indiquées. Les constantes d’indicateur de bits suivantes sont définies.
Valeur | Signification |
---|---|
LPD_SUPPORT_OPENGL | Le plan de couche prend en charge le dessin OpenGL. |
LPD_SUPPORT_GDI | Le plan de couche prend en charge le dessin GDI. L’implémentation actuelle d’OpenGL ne prend pas en charge cet indicateur. |
LPD_DOUBLEBUFFER | Le plan de couche est à double mise en mémoire tampon. Un plan de couche peut être mis en mémoire tampon double même lorsque le plan de main est mis en mémoire tampon unique et vice versa. |
LPD_STEREO | Le plan de couche est stéréoscopique. Un plan de couche peut être stéréoscopique même lorsque le plan main est monoscopique et vice versa. |
LPD_SWAP_EXCHANGE | Dans un plan de couche à double mise en mémoire tampon, l’échange de la mémoire tampon de couleur échange le contenu de la mémoire tampon avant et de la mémoire tampon arrière. La mémoire tampon arrière contient ensuite le contenu de la mémoire tampon avant l’échange. Cet indicateur est un indicateur uniquement et peut ne pas être fourni par un pilote. |
LPD_SWAP_COPY | Dans un plan de couche à double mise en mémoire tampon, l’échange de la mémoire tampon de couleur copie le contenu de la mémoire tampon arrière vers la mémoire tampon avant. L’échange n’affecte pas le contenu de la mémoire tampon arrière. Cet indicateur est un indicateur uniquement et peut ne pas être fourni par un pilote. |
LPD_TRANSPARENT | Le membre crTransparent de cette structure contient une couleur transparente ou une valeur d’index qui permet aux calques sous-jacents d’afficher à travers cette couche. Tous les plans de couche, à l’exception de la couche sous-couche la plus faible, ont une couleur ou un index transparent. |
LPD_SHARE_DEPTH | Le plan de couche partage la mémoire tampon de profondeur avec le plan main. |
LPD_SHARE_STENCIL | Le plan de couche partage la mémoire tampon de gabarit avec le plan main. |
LPD_SHARE_ACCUM | Le plan de couche partage la mémoire tampon d’accumulation avec le plan main. |
iPixelType
Spécifie le type de données de pixels. Les types suivants sont définis.
Valeur | Signification |
---|---|
LPD_TYPE_RGBA | Pixels RVBA. Chaque pixel a quatre composants : rouge, vert, bleu et alpha. |
LPD_TYPE_COLORINDEX | Pixels d’index de couleur. Chaque pixel utilise une valeur d’index de couleur. |
cColorBits
Spécifie le nombre de bitplans de couleurs dans chaque mémoire tampon de couleurs. Pour les types de pixels RVBA, il s’agit de la taille de la mémoire tampon de couleur, à l’exclusion des plans de bits alpha. Pour les pixels d’index de couleur, il s’agit de la taille de la mémoire tampon d’index de couleur.
cRedBits
Spécifie le nombre de plans de bits rouges dans chaque mémoire tampon de couleur RVBA.
cRedShift
Spécifie le nombre de décalages pour les plans de bits rouges dans chaque mémoire tampon de couleur RVBA.
cGreenBits
Spécifie le nombre de plans de bits verts dans chaque mémoire tampon de couleur RVBA.
cGreenShift
Spécifie le nombre de décalages pour les plans de bits verts dans chaque mémoire tampon de couleur RVBA.
cBlueBits
Spécifie le nombre de plans de bits bleus dans chaque mémoire tampon de couleur RVBA.
cBlueShift
Spécifie le nombre de décalages pour les plans de bits bleus dans chaque mémoire tampon de couleur RVBA.
cAlphaBits
Spécifie le nombre de plans de bits alpha dans chaque mémoire tampon de couleur RVBA. Les plans de bits alpha ne sont pas pris en charge.
cAlphaShift
Spécifie le nombre de décalages pour les plans de bits alpha dans chaque mémoire tampon de couleur RGBA. Les plans de bits alpha ne sont pas pris en charge.
cAccumBits
Spécifie le nombre total de plans de bits dans la mémoire tampon d’accumulation.
cAccumRedBits
Spécifie le nombre de plans de bits rouges dans la mémoire tampon d’accumulation.
cAccumGreenBits
Spécifie le nombre de plans de bits verts dans la mémoire tampon d’accumulation.
cAccumBlueBits
Spécifie le nombre de plans de bits bleus dans la mémoire tampon d’accumulation.
cAccumAlphaBits
Spécifie le nombre de plans de bits alpha dans la mémoire tampon d’accumulation.
cDepthBits
Spécifie la profondeur de la mémoire tampon de profondeur (axe z).
cStencilBits
Spécifie la profondeur de la mémoire tampon de gabarit.
cAuxBuffers
Spécifie le nombre de mémoires tampons auxiliaires. Les mémoires tampons auxiliaires ne sont pas prises en charge.
iLayerPlane
bReserved
Non utilisé. Doit être zéro.
crTransparent
Lorsque l’indicateur LPD_TRANSPARENT est défini, spécifie la couleur transparente ou la valeur d’index. En règle générale, la valeur est égale à zéro.
Remarques
Notez, comme indiqué ci-dessus, que certaines propriétés de plan de couche ne sont pas prises en charge dans l’implémentation actuelle. L’implémentation est l’implémentation logicielle Microsoft GDI d’OpenGL. Les fabricants de matériel qui améliorent des parties d’OpenGL peuvent prendre en charge certaines propriétés de plan de couche non prises en charge par l’implémentation générique.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows 2000 Professionnel [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows 2000 Server [applications de bureau uniquement] |
En-tête | wingdi.h |