struct Core::BitmapData
Overview
Struct for bitmap data mapped into main memory. More…
#include <corebitmapdata.h> struct BitmapData { // fields int width; int height; int format; void* scan0; int rowBytes; int bitsPerPixel; // methods INLINE void init ( int width, int height, BitmapPixelFormat format, bool doubleWordAligned ); INLINE void initScan0 (void* bufferStart, bool topDown); INLINE void* getScanline (int y); INLINE const void* getScanline (int y) const; INLINE int getBytesPerPixel () const; INLINE RGBA& rgbaAt (int x, int y); INLINE const RGBA& rgbaAt (int x, int y) const; INLINE Pixel* getPixel (int x, int y); INLINE const Pixel* getPixel (int x, int y) const; INLINE uint16& rgb16At (int x, int y); INLINE const uint16& rgb16At (int x, int y) const; INLINE bool getBit (int x, int y) const; INLINE void setBit (int x, int y, bool state); static INLINE int getRowBytes ( int width, int bitsPerPixel, bool doubleWordAligned ); static INLINE void setRgb (Pixel* p, Pixel r, Pixel g, Pixel b); static INLINE void getRgb (Pixel& r, Pixel& g, Pixel& b, const Pixel* p); };
Detailed Documentation
Struct for bitmap data mapped into main memory.
Fields
int width
bitmap width
int height
bitmap height
int format
See also:
void* scan0
address of first scanline
int rowBytes
offset between scanlines in bytes (can be negative if image is bottom-up!)
int bitsPerPixel
number of bits per pixel
Methods
INLINE void init ( int width, int height, BitmapPixelFormat format, bool doubleWordAligned )
Initialize bitmap data structure.
INLINE void initScan0 (void* bufferStart, bool topDown)
Initialize pointer to first scanline.
INLINE void* getScanline (int y)
Get scanline address (writable).
INLINE const void* getScanline (int y) const
Get scanline address (read-only).
INLINE int getBytesPerPixel () const
Get number of bytes used to store a pixel.
INLINE RGBA& rgbaAt (int x, int y)
Get RGBA pixel (writable).
INLINE const RGBA& rgbaAt (int x, int y) const
Get RGBA pixel (read-only).
INLINE Pixel* getPixel (int x, int y)
Get RGB pixel address (writable).
INLINE const Pixel* getPixel (int x, int y) const
Get RGB pixel address (read-only).
INLINE uint16& rgb16At (int x, int y)
Get 16 Bit (RGB 565) pixel (writable).
INLINE const uint16& rgb16At (int x, int y) const
Get 16 Bit (RGB 565) pixel (read-only).
INLINE bool getBit (int x, int y) const
Get monochrome pixel value.
INLINE void setBit (int x, int y, bool state)
Set monochrome pixel value.
static INLINE int getRowBytes ( int width, int bitsPerPixel, bool doubleWordAligned )
Calculate bytes per row based on given bitmap specification.
static INLINE void setRgb (Pixel* p, Pixel r, Pixel g, Pixel b)
Set RGB values at pixel address.
static INLINE void getRgb (Pixel& r, Pixel& g, Pixel& b, const Pixel* p)
Set RGB values at pixel address.