roo_display
API Documentation for roo_display
Loading...
Searching...
No Matches
roo_display::SimpleRasterizable< Getter > Class Template Reference

Wrap a function object into a Rasterizable. More...

#include <rasterizable.h>

Inheritance diagram for roo_display::SimpleRasterizable< Getter >:
[legend]
Collaboration diagram for roo_display::SimpleRasterizable< Getter >:
[legend]

Public Member Functions

 SimpleRasterizable (Box extents, Getter getter, TransparencyMode transparency)
 
Box extents () const override
 Return the bounding box encompassing all pixels that need to be drawn.
 
void readColors (const int16_t *x, const int16_t *y, uint32_t count, Color *result) const override
 Read colors for the given points.
 
TransparencyMode getTransparencyMode () const override
 Return the transparency mode for pixels in this stream.
 
- Public Member Functions inherited from roo_display::Rasterizable
void readColorsMaybeOutOfBounds (const int16_t *x, const int16_t *y, uint32_t count, Color *result, Color out_of_bounds_color=color::Transparent) const
 Read colors for points that may be out of bounds.
 
virtual bool readColorRect (int16_t xMin, int16_t yMin, int16_t xMax, int16_t yMax, Color *result) const
 Read colors for a rectangle.
 
std::unique_ptr< PixelStreamcreateStream () const override
 Default createStream() using readColors().
 
std::unique_ptr< PixelStreamcreateStream (const Box &bounds) const override
 Default createStream() for a clipped box using readColors().
 
- Public Member Functions inherited from roo_display::Drawable
virtual ~Drawable ()
 
virtual Box anchorExtents () const
 Return the bounds used for alignment.
 

Additional Inherited Members

- Static Public Member Functions inherited from roo_display::Drawable
static const DrawableEmpty ()
 A singleton representing a no-op drawable with no bounding box.
 
- Protected Member Functions inherited from roo_display::Rasterizable
void drawTo (const Surface &s) const override
 Default drawTo() using readColors().
 

Detailed Description

template<typename Getter>
class roo_display::SimpleRasterizable< Getter >

Wrap a function object into a Rasterizable.

The getter must implement:

Color operator()(int16_t x, int16_t y)

Definition at line 58 of file rasterizable.h.

Constructor & Destructor Documentation

◆ SimpleRasterizable()

template<typename Getter >
roo_display::SimpleRasterizable< Getter >::SimpleRasterizable ( Box  extents,
Getter  getter,
TransparencyMode  transparency 
)
inline

Definition at line 60 of file rasterizable.h.

Member Function Documentation

◆ extents()

template<typename Getter >
Box roo_display::SimpleRasterizable< Getter >::extents ( ) const
inlineoverridevirtual

Return the bounding box encompassing all pixels that need to be drawn.

This method is called during a transaction and must not block or perform I/O.

Implements roo_display::Drawable.

Definition at line 63 of file rasterizable.h.

◆ getTransparencyMode()

template<typename Getter >
TransparencyMode roo_display::SimpleRasterizable< Getter >::getTransparencyMode ( ) const
inlineoverridevirtual

Return the transparency mode for pixels in this stream.

This is an optimization hint. The default is TransparencyMode::kFull, which is always safe. If pixels are guaranteed fully opaque or 1-bit alpha, return TransparencyMode::kNone or TransparencyMode::kCrude to enable faster blending paths.

Reimplemented from roo_display::Streamable.

Definition at line 72 of file rasterizable.h.

◆ readColors()

template<typename Getter >
void roo_display::SimpleRasterizable< Getter >::readColors ( const int16_t x,
const int16_t y,
uint32_t  count,
Color result 
) const
inlineoverridevirtual

Read colors for the given points.

The caller must ensure all points are within bounds.

Implements roo_display::Rasterizable.

Definition at line 65 of file rasterizable.h.


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