Represents a 32-bit INTERNAL pixel with premultiplied alpha, and can perform compositing operations with it.
More...
|
| | PixelARGB () noexcept=default |
| | Creates a pixel without defining its colour.
|
| |
| forcedinline constexpr | PixelARGB (uint8 a, uint8 r, uint8 g, uint8 b) noexcept |
| | Creates a pixel.
|
| |
| forcedinline constexpr uint32 | getNativeARGB () const noexcept |
| | Returns a uint32 which represents the pixel in a platform dependent format.
|
| |
| forcedinline constexpr uint32 | getInARGBMaskOrder () const noexcept |
| | Returns a uint32 which will be in argb order as if constructed with the following mask operation ((alpha << 24) | (red << 16) | (green << 8) | blue).
|
| |
| forcedinline constexpr uint32 | getInARGBMemoryOrder () const noexcept |
| | Returns a uint32 which when written to memory, will be in the order a, r, g, b.
|
| |
| forcedinline constexpr uint32 | getEvenBytes () const noexcept |
| | Return channels with an even index and insert zero bytes between them.
|
| |
| forcedinline constexpr uint32 | getOddBytes () const noexcept |
| | Return channels with an odd index and insert zero bytes between them.
|
| |
| forcedinline constexpr uint8 | getAlpha () const noexcept |
| |
| forcedinline constexpr uint8 | getRed () const noexcept |
| |
| forcedinline constexpr uint8 | getGreen () const noexcept |
| |
| forcedinline constexpr uint8 | getBlue () const noexcept |
| |
| template<class Pixel > |
| forcedinline constexpr void | set (Pixel src) noexcept |
| | Copies another pixel colour over this one.
|
| |
| forcedinline constexpr void | setARGB (uint8 a, uint8 r, uint8 g, uint8 b) noexcept |
| | Sets the pixel's colour from individual components.
|
| |
| template<class Pixel > |
| forcedinline constexpr void | blend (Pixel src, BlendMode mode) noexcept |
| | Blends another pixel onto this one using the specified blend mode.
|
| |
| template<class Pixel > |
| forcedinline constexpr void | blend (Pixel src) noexcept |
| | Blends another pixel onto this one.
|
| |
| forcedinline constexpr void | blend (PixelRGB src) noexcept |
| | Blends another pixel onto this one.
|
| |
| template<class Pixel > |
| forcedinline constexpr void | blend (Pixel src, BlendMode mode, uint32 extraAlpha) noexcept |
| | Blends another pixel onto this one, applying an extra multiplier to its opacity.
|
| |
| template<class Pixel > |
| forcedinline constexpr void | blend (Pixel src, uint32 extraAlpha) noexcept |
| |
| template<class Pixel > |
| forcedinline constexpr void | tween (Pixel src, uint32 amount) noexcept |
| | Blends another pixel with this one, creating a colour that is somewhere between the two, as specified by the amount.
|
| |
| forcedinline constexpr void | setAlpha (uint8 newAlpha) noexcept |
| | Replaces the colour's alpha value with another one.
|
| |
| forcedinline constexpr void | multiplyAlpha (int multiplier) noexcept |
| | Multiplies the colour's alpha value with another one.
|
| |
| forcedinline constexpr void | multiplyAlpha (float multiplier) noexcept |
| |
| forcedinline constexpr PixelARGB | getUnpremultiplied () const noexcept |
| |
| forcedinline constexpr void | premultiply () noexcept |
| | Premultiplies the pixel's RGB values by its alpha.
|
| |
| forcedinline constexpr void | unpremultiply () noexcept |
| | Unpremultiplies the pixel's RGB values.
|
| |
| forcedinline constexpr void | desaturate () noexcept |
| |
Represents a 32-bit INTERNAL pixel with premultiplied alpha, and can perform compositing operations with it.
This is used internally by the imaging classes.
- See also
- PixelRGB
Returns a uint32 which when written to memory, will be in the order a, r, g, b.
In other words, if the return-value is read as a uint8 array then the elements will be in the order of a, r, g, b
Referenced by juce::PixelRGB::getInARGBMemoryOrder().
Blends another pixel onto this one, applying an extra multiplier to its opacity.
The opacity of the pixel being overlaid is scaled by the extraAlpha factor before being used, so this can blend semi-transparently from a PixelRGB argument.
Scaling with extraAlpha is done using lossy, fixed-point arithmetic, where full opacity is represented by 256.
References juce::maskPixelComponents().