class Core::BitmapPrimitives16

Overview

Functions for 16 bit bitmaps (RGB 565). More…

#include <corebitmapprimitives.h>

class BitmapPrimitives16: public Core::BitmapPrimitives
{
public:
    // fields

    static const uint16 kRedMask = 0xF800;
    static const uint16 kGreenMask = 0x7E0;
    static const uint16 kBlueMask = 0x1F;

    // methods

    static INLINE void fromRGB565(uint8 rgb[3], uint16 pixel);
    static INLINE void fromRGB565(RGBA& dst, uint16 pixel);
    static INLINE uint16 toRGB565(const uint8 rgb[3]);
    static INLINE uint16 toRGB565(ColorRef color);
    static INLINE uint16 toRGB565(RGBA p);
    static INLINE uint16 alphaBlend(uint16 fg, uint16 bg, uint8 alpha);

    static void copyPart(
        BitmapData& dstData,
        int dstX,
        int dstY,
        const BitmapData& srcData,
        int srcX,
        int srcY,
        int width,
        int height
    );

    static void convertToRGBA(BitmapData& dstData, const BitmapData& srcData);
    static void fillRect(BitmapData& data, RectRef r, ColorRef color);
};

Inherited Members

public:
    // methods

    static void clear(BitmapData& dstData);

Detailed Documentation

Functions for 16 bit bitmaps (RGB 565).

Methods

static INLINE void fromRGB565(uint8 rgb[3], uint16 pixel)

Expand RGB 565 to RGB 888.

static INLINE uint16 toRGB565(const uint8 rgb[3])

Convert RGB 888 to RGB 565 - lossy, of course!

static INLINE uint16 alphaBlend(uint16 fg, uint16 bg, uint8 alpha)

Alpha-blending, found at http://stackoverflow.com/questions/18937701/combining-two-16-bits-rgb-colors-with-alpha-blending.