AUI Framework  develop
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
AImage Class Reference

Owning image representation.

#include <AUI/Image/AImage.h>

Public Member Functions#

 AImage (AImageView imageView)
 
 AImage (AByteBuffer buffer, glm::uvec2 size, APixelFormat format)
 
 AImage (glm::uvec2 size, APixelFormat format)
 
AByteBuffermodifiableBuffer () noexcept
 
template<AImageVisitor Visitor>
auto visit (Visitor &&visitor)
 
void set (glm::uvec2 position, Color c) noexcept
 
void insert (glm::uvec2 position, AImageView image)
 
void fill (Color color)
 
void mirrorVertically ()
 
- Public Member Functions inherited from AImageView
 AImageView (AByteBufferView data, glm::uvec2 size, APixelFormat format)
 
 AImageView (const AImage &v)
 
AByteBufferView buffer () const noexcept
 
glm::uvec2 size () const noexcept
 
unsigned width () const noexcept
 
unsigned height () const noexcept
 
APixelFormat format () const noexcept
 
std::uint8_t bytesPerPixel () const noexcept
 
Color get (glm::uvec2 position) const noexcept
 Retrieves pixel color data.
 
template<AImageViewVisitor Visitor>
auto visit (Visitor &&visitor) const
 
AImage cropped (glm::uvec2 position, glm::uvec2 size) const
 Crops the image, creating new image with the same format.
 
Color averageColor () const noexcept
 
const char & rawDataAt (glm::uvec2 position) const noexcept
 Retrieves reference to raw data at specified position.
 
AImage mirroredVertically () const
 
AImage resizedLinearDownscale (glm::uvec2 newSize) const
 
AImage convert (APixelFormat format) const
 
const char * data () const noexcept
 Shortcut to buffer().data().
 

Static Public Member Functions#

static _< AImagefromUrl (const AUrl &url)
 
static _< AImagefromFile (const APath &path)
 
static _< AImagefromBuffer (AByteBufferView buffer)
 

Additional Inherited Members#

- Public Types inherited from AImageView
using Color = AColor
 
- Protected Attributes inherited from AImageView
AByteBufferView mData
 
glm::uvec2 mSize
 
APixelFormat mFormat = APixelFormat::UNKNOWN