dwww Home | Manual pages | Find package

SDL_SetAlpha(3)                SDL API Reference               SDL_SetAlpha(3)

NAME
       SDL_SetAlpha - Adjust the alpha properties of a surface

SYNOPSIS
       #include "SDL.h"

       int SDL_SetAlpha(SDL_Surface *surface, Uint32 flag, Uint8 alpha);

DESCRIPTION
              Note:

              This  function  and  the  semantics  of  SDL alpha blending have
              changed since version 1.1.4. Up until version  1.1.5,  an  alpha
              value  of 0 was considered opaque and a value of 255 was consid-
              ered  transparent.  This  has  now  been  inverted:  0  (SDL_AL-
              PHA_TRANSPARENT)  is now considered transparent and 255 (SDL_AL-
              PHA_OPAQUE) is now considered opaque.

       SDL_SetAlpha is used for setting the per-surface alpha value and/or en-
       abling and disabling alpha blending.

       Thesurface parameter specifies which surface whose alpha attributes you
       wish to adjust. flags is used to specify whether alpha blending  should
       be used (SDL_SRCALPHA) and whether the surface should use RLE accelera-
       tion for blitting (SDL_RLEACCEL). flags can be an OR'd  combination  of
       these  two  options,  one of these options or 0. If SDL_SRCALPHA is not
       passed as a flag then all alpha information is  ignored  when  blitting
       the surface. The alpha parameter is the per-surface alpha value; a sur-
       face need not have an alpha channel to use per-surface alpha and  blit-
       ting can still be accelerated with SDL_RLEACCEL.

              Note:

              The  per-surface alpha value of 128 is considered a special case
              and is optimised, so it's much  faster  than  other  per-surface
              values.

       Alpha effects surface blitting in the following ways:

       RGBA->RGB with SDL_SRCALPHA
                           The  source  is alpha-blended with the destination,
                           using the alpha channel.  SDL_SRCCOLORKEY  and  the
                           per-surface alpha are ignored.

       RGBA->RGB without SDL_SRCALPHA
                           The  RGB data is copied from the source. The source
                           alpha channel and the per-surface alpha  value  are
                           ignored.

       RGB->RGBA with SDL_SRCALPHA
                           The  source  is  alpha-blended with the destination
                           using the per-surface alpha value.  If  SDL_SRCCOL-
                           ORKEY is set, only the pixels not matching the col-
                           orkey value are copied. The alpha  channel  of  the
                           copied pixels is set to opaque.

       RGB->RGBA without SDL_SRCALPHA
                           The  RGB data is copied from the source and the al-
                           pha value of the copied pixels is set to opaque. If
                           SDL_SRCCOLORKEY  is set, only the pixels not match-
                           ing the colorkey value are copied.

       RGBA->RGBA with SDL_SRCALPHA
                           The source is alpha-blended  with  the  destination
                           using  the  source alpha channel. The alpha channel
                           in  the  destination  surface  is  left  untouched.
                           SDL_SRCCOLORKEY is ignored.

       RGBA->RGBA without SDL_SRCALPHA
                           The RGBA data is copied to the destination surface.
                           If SDL_SRCCOLORKEY is  set,  only  the  pixels  not
                           matching the colorkey value are copied.

       RGB->RGB with SDL_SRCALPHA
                           The  source  is  alpha-blended with the destination
                           using the per-surface alpha value.  If  SDL_SRCCOL-
                           ORKEY is set, only the pixels not matching the col-
                           orkey value are copied.

       RGB->RGB without SDL_SRCALPHA
                           The RGB data is copied from the source. If SDL_SRC-
                           COLORKEY  is  set, only the pixels not matching the
                           colorkey value are copied.

              Note:

               Note that RGBA->RGBA blits (with SDL_SRCALPHA set) keep the al-
              pha  of the destination surface. This means that you cannot com-
              pose two arbitrary RGBA surfaces this way and get the result you
              would  expect from "overlaying" them; the destination alpha will
              work as a mask.

              Also note that per-pixel and per-surface alpha  cannot  be  com-
              bined; the per-pixel alpha is always used if available

RETURN VALUE
       This function returns 0, or -1 if there was an error.

SEE ALSO
       SDL_MapRGBA, SDL_GetRGBA, SDL_DisplayFormatAlpha, SDL_BlitSurface

SDL                         Tue 11 Sep 2001, 23:01             SDL_SetAlpha(3)

Generated by dwww version 1.15 on Sun Jun 23 05:21:32 CEST 2024.