|
Zen API
|
Represents a 2D collection of pixels.
The kImage class is similar to the kArray2 class, with some important differences:
In particular, the row-alignment behaviour means that image memory should typically be accessed by getting a pointer to the beginning of a row, and then iterating over pixels. E.g.
kImage supports the kObject_Clone and kObject_Size methods.
kImage supports the kdat5 and kdat6 serialization protocols.

Public Member Functions | |
| kStatus | kImage_Allocate (kImage image, kType pixelType, kSize width, kSize height) |
| Reallocates the internal pixel buffer. More... | |
| kSize | kImage_Area (kImage image) |
| Returns the area of the image, in pixels. More... | |
| kStatus | kImage_Assign (kImage image, kImage source) |
| Copies a given source image into this image. More... | |
| kStatus | kImage_Assign (kImage image, kImage source, kObject context) |
| Copies a given source image into this image. More... | |
| void * | kImage_At (kImage image, kSize x, kSize y) |
| Returns a pointer to the specified pixel in the pixel buffer. More... | |
| kStatus | kImage_Attach (kImage image, void *pixels, kType pixelType, kSize width, kSize height, kSize stride) |
| Attaches the image to an external pixel buffer. More... | |
| kCfa | kImage_Cfa (kImage image) |
| Gets the color filter array type associated with this image. More... | |
| kStatus | kImage_Construct (kImage *image, kType pixelType, kSize width, kSize height, kAlloc allocator) |
| Constructs a kImage object. More... | |
| kStatus | kImage_ConstructEx (kImage *image, kType pixelType, kSize width, kSize height, kAlloc allocator, kAlloc valueAllocator, kMemoryAlignment valueAlignment=kALIGN_ANY) |
| Constructs a kImage object using a separate allocator for image array memory. More... | |
| void * | kImage_Data (kImage image) |
| Returns a pointer to the first row in the pixel buffer. More... | |
| void * | kImage_DataAt (kImage image, kSSize x, kSSize y) |
| Calculates an address relative to the start of the pixel buffer. More... | |
| kSize | kImage_DataSize (kImage image) |
| Reports the size, in bytes, of the pixel buffer. More... | |
| kStatus | kImage_Export (kImage image, const kChar *fileName) |
| Saves an image to file. More... | |
| kSize | kImage_Height (kImage image) |
| Returns the height of the image, in pixels. More... | |
| kStatus | kImage_Import (kImage *image, const kChar *fileName, kAlloc allocator) |
| Loads an image from file. More... | |
| kStatus | kImage_Pixel (kImage image, kSize x, kSize y, void *pixel) |
| Gets the value of a pixel. More... | |
| kPixelFormat | kImage_PixelFormat (kImage image) |
| Gets the optional pixel format descriptor associated with this image. More... | |
| kSize | kImage_PixelSize (kImage image) |
| Returns the pixel size. More... | |
| kType | kImage_PixelType (kImage image) |
| Returns the pixel type. More... | |
| void * | kImage_RowAt (kImage image, kSize y) |
| Returns a pointer to the specified row in the pixel buffer. More... | |
| kStatus | kImage_SetCfa (kImage image, kCfa cfa) |
| Sets the color filter array type associated with this image. More... | |
| kStatus | kImage_SetPixel (kImage image, kSize x, kSize y, const void *pixel) |
| Sets the value of a pixel. More... | |
| kStatus | kImage_SetPixelFormat (kImage image, kPixelFormat format) |
| Sets the optional pixel format descriptor associated with this image. More... | |
| kSize | kImage_Stride (kImage image) |
| Returns the size of an image row, including alignment padding bytes, in bytes. More... | |
| kSize | kImage_Width (kImage image) |
| Returns the width of the image, in pixels. More... | |
| kStatus | kImage_Zero (kImage image) |
| Sets all pixel bits to zero. More... | |
Public Member Functions inherited from kObject | |
| kAlloc | kObject_Alloc (kObject object) |
| Gets the memory allocator associated with this object. More... | |
| kAllocTrait | kObject_AllocTraits (kObject object) |
| Gets the bitset of allocator traits for any allocators used within this object, including aggregated child elements. More... | |
| kStatus | kObject_Clone (kObject *object, kObject source, kAlloc objectAllocator) |
| Constructs a new object by copying an existing object, including any aggregated child elements. More... | |
| kStatus | kObject_Clone (kObject *object, kObject source, kAlloc objectAllocator, kAlloc valueAllocator, kObject context=kNULL) |
| Constructs a new object by copying an existing object, including any aggregated child elements. More... | |
| kStatus | kObject_Destroy (kObject object) |
| Destroys the object. More... | |
| kStatus | kObject_Dispose (kObject object) |
| Destroys the object and any aggregated child elements. More... | |
| kBool | kObject_Equals (kObject object, kObject other) |
| Determines whether the object is equal to another object. More... | |
| kBool | kObject_HasForeignData (kObject object) |
| Reports whether the object, including aggregated child elements, contains any foreign memory references. More... | |
| kSize | kObject_HashCode (kObject object) |
| Gets a hash code representing the state of this object. More... | |
| kBool | kObject_HasShared (kObject object) |
| Reports whether an object or any of its aggregated child elements has a reference count greater than one. More... | |
| kBool | kObject_Is (kObject object, kType type) |
| Determines whether this object is an instance of the specified type. More... | |
| kBool | kObject_IsShared (kObject object) |
| Reports whether the object is currently shared (reference count greater than one). More... | |
| kStatus | kObject_SetPool (kObject object, kObjectPool pool) |
| Sets the object pool associated with this object. More... | |
| kStatus | kObject_Share (kObject object) |
| Increments the reference count associated with this object. More... | |
| kSize | kObject_Size (kObject object) |
| Estimates the memory consumed by this object, including any aggregated child elements. More... | |
| kType | kObject_Type (kObject object) |
| Returns the type of the object. More... | |
Public Member Functions inherited from kCollection | |
| kSize | kCollection_Count (kCollection collection) |
| Gets the collection element count. More... | |
| kIterator | kCollection_GetIterator (kCollection collection) |
| Returns an iterator to the first element in the collection. More... | |
| kBool | kCollection_HasNext (kCollection collection, kIterator iterator) |
| Determines whether a collection has another item. More... | |
| kType | kCollection_ItemType (kCollection collection) |
| Gets the collection element type. More... | |
| void * | kCollection_Next (kCollection collection, kIterator *iterator) |
| Gets a pointer to the next collection element and then advances the iterator. More... | |
Public Member Functions inherited from kArrayProvider | |
| kStatus | kArrayProvider_Assign (kArrayProvider provider, kArrayProvider source, kObject context=kNULL) |
| Performs a shallow copy of the source array. More... | |
| kStatus | kArrayProvider_Construct (kArrayProvider *provider, kType type, kAlloc objectAllocator, kAlloc valueAllocator) |
| Constructs a default instance of the specified array provided type. More... | |
| kSize | kArrayProvider_Count (kArrayProvider provider) |
| Gets the array element count. More... | |
| kPointer | kArrayProvider_Data (kArrayProvider provider) |
| Gets a pointer to the array element data. More... | |
| kSize | kArrayProvider_DataSize (kArrayProvider provider) |
| Reports the size, in bytes, of the array item buffer. More... | |
| kStatus | kArrayProvider_Imitate (kArrayProvider provider, kArrayProvider source) |
| Copies the properties of a source array, such as its dimensions, without copying its data. More... | |
| kSize | kArrayProvider_ItemSize (kArrayProvider provider) |
| Returns the array item size. More... | |
| kType | kArrayProvider_ItemType (kArrayProvider provider) |
| Returns the array item type. More... | |
| kAlloc | kArrayProvider_ValueAlloc (kArrayProvider provider) |
| Reports the value allocator that was optionally provided at construction time. More... | |
Related | |
| #define | kImage_AsT(kImage_image, kSize_x, kSize_y, T) |
| Gets the value of a pixel. More... | |
| #define | kImage_AtT(kImage_image, kSize_x, kSize_y, T) |
| Returns a strongly-typed pointer to the specified pixel in the pixel buffer. More... | |
| #define | kImage_AttachT(kImage_image, TPtr_pixels, kType_pixelType, kSize_width, kSize_height, kSize_stride) |
| Attaches the image to an external pixel buffer. More... | |
| #define | kImage_DataAtT(kImage_image, kSSize_x, kSSize_y, T) |
| Calculates an address relative to the start of the pixel buffer. More... | |
| #define | kImage_DataT(kImage_image, T) |
| Returns a strongly-typed pointer to the first row in the pixel buffer. More... | |
| #define | kImage_PixelT(kImage_image, kSize_x, kSize_y, TPtr_pixel) |
| Gets the value of a pixel. More... | |
| #define | kImage_RowAtT(kImage_image, kSize_y, T) |
| Returns a strongly-typed pointer to the specified row in the pixel buffer. More... | |
| #define | kImage_SetAsT(kImage_image, kSize_x, kSize_y, T_value, T) |
| Sets the value of a pixel. More... | |
| #define | kImage_SetPixelT(kImage_image, kSize_x, kSize_y, TPtr_pixel) |
| Sets the value of a pixel. More... | |
Related inherited from kCollection | |
| #define | kCollection_NextT(kCollection_collection, kIteratorPtr_iterator, T) |
| Gets a strongly-typd pointer to next collection element and then advances the iterator. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from kObject | |
| kStatus | kObject_FreeMem (kObject object, void *mem) |
| Protected method called by derived classes to free memory using the object's allocator. More... | |
| kStatus | kObject_FreeMemRef (kObject object, void *mem) |
| Protected method called by derived classes to free memory (and reset the provided memory pointer to kNULL) using the object's allocator. More... | |
| kStatus | kObject_GetMem (kObject object, kSize size, void *mem) |
| Protected method called by derived classes to allocate memory using the object's allocator. More... | |
| kStatus | kObject_GetMemZero (kObject object, kSize size, void *mem) |
| Protected method called by derived classes to allocate and zero memory using the object's allocator. More... | |
| kStatus | kObject_Init (kObject object, kType type, kAlloc alloc) |
| Protected method called by derived classes to initialize the kObject base class. More... | |
| kAllocTrait | kObject_VAllocTraits (kObject object) |
| Protected virtual method that gets the bitset of allocator traits for any allocators used within this object, including aggregated child elements. More... | |
| kStatus | kObject_VClone (kObject object, kObject source, kAlloc valueAllocator, kObject context) |
| Protected virtual method that clones (makes a deep copy of) the specified source object. More... | |
| kStatus | kObject_VDisposeItems (kObject object) |
| Protected virtual method that destroys any aggregated child objects associated with a collection. More... | |
| kBool | kObject_VEquals (kObject object, kObject other) |
| Protected virtual method that compares two objects for equality. More... | |
| kSize | kObject_VHashCode (kObject object) |
| Protected virtual method that calculates a hash code representing the object instance. More... | |
| kBool | kObject_VHasShared (kObject object) |
| Protected virtual method that reports whether an object or any of its aggregated child elements has a reference count greater than one. More... | |
| kStatus | kObject_VRelease (kObject object) |
| Protected virtual method that deallocates any resources owned by the object. More... | |
| kSize | kObject_VSize (kObject object) |
| Protected virtual method that calculates the total size (in bytes) of the object instance. More... | |