Image surface using RAM as backing store. More...

#include <ImageSurface.h>

Inheritance diagram for Graphics::MemoryImageSurface:
Collaboration diagram for Graphics::MemoryImageSurface:

Public Member Functions

 MemoryImageSurface (MemoryImageObject &image, PixelFormat format, const Blend *blend, size_t bufferSize, uint8_t *imageData)
 
Type getType () const override
 
- Public Member Functions inherited from Graphics::ImageSurface
 ImageSurface (ImageObject &image, PixelFormat format, size_t bufferSize)
 
Stat stat () const override
 
Size getSize () const override
 
PixelFormat getPixelFormat () const override
 
bool setAddrWindow (const Rect &rect) override
 
uint8_tgetBuffer (uint16_t minBytes, uint16_t &available) override
 
void commit (uint16_t length) override
 
bool blockFill (const void *data, uint16_t length, uint32_t repeat) override
 
bool writeDataBuffer (SharedBuffer &data, size_t offset, uint16_t length) override
 
bool setPixel (PackedColor color, Point pt) override
 
bool writePixels (const void *data, uint16_t length) override
 
int readDataBuffer (ReadBuffer &buffer, ReadStatus *status, ReadCallback callback, void *param) override
 Read some pixels. More...
 
void reset () override
 Reset surface ready for more commands. More...
 
bool present (PresentCallback callback, void *param) override
 Present surface to display device. More...
 
bool fillRect (PackedColor color, const Rect &rect) override
 
void write (MetaWriter &meta) const override
 
- Public Member Functions inherited from Graphics::Surface
void write (MetaWriter &meta) const override
 
bool writePixel (PackedColor color)
 
bool writePixel (Color color)
 
virtual int readDataBuffer (ReadStatusBuffer &buffer, ReadCallback callback=nullptr, void *param=nullptr)
 
virtual bool render (const Object &object, const Rect &location, std::unique_ptr< Renderer > &renderer)
 Start rendering an object. More...
 
bool render (const Object &object, const Rect &location)
 Render an object in one cycle. More...
 
bool execute (std::unique_ptr< Renderer > &renderer)
 Execute a renderer. More...
 
uint16_t width () const
 
uint16_t height () const
 
bool blockFill (PackedColor color, uint32_t repeat)
 
bool clear ()
 
bool fillSmallRect (const Brush &brush, const Rect &location, const Rect &rect)
 Fill a small rectangle using a non-transparent brush. More...
 
bool drawHLine (PackedColor color, uint16_t x0, uint16_t x1, uint16_t y, uint16_t w)
 Draw a simple horizontal line using a filled rectangle. More...
 
bool drawVLine (PackedColor color, uint16_t x, uint16_t y0, uint16_t y1, uint16_t w)
 Draw a simple vertical line using a filled rectangle. More...
 
- Public Member Functions inherited from Graphics::AssetTemplate< AssetType::Surface >
virtual Type type () const override
 
 Asset ()
 
 Asset (ID id)
 
- Public Member Functions inherited from Graphics::Asset
 Asset ()
 
 Asset (ID id)
 
bool operator== (ID id) const
 
ID id () const
 
virtual Type type () const =0
 
virtual String getTypeStr () const
 
- Public Member Functions inherited from LinkedObjectTemplate< Asset >
Asset * getNext () const
 
bool insertAfter (Asset *object)
 
Iterator begin () const
 
Iterator end () const
 
Iterator cbegin () const
 
Iterator cend () const
 
- Public Member Functions inherited from LinkedObject
virtual ~LinkedObject ()
 
virtual LinkedObjectnext () const
 
bool insertAfter (LinkedObject *object)
 
bool operator== (const LinkedObject &other) const
 
bool operator!= (const LinkedObject &other) const
 

Protected Member Functions

void read (uint32_t offset, void *buffer, size_t length) override
 
void write (uint32_t offset, const void *data, size_t length) override
 

Protected Attributes

uint8_timageData
 
const Blendblend
 
- Protected Attributes inherited from Graphics::ImageSurface
ImageObjectimage
 
AddressWindow addressWindow {}
 
Size imageSize
 
size_t imageBytes
 
SharedBuffer buffer
 
PixelFormat pixelFormat
 
uint8_t bytesPerPixel
 

Additional Inherited Members

- Public Types inherited from Graphics::Surface
enum  Type {
  Type::Memory, Type::File, Type::Device, Type::Drawing,
  Type::Blend
}
 
using List = LinkedObjectListTemplate< Surface >
 
using OwnedList = OwnedLinkedObjectListTemplate< Surface >
 
using PresentCallback = void(*)(void *param)
 
using ReadCallback = void(*)(ReadBuffer &data, size_t length, void *param)
 Callback for readPixel() operations. More...
 
- Public Types inherited from Graphics::Asset
enum  Type { Type::XX }
 
using List = LinkedObjectListTemplate< Asset >
 
using OwnedList = OwnedLinkedObjectListTemplate< Asset >
 
using ID = AssetID
 
- Public Types inherited from LinkedObjectTemplate< Asset >
using Iterator = IteratorTemplate< Asset, Asset *, Asset & >
 
using ConstIterator = IteratorTemplate< const Asset, const Asset *, const Asset & >
 
- Static Public Attributes inherited from Graphics::Surface
static constexpr size_t READ_PIXEL_SIZE {3}
 
- Static Public Attributes inherited from Graphics::AssetTemplate< AssetType::Surface >
static constexpr Asset::Type assetType
 

Detailed Description

Image surface using RAM as backing store.

Useful for sprites, etc.

Constructor & Destructor Documentation

◆ MemoryImageSurface()

Graphics::MemoryImageSurface::MemoryImageSurface ( MemoryImageObject image,
PixelFormat  format,
const Blend blend,
size_t  bufferSize,
uint8_t imageData 
)
inline

Member Function Documentation

◆ getType()

Type Graphics::MemoryImageSurface::getType ( ) const
inlineoverridevirtual

Implements Graphics::Surface.

◆ read()

void Graphics::MemoryImageSurface::read ( uint32_t  offset,
void *  buffer,
size_t  length 
)
overrideprotectedvirtual

◆ write()

void Graphics::MemoryImageSurface::write ( uint32_t  offset,
const void *  data,
size_t  length 
)
overrideprotectedvirtual

Member Data Documentation

◆ blend

const Blend* Graphics::MemoryImageSurface::blend
protected

◆ imageData

uint8_t* Graphics::MemoryImageSurface::imageData
protected

The documentation for this class was generated from the following file: