|
roo_display
API Documentation for roo_display
|
Drawable that can provide a sequential pixel stream. More...
#include <streamable.h>
Public Member Functions | |
| virtual std::unique_ptr< PixelStream > | createStream () const =0 |
Create a stream covering the full extents(). | |
| virtual std::unique_ptr< PixelStream > | createStream (const Box &clip_box) const =0 |
| Create a stream for the given clipped bounds. | |
| virtual TransparencyMode | getTransparencyMode () const |
| Return the transparency mode for pixels in this stream. | |
Public Member Functions inherited from roo_display::Drawable | |
| virtual | ~Drawable () |
| virtual Box | extents () const =0 |
| Return the bounding box encompassing all pixels that need to be drawn. | |
| virtual Box | anchorExtents () const |
| Return the bounds used for alignment. | |
Additional Inherited Members | |
Static Public Member Functions inherited from roo_display::Drawable | |
| static const Drawable * | Empty () |
| A singleton representing a no-op drawable with no bounding box. | |
Drawable that can provide a sequential pixel stream.
Streamables allow the renderer to efficiently draw clipped rectangles and blend pixel data without per-pixel virtual calls. This is commonly used by images and offscreen buffers, and it is also the base for Rasterizable.
Definition at line 426 of file streamable.h.
|
pure virtual |
Create a stream covering the full extents().
Implemented in roo_display::StreamableStack, roo_display::Raster< PtrTypeT, ColorModeT, pixel_order, byte_order >, roo_display::Raster< const roo::byte *, ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::Raster< const roo::byte *, typename Target::ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::Raster< const roo::byte *PROGMEM, ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::Raster< roo::byte *, ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::Rasterizable, roo_display::SimpleStreamable< Iterable, ColorMode, StreamType >, roo_display::SimpleStreamable< ProgMemPtr, Monochrome, ColorPixelOrder::kLsbFirst, roo_io::kBigEndian >, roo_display::DrawableRawStreamable< RawStreamable >, and roo_display::FilledRect.
Referenced by roo_display::StreamableStack::Input::createStream().
|
pure virtual |
Create a stream for the given clipped bounds.
Implemented in roo_display::Raster< PtrTypeT, ColorModeT, pixel_order, byte_order >, roo_display::Raster< const roo::byte *, ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::Raster< const roo::byte *, typename Target::ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::Raster< const roo::byte *PROGMEM, ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::Raster< roo::byte *, ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::Rasterizable, roo_display::SimpleStreamable< Iterable, ColorMode, StreamType >, roo_display::SimpleStreamable< ProgMemPtr, Monochrome, ColorPixelOrder::kLsbFirst, roo_io::kBigEndian >, roo_display::DrawableRawStreamable< RawStreamable >, roo_display::FilledRect, and roo_display::StreamableStack.
|
inlinevirtual |
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 in roo_display::Offscreen< ColorMode, pixel_order, byte_order, pixels_per_byte, storage_type >, roo_display::Offscreen< Monochrome >, roo_display::Raster< PtrTypeT, ColorModeT, pixel_order, byte_order >, roo_display::Raster< const roo::byte *, ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::Raster< const roo::byte *, typename Target::ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::Raster< const roo::byte *PROGMEM, ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::Raster< roo::byte *, ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >, roo_display::SimpleRasterizable< Getter >, roo_display::SimpleTiledRasterizable< Getter >, roo_display::SimpleStreamable< Iterable, ColorMode, StreamType >, roo_display::SimpleStreamable< ProgMemPtr, Monochrome, ColorPixelOrder::kLsbFirst, roo_io::kBigEndian >, and roo_display::FilledRect.
Definition at line 441 of file streamable.h.
References roo_display::kFull.
Referenced by roo_display::Rasterizable::drawTo().