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:
BitmapPixelFormat
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.