|
Ultralight C API 1.4.0
|
A thread-safe container for pixel data.
#include <Ultralight/CAPI/CAPI_Bitmap.h>
The bitmap class is used to store pixel data in a variety of formats. It intelligently manages the lifetime of the pixel buffer and provides thread-safe access to the pixel data.
To access the pixel data, you must first lock the pixels using ulBitmapLockPixels(). This will return a pointer to the pixel buffer. An example follows:
Functions | |
| ULBitmap | ulCreateEmptyBitmap () |
| Create empty bitmap. | |
| ULBitmap | ulCreateBitmap (unsigned int width, unsigned int height, ULBitmapFormat format) |
| Create bitmap with certain dimensions and pixel format. | |
| ULBitmap | ulCreateBitmapFromPixels (unsigned int width, unsigned int height, ULBitmapFormat format, unsigned int row_bytes, const void *pixels, size_t size, bool should_copy) |
| Create bitmap from existing pixel buffer. | |
| ULBitmap | ulCreateBitmapFromCopy (ULBitmap existing_bitmap) |
| Create bitmap from copy. | |
| void | ulDestroyBitmap (ULBitmap bitmap) |
| Destroy a bitmap (you should only destroy Bitmaps you have explicitly created via one of the creation functions above. | |
| unsigned int | ulBitmapGetWidth (ULBitmap bitmap) |
| Get the width in pixels. | |
| unsigned int | ulBitmapGetHeight (ULBitmap bitmap) |
| Get the height in pixels. | |
| ULBitmapFormat | ulBitmapGetFormat (ULBitmap bitmap) |
| Get the pixel format. | |
| unsigned int | ulBitmapGetBpp (ULBitmap bitmap) |
| Get the bytes per pixel. | |
| unsigned int | ulBitmapGetRowBytes (ULBitmap bitmap) |
| Get the number of bytes per row. | |
| size_t | ulBitmapGetSize (ULBitmap bitmap) |
| Get the size in bytes of the underlying pixel buffer. | |
| bool | ulBitmapOwnsPixels (ULBitmap bitmap) |
| Whether or not this bitmap owns its own pixel buffer. | |
| void * | ulBitmapLockPixels (ULBitmap bitmap) |
| Lock pixels for reading/writing, returns pointer to pixel buffer. | |
| void | ulBitmapUnlockPixels (ULBitmap bitmap) |
| Unlock pixels after locking. | |
| void * | ulBitmapRawPixels (ULBitmap bitmap) |
| Get raw pixel buffer– you should only call this if Bitmap is already locked. | |
| bool | ulBitmapIsEmpty (ULBitmap bitmap) |
| Whether or not this bitmap is empty. | |
| void | ulBitmapErase (ULBitmap bitmap) |
| Reset bitmap pixels to 0. | |
| bool | ulBitmapWritePNG (ULBitmap bitmap, const char *path) |
| Write bitmap to a PNG on disk. | |
| void | ulBitmapSwapRedBlueChannels (ULBitmap bitmap) |
| This converts a BGRA bitmap to RGBA bitmap and vice-versa by swapping the red and blue channels. | |
| void ulBitmapErase | ( | ULBitmap | bitmap | ) |
Reset bitmap pixels to 0.
| unsigned int ulBitmapGetBpp | ( | ULBitmap | bitmap | ) |
Get the bytes per pixel.
| ULBitmapFormat ulBitmapGetFormat | ( | ULBitmap | bitmap | ) |
Get the pixel format.
| unsigned int ulBitmapGetHeight | ( | ULBitmap | bitmap | ) |
Get the height in pixels.
| unsigned int ulBitmapGetRowBytes | ( | ULBitmap | bitmap | ) |
Get the number of bytes per row.
| size_t ulBitmapGetSize | ( | ULBitmap | bitmap | ) |
Get the size in bytes of the underlying pixel buffer.
| unsigned int ulBitmapGetWidth | ( | ULBitmap | bitmap | ) |
Get the width in pixels.
| bool ulBitmapIsEmpty | ( | ULBitmap | bitmap | ) |
Whether or not this bitmap is empty.
| void * ulBitmapLockPixels | ( | ULBitmap | bitmap | ) |
Lock pixels for reading/writing, returns pointer to pixel buffer.
| bool ulBitmapOwnsPixels | ( | ULBitmap | bitmap | ) |
Whether or not this bitmap owns its own pixel buffer.
| void * ulBitmapRawPixels | ( | ULBitmap | bitmap | ) |
Get raw pixel buffer– you should only call this if Bitmap is already locked.
| void ulBitmapSwapRedBlueChannels | ( | ULBitmap | bitmap | ) |
This converts a BGRA bitmap to RGBA bitmap and vice-versa by swapping the red and blue channels.
| void ulBitmapUnlockPixels | ( | ULBitmap | bitmap | ) |
Unlock pixels after locking.
| bool ulBitmapWritePNG | ( | ULBitmap | bitmap, |
| const char * | path ) |
Write bitmap to a PNG on disk.
| ULBitmap ulCreateBitmap | ( | unsigned int | width, |
| unsigned int | height, | ||
| ULBitmapFormat | format ) |
Create bitmap with certain dimensions and pixel format.
| ULBitmap ulCreateBitmapFromPixels | ( | unsigned int | width, |
| unsigned int | height, | ||
| ULBitmapFormat | format, | ||
| unsigned int | row_bytes, | ||
| const void * | pixels, | ||
| size_t | size, | ||
| bool | should_copy ) |
Create bitmap from existing pixel buffer.
| ULBitmap ulCreateEmptyBitmap | ( | ) |
Create empty bitmap.
| void ulDestroyBitmap | ( | ULBitmap | bitmap | ) |
Destroy a bitmap (you should only destroy Bitmaps you have explicitly created via one of the creation functions above.