roo_display
API Documentation for roo_display
Loading...
Searching...
No Matches
roo_display Namespace Reference

Defines 140 opaque HTML named colors. More...

Namespaces

namespace  color
 
namespace  esp32
 
namespace  ili9341
 
namespace  ili9486
 
namespace  ili9488
 
namespace  internal
 
namespace  products
 
namespace  ssd1327
 
namespace  st7735
 
namespace  st7789
 
namespace  st7796s
 
namespace  st77xx
 

Data Structures

class  AddrWindowDevice
 
class  AffineTransformation
 General affine transformation. More...
 
class  Alignment
 Combines horizontal and vertical alignment. More...
 
class  Alpha4
 
class  Alpha8
 
class  AngularGradient
 Angular gradient based on angle around center. More...
 
class  ArduinoSpi
 
class  ArduinoSpiDevice
 
class  Argb4444
 16-bit ARGB 4-4-4-4 color mode. More...
 
class  Argb6666
 24-bit ARGB 6-6-6-6 color mode. More...
 
class  Argb8888
 ColorMode template contract. More...
 
class  BackgroundFillOptimizer
 Display output filter that avoids redundant background fills. More...
 
class  BackgroundFillOptimizerDevice
 Display device wrapper that applies background fill optimization. More...
 
class  Backlit
 
class  BasicShape
 Base class for simple colored shapes. More...
 
class  BasicTouchDevice
 
class  BitMaskOffscreen
 
struct  Blender
 
class  BlendingFilter
 Filtering device that blends with a rasterizable image. More...
 
struct  BlendOp
 
struct  BlendOp< BlendingMode::kClear >
 
struct  BlendOp< BlendingMode::kDestination >
 
struct  BlendOp< BlendingMode::kDestinationAtop >
 
struct  BlendOp< BlendingMode::kDestinationIn >
 
struct  BlendOp< BlendingMode::kDestinationOut >
 
struct  BlendOp< BlendingMode::kDestinationOver >
 
struct  BlendOp< BlendingMode::kDestinationOverOpaque >
 
struct  BlendOp< BlendingMode::kSource >
 
struct  BlendOp< BlendingMode::kSourceAtop >
 
struct  BlendOp< BlendingMode::kSourceIn >
 
struct  BlendOp< BlendingMode::kSourceOut >
 
struct  BlendOp< BlendingMode::kSourceOver >
 
struct  BlendOp< BlendingMode::kSourceOverOpaque >
 
struct  BlendOp< BlendingMode::kXor >
 
class  Border
 Rectangle border with configurable thickness on each side. More...
 
class  Box
 Axis-aligned integer rectangle. More...
 
class  BufferedAddrWindowDevice
 
class  BufferedColorWriter
 Buffered writer for sequential color values (used with setAddress()). More...
 
class  BufferedHLineFiller
 
class  BufferedPixelFiller
 Buffered filler for arbitrary pixels using a single color. More...
 
class  BufferedPixelWriter
 Buffered writer for arbitrary pixels with per-pixel colors. More...
 
class  BufferedPixelWriterFillAdapter
 Adapter that turns a pixel writer into a single-color filler. More...
 
class  BufferedRectFiller
 
class  BufferedRectWriter
 
class  BufferedRectWriterFillAdapter
 
class  BufferedVLineFiller
 
class  Circle
 Outline circle. More...
 
class  CircleBase
 Base class for circles. More...
 
class  Clear
 Infinite transparent area. More...
 
class  ClipMask
 Binary clip mask using a packed bit buffer. More...
 
class  ClipMaskFilter
 Filtering device that applies a clip mask. More...
 
class  ClippedStringViewLabel
 Like ClippedTextLabel, but does not own the text content. More...
 
class  ClippedTextLabel
 Single-line, single-color label with tight extents. More...
 
class  Clipping
 
class  ClippingBufferedHLineFiller
 
class  ClippingBufferedPixelFiller
 Buffered pixel filler with a clipping box. More...
 
class  ClippingBufferedPixelWriter
 Buffered pixel writer with a clipping box. More...
 
class  ClippingBufferedRectFiller
 
class  ClippingBufferedRectWriter
 
class  ClippingBufferedVLineFiller
 
class  Color
 ARGB8888 color stored as a 32-bit unsigned integer. More...
 
class  ColorFilter
 Color-only filter that transforms pixels before writing. More...
 
class  ColorFilter< Erasure >
 Specialization for Erasure with more efficient operations. More...
 
class  ColorGradient
 Multi-point gradient specification. More...
 
struct  ColorIo
 
struct  ColorIo< ColorMode, byte_order, std::enable_if_t< ColorTraits< ColorMode >::bytes_per_pixel==1 &&ColorTraits< ColorMode >::pixels_per_byte==1 > >
 
struct  ColorIo< ColorMode, byte_order, std::enable_if_t< ColorTraits< ColorMode >::bytes_per_pixel==2 > >
 
struct  ColorIo< ColorMode, byte_order, std::enable_if_t< ColorTraits< ColorMode >::bytes_per_pixel==3 &&ColorTraits< ColorMode >::pixels_per_byte==1 > >
 
struct  ColorIo< ColorMode, byte_order, std::enable_if_t< ColorTraits< ColorMode >::bytes_per_pixel==4 > >
 
struct  ColorReader
 
struct  ColorReader< ByteStream, ColorMode, pixel_order, byte_order, 1 >
 
struct  ColorReader< ByteStream, ColorMode, pixel_order, byte_order, 2 >
 
struct  ColorReader< ByteStream, ColorMode, pixel_order, byte_order, 3 >
 
struct  ColorReader< ByteStream, ColorMode, pixel_order, byte_order, 4 >
 
struct  ColorRectIo
 
struct  ColorRectIo< ColorMode, byte_order, pixel_order, std::enable_if_t< ColorTraits< ColorMode >::pixels_per_byte !=1 > >
 
struct  ColorRectIo< ColorMode, byte_order, pixel_order, std::enable_if_t< ColorTraits< ColorMode >::pixels_per_byte==1 > >
 
struct  ColorTraits
 Traits for a color mode's storage characteristics. More...
 
struct  ColorTraits< ColorMode, 1 >
 Storage traits for 1-bit modes. More...
 
struct  ColorTraits< ColorMode, 16 >
 Storage traits for 16-bit modes. More...
 
struct  ColorTraits< ColorMode, 2 >
 Storage traits for 2-bit modes. More...
 
struct  ColorTraits< ColorMode, 24 >
 Storage traits for 24-bit modes. More...
 
struct  ColorTraits< ColorMode, 32 >
 Storage traits for 32-bit modes. More...
 
struct  ColorTraits< ColorMode, 4 >
 Storage traits for 4-bit modes. More...
 
struct  ColorTraits< ColorMode, 8 >
 Storage traits for 8-bit modes. More...
 
class  ComboDevice
 Base class for displays with integrated, pre-calibrated touch. More...
 
class  Compactor
 
class  ConstDramPtr
 
class  ConstDramRaster
 
class  Display
 Display facade that owns a display device and optional touch input. More...
 
class  DisplayDevice
 Base class for display device drivers. More...
 
class  DisplayOutput
 The abstraction for drawing to a display. More...
 
class  DramRaster
 
class  Drawable
 Interface for objects that can be drawn to an output device. More...
 
class  DrawableRawStreamable
 
class  DrawingContext
 Primary top-level interface for drawing to screens, off-screen buffers, or other devices. More...
 
class  DummyTouch
 
class  Erasure
 Filter functor that always returns the background color. More...
 
class  Fill
 Infinite single-color area. More...
 
class  FilledCircle
 Filled circle. More...
 
class  FilledRect
 Filled rectangle (rasterizable). More...
 
class  FilledRectStream
 
class  FilledRoundRect
 Filled rounded rectangle. More...
 
class  FilledTriangle
 
class  Font
 Abstract font interface. More...
 
class  FontAdafruitFixed5x7
 Fixed-width 5x7 font (Adafruit classic). More...
 
class  FontMetricReader
 
class  FontMetrics
 Basic font metrics (ascent, descent, bounding box, and line spacing). More...
 
class  FontProperties
 Metadata describing a font's encoding and spacing behavior. More...
 
struct  FpPoint
 Floating-point point. More...
 
class  FrontToBackWriter
 Writer that ensures front-most pixels are written first. More...
 
class  GlyphMetrics
 Per-glyph metrics (bounding box and advance). More...
 
class  GlyphPairIterator
 
class  GpioSetter
 
class  GrayAlpha8
 
class  Grayscale4
 
class  Grayscale8
 
class  HAlign
 Horizontal alignment. More...
 
class  IdentityTransformation
 Identity transformation. More...
 
class  JpegDecoder
 JPEG decoder (stateful, reusable). More...
 
class  JpegFile
 Drawable JPEG image backed by a file resource (non-Arduino). More...
 
class  JpegImage
 Drawable JPEG image backed by a multipass resource. More...
 
class  Line
 A straight line segment between two points. More...
 
class  LinearGradient
 Linear gradient (horizontal, vertical, or skewed). More...
 
class  Monochrome
 
class  NoBacklit
 
class  Offscreen
 Offscreen rasterizable that writes into a pixel buffer. More...
 
class  OffscreenDevice
 In-memory DisplayDevice backed by a pixel buffer. More...
 
struct  Offset
 
class  Opaqueness
 Filter functor that scales alpha (0..127). More...
 
class  Orientation
 Represents the orientation of a display device. More...
 
class  Overlay
 Filter functor that alpha-blends a fixed overlay color. More...
 
class  Palette
 Palette storage for IndexedN color modes. More...
 
class  PauseOutput
 Temporarily pauses the output transport while a DrawingContext is active. More...
 
class  PixelStream
 Stream of pixels in row-major order. More...
 
class  PngDecoder
 PNG decoder (stateful, reusable). More...
 
class  PngFile
 Drawable PNG image backed by a file resource (non-Arduino). More...
 
class  PngImage
 Drawable PNG image backed by a multipass resource. More...
 
struct  Point
 Integer point. More...
 
class  ProgMemPtr
 
class  ProgMemRaster
 
class  ProjectiveTransformation
 General projective transformation (2D homography). More...
 
class  RadialGradient
 Radial gradient based on distance from the center. More...
 
class  RadialGradientSq
 Radial gradient using squared distance (faster, area-uniform). More...
 
class  Raster
 Non-owning raster view over a pixel buffer. More...
 
class  Rasterizable
 Drawable that can provide a color for any point within its extents. More...
 
class  RasterizableStack
 Multi-layer stack of rasterizables composited in order. More...
 
class  RasterPixelStream
 Pixel stream that reads from a raw byte resource. More...
 
class  RasterPixelStream< Resource, ColorMode, pixel_order, byte_order, 1 >
 Specialization for color modes with at least one byte per pixel. More...
 
struct  RawColorInterpolator
 Default raw color interpolator (specialized in color_modes.h). More...
 
struct  RawColorInterpolator< Alpha4 >
 
struct  RawColorInterpolator< Alpha8 >
 
struct  RawColorInterpolator< Grayscale4 >
 
struct  RawColorInterpolator< Grayscale8 >
 
struct  RawFullByteBlender
 
struct  RawFullByteBlender< Alpha8, BlendingMode::kSourceOver, byte_order >
 
struct  RawFullByteBlender< ColorMode, BlendingMode::kDestination, byte_order >
 
struct  RawFullByteBlender< ColorMode, BlendingMode::kSource, byte_order >
 
struct  RawFullByteBlender< Grayscale8, BlendingMode::kSourceOver, byte_order >
 
struct  RawFullByteBlender< Grayscale8, BlendingMode::kSourceOverOpaque, byte_order >
 
struct  RawFullByteBlender< Rgb565, BlendingMode::kSourceOver, byte_order >
 
struct  RawFullByteBlender< Rgb565WithTransparency, BlendingMode::kSourceOver, byte_order >
 
class  RawStreamableFilledRect
 
struct  RawSubByteBlender
 
struct  RawSubByteBlender< Alpha4, BlendingMode::kSourceOver >
 
struct  RawSubByteBlender< ColorMode, BlendingMode::kDestination >
 
struct  RawSubByteBlender< ColorMode, BlendingMode::kSource >
 
struct  RawSubByteBlender< Grayscale4, BlendingMode::kSourceOver >
 
struct  RawSubByteBlender< Grayscale4, BlendingMode::kSourceOverOpaque >
 
struct  RawSubByteBlender< Monochrome, BlendingMode::kSourceOver >
 
class  Rect
 Outline rectangle. More...
 
class  RectBase
 Base class for axis-aligned rectangle shapes. More...
 
class  RectUnion
 Union of rectangles used as an exclusion mask. More...
 
class  RectUnionFilter
 Filtering device that excludes a union of rectangles. More...
 
class  ResumeOutput
 Resumes a paused output transaction. More...
 
class  Rgb565
 16-bit RGB565 color mode (opaque). More...
 
class  Rgb565WithTransparency
 RGB565 with a reserved value representing transparency. More...
 
class  Rgb888
 24-bit RGB color mode (opaque). More...
 
class  Rgba8888
 32-bit RGBA color mode. More...
 
class  Rotation
 Rotation by angle in radians (clockwise). More...
 
class  RoundRect
 Outline rounded rectangle. More...
 
class  RoundRectBase
 Base class for rounded rectangles. More...
 
class  RoundRectShadow
 Rasterizable drop shadow for rounded rectangles. More...
 
class  Scaling
 Scaling by (sx, sy). More...
 
class  SimpleRasterizable
 Wrap a function object into a Rasterizable. More...
 
class  SimpleRawStreamable
 
class  SimpleStreamable
 Convenience wrapper for images backed by a byte stream. More...
 
class  SimpleTiledRasterizable
 "Infinite" rasterizable background by tiling a finite raster. More...
 
class  SmoothFont
 Anti-aliased font implementation based on PROGMEM data. More...
 
class  SmoothFontV2
 Smooth font v2 with split cmap and glyph metrics format. More...
 
class  SmoothShape
 Smooth (anti-aliased) shape rasterizable. More...
 
class  SpiReadWriteTransaction
 
struct  SpiSettings
 
class  SpiTransport
 
class  Streamable
 Drawable that can provide a sequential pixel stream. More...
 
class  StreamableStack
 Multi-layer stack of streamables composited in order. More...
 
class  StringViewLabel
 Like TextLabel, but does not own the text content. More...
 
struct  SubByteColorIo
 
struct  SubByteColorIo< ColorMode, ColorPixelOrder::kLsbFirst, 2 >
 
struct  SubByteColorIo< ColorMode, ColorPixelOrder::kLsbFirst, 4 >
 
struct  SubByteColorIo< ColorMode, ColorPixelOrder::kLsbFirst, 8 >
 
struct  SubByteColorIo< ColorMode, ColorPixelOrder::kMsbFirst, 2 >
 
struct  SubByteColorIo< ColorMode, ColorPixelOrder::kMsbFirst, 4 >
 
struct  SubByteColorIo< ColorMode, ColorPixelOrder::kMsbFirst, 8 >
 
class  Surface
 Low-level handle used to draw to an underlying device. More...
 
class  TextLabel
 Single-line, single-color text label. More...
 
class  Tile
 Rectangular drawable with background and aligned interior. More...
 
class  TileOf
 Tile with embedded interior object. More...
 
class  TouchCalibration
 Touch calibration parameters (bounds + orientation). More...
 
class  TouchDevice
 Touch controller interface. More...
 
class  TouchDisplay
 Wrapper providing calibrated touch input for a display device. More...
 
class  TouchFt6x36
 
class  TouchGt911
 
struct  TouchPoint
 A single touch point returned by a touch controller. More...
 
struct  TouchResult
 Metadata for a touch sampling result. More...
 
class  TouchXpt2046
 
class  Transformation
 Geometric transformation: swap, scale, translate, rotate, clip. More...
 
class  TransformedDisplayOutput
 Display output wrapper that applies a Transformation. More...
 
class  TransformedDrawable
 Drawable wrapper that applies a Transformation. More...
 
class  TransformedRaster
 
class  Translation
 Translation by (dx, dy). More...
 
class  Triangle
 
class  TriangleBase
 
class  VAlign
 Vertical alignment. More...
 
class  XBitmap
 Monochrome XBitmap image (rows rounded to 8 pixels). More...
 

Typedefs

using Indexed1 = internal::Indexed< 1 >
 
using Indexed2 = internal::Indexed< 2 >
 
using Indexed4 = internal::Indexed< 4 >
 
using Indexed8 = internal::Indexed< 8 >
 
template<typename ColorMode >
using ColorStorageType = typename ColorTraits< ColorMode >::storage_type
 Convenience alias for the raw storage type of a color mode.
 
using PixelWriter = ClippingBufferedPixelWriter
 Default pixel writer type (with clipping).
 
template<typename Resource >
using StreamType = decltype(std::declval< Resource >().iterator())
 Stream type produced by a resource iterable.
 
template<typename ColorMode >
using DramRasterBE = DramRaster< ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >
 
template<typename ColorMode >
using DramRasterLE = DramRaster< ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kLittleEndian >
 
template<typename ColorMode >
using ConstDramRasterBE = ConstDramRaster< ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >
 
template<typename ColorMode >
using ConstDramRasterLE = ConstDramRaster< ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kLittleEndian >
 
template<typename ColorMode >
using ProgMemRasterBE = ProgMemRaster< ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >
 
template<typename ColorMode >
using ProgMemRasterLE = ProgMemRaster< ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kLittleEndian >
 
using StringView = roo::string_view
 DEPRECATED: use roo::string_view directly.
 
template<typename Transport >
using Ili9341 = AddrWindowDevice< ili9341::Ili9341Target< Transport > >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = ili9341::DefaultSpiSettings>
using Ili9341spi = Ili9341< SpiTransport< pinCS, pinDC, pinRST, SpiSettings, Spi, DefaultGpio > >
 
template<typename Transport >
using Ili9486 = AddrWindowDevice< ili9486::Ili9486Target< Transport > >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = ili9486::DefaultSpiSettings>
using Ili9486spi = Ili9486< SpiTransport< pinCS, pinDC, pinRST, SpiSettings, Spi, DefaultGpio > >
 
template<typename Transport >
using Ili9488 = AddrWindowDevice< ili9488::Ili9488Target< Transport > >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = ili9488::DefaultSpiSettings>
using Ili9488spi = Ili9488< SpiTransport< pinCS, pinDC, pinRST, SpiSettings, Spi, DefaultGpio > >
 
template<typename Transport >
using Ssd1327 = BufferedAddrWindowDevice< ssd1327::Ssd1327Target< Transport > >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = ssd1327::DefaultSpiSettings>
using Ssd1327spi = Ssd1327< SpiTransport< pinCS, pinDC, pinRST, SpiSettings, Spi, DefaultGpio > >
 
template<typename Transport , int16_t display_width, int16_t display_height, int16_t lpad = 0, int16_t tpad = 0, int16_t rpad = lpad, int16_t bpad = tpad, bool inverted = false>
using St7735_Generic = AddrWindowDevice< st77xx::St77xxTarget< Transport, st7735::Init, display_width, display_height, lpad, tpad, rpad, bpad, inverted > >
 
template<int pinCS, int pinDC, int pinRST, int16_t display_width, int16_t display_height, int16_t lpad = 0, int16_t tpad = 0, int16_t rpad = lpad, int16_t bpad = tpad, bool inverted = false, typename Spi = DefaultSpi, typename SpiSettings = st7735::DefaultSpiSettings, typename Gpio = DefaultGpio>
using St7735spi_Generic = St7735_Generic< SpiTransport< pinCS, pinDC, pinRST, SpiSettings, Spi, Gpio >, display_width, display_height, lpad, tpad, rpad, bpad, inverted >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7735::DefaultSpiSettings>
using St7735spi_128x160 = St7735spi_Generic< pinCS, pinDC, pinRST, 128, 160, 2, 1, 2, 1, false, Spi, SpiSettings >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7735::DefaultSpiSettings>
using St7735spi_80x160_inv = St7735spi_Generic< pinCS, pinDC, pinRST, 80, 160, 26, 1, 26, 1, true, Spi, SpiSettings >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7735::DefaultSpiSettings>
using St7735spi_128x128 = St7735spi_Generic< pinCS, pinDC, pinRST, 128, 128, 2, 1, 2, 3, false, Spi, SpiSettings >
 
template<typename Transport , int16_t display_width, int16_t display_height, int16_t lpad = 0, int16_t tpad = 0, int16_t rpad = lpad, int16_t bpad = tpad>
using St7789_Generic = AddrWindowDevice< st77xx::St77xxTarget< Transport, st7789::Init, display_width, display_height, lpad, tpad, rpad, bpad, true > >
 
template<int pinCS, int pinDC, int pinRST, int16_t display_width, int16_t display_height, int16_t lpad = 0, int16_t tpad = 0, int16_t rpad = lpad, int16_t bpad = tpad, typename Spi = DefaultSpi, typename SpiSettings = st7789::DefaultSpiSettings, typename Gpio = DefaultGpio>
using St7789spi_Generic = St7789_Generic< SpiTransport< pinCS, pinDC, pinRST, SpiSettings, Spi, Gpio >, display_width, display_height, lpad, tpad, rpad, bpad >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7789::DefaultSpiSettings>
using St7789spi_240x240 = St7789spi_Generic< pinCS, pinDC, pinRST, 240, 240, 0, 0, 0, 80, Spi, SpiSettings, DefaultGpio >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7789::DefaultSpiSettings, typename Gpio = DefaultGpio>
using St7789spi_240x280 = St7789spi_Generic< pinCS, pinDC, pinRST, 240, 280, 0, 20, 0, 0, Spi, SpiSettings, Gpio >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7789::DefaultSpiSettings, typename Gpio = DefaultGpio>
using St7789spi_172x320 = St7789spi_Generic< pinCS, pinDC, pinRST, 172, 320, 34, 0, 34, 0, Spi, SpiSettings, DefaultGpio >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7789::DefaultSpiSettings, typename Gpio = DefaultGpio>
using St7789spi_135x240 = St7789spi_Generic< pinCS, pinDC, pinRST, 135, 240, 0, 40, 53, 0, Spi, SpiSettings, DefaultGpio >
 
template<typename Transport >
using St7796s = AddrWindowDevice< st77xx::St77xxTarget< Transport, st7796s::Init, 320, 480, 0, 0, 0, 0, false, true, true > >
 
template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7796s::DefaultSpiSettings, typename Gpio = DefaultGpio>
using St7796sspi = St7796s< SpiTransport< pinCS, pinDC, pinRST, SpiSettings, Spi, Gpio > >
 
typedef SpiSettings< kSpiTouchFrequency, kSpiMsbFirst, kSpiMode0TouchXpt2046SpiSettings
 
using BackgroundFilter = BlendingFilter< BlendOp< BlendingMode::kSourceOver > >
 Filtering device that blends with a rasterizable background.
 
typedef ColorFilter< OpaquenessTranslucencyFilter
 Filter that adds translucency (opaqueness in [0, 128]).
 
typedef ColorFilter< OverlayOverlayFilter
 Filter that super-imposes a (usually semi-transparent) overlay color.
 
typedef ColorFilter< internal::Disablement > DisablementFilter
 Filter that applies a disabled/gray appearance.
 
using ForegroundFilter = BlendingFilter< BlendOp< BlendingMode::kDestinationOver > >
 Filtering device that blends with a rasterizable foreground.
 
using DefaultGpio = esp32::Gpio
 
template<typename ColorMode , typename Resource = ProgMemPtr>
using RleImage = SimpleStreamable< Resource, ColorMode, internal::RleStreamUniform< Resource, ColorMode > >
 Run-length-encoded image for color modes with >= 8 bits per pixel.
 
template<typename ColorMode , typename Resource = ProgMemPtr>
using RleImage4bppxBiased = SimpleStreamable< Resource, ColorMode, internal::RleStream4bppxBiased< Resource, ColorMode > >
 RLE 4-bit image with bias for extreme values (0x0/0xF).
 
using Pictogram = RleImage4bppxBiased< Alpha4 >
 Convenience alias for small anti-aliased monochrome artwork.
 
template<typename Resource , typename ColorMode , ColorPixelOrder pixel_order = ColorPixelOrder::kMsbFirst, ByteOrder byte_order = roo_io::kBigEndian>
using SimpleImage = SimpleStreamable< Resource, ColorMode, RasterPixelStream< Resource, ColorMode, pixel_order, byte_order > >
 Uncompressed image.
 
template<typename Resource , ByteOrder byte_order = roo_io::kBigEndian>
using SimpleImageArgb8888 = SimpleImage< Resource, Argb8888, ColorPixelOrder::kMsbFirst, byte_order >
 Uncompressed ARGB8888 image.
 
template<typename Resource , ByteOrder byte_order = roo_io::kBigEndian>
using SimpleImageArgb6666 = SimpleImage< Resource, Argb6666, ColorPixelOrder::kMsbFirst, byte_order >
 Uncompressed ARGB6666 image.
 
template<typename Resource , ByteOrder byte_order = roo_io::kBigEndian>
using SimpleImageArgb4444 = SimpleImage< Resource, Argb4444, ColorPixelOrder::kMsbFirst, byte_order >
 Uncompressed ARGB4444 image.
 
template<typename Resource , ByteOrder byte_order = roo_io::kBigEndian>
using SimpleImageRgb565 = SimpleImage< Resource, Rgb565, ColorPixelOrder::kMsbFirst, byte_order >
 Uncompressed RGB565 image.
 
template<typename Resource , ByteOrder byte_order = roo_io::kBigEndian>
using SimpleImageRgb565WithTransparency = SimpleImage< Resource, Rgb565WithTransparency, ColorPixelOrder::kMsbFirst, byte_order >
 Uncompressed RGB565 image with reserved transparency.
 
template<typename Resource >
using SimpleImageGrayscale8 = SimpleImage< Resource, Grayscale8, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >
 Uncompressed Grayscale8 image.
 
template<typename Resource >
using SimpleImageAlpha8 = SimpleImage< Resource, Alpha8, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian >
 Uncompressed Alpha8 image.
 
template<typename Resource , ColorPixelOrder pixel_order = ColorPixelOrder::kMsbFirst>
using SimpleImageGrayscale4 = SimpleImage< Resource, Grayscale4, pixel_order, roo_io::kBigEndian >
 Uncompressed Grayscale4 image.
 
template<typename Resource , ColorPixelOrder pixel_order = ColorPixelOrder::kMsbFirst>
using SimpleImageAlpha4 = SimpleImage< Resource, Alpha4, pixel_order, roo_io::kBigEndian >
 Uncompressed Alpha4 image.
 
template<typename Resource , ColorPixelOrder pixel_order = ColorPixelOrder::kMsbFirst>
using SimpleImageMonochrome = SimpleImage< Resource, Monochrome, pixel_order, roo_io::kBigEndian >
 Uncompressed monochrome image.
 
using ByteOrder = roo_io::ByteOrder
 
template<typename RawStreamable >
using RawStreamTypeOf = typename decltype(std::declval< const RawStreamable >() .createRawStream())::element_type
 
template<typename RawStreamable >
using NativelyClippedRawStreamTypeOf = typename decltype(std::declval< const RawStreamable >() .CreateClippedRawStream(std::declval< Box >()))::element_type
 
template<typename RawStreamable >
using ColorModeOf = decltype(std::declval< const RawStreamable >().color_mode())
 
template<typename RawStreamable >
using ClipperedRawStreamTypeOf = typename decltype(internal::Clipper< RawStreamable >().operator()(std::declval< RawStreamable >(), std::declval< Box >()))::element_type
 
using FileResource = ::roo_io::ExtendedArduinoFileIterable
 

Enumerations

enum class  BlendingMode {
  kSource , kSourceOver , kSourceIn , kSourceAtop ,
  kDestination , kDestinationOver , kDestinationIn , kDestinationAtop ,
  kClear , kSourceOut , kDestinationOut , kXor ,
  kSourceOverOpaque , kDestinationOverOpaque
}
 Porter-Duff style blending modes. More...
 
enum class  TransparencyMode { kNone , kCrude , kFull }
 Transparency information for a stream or color mode. More...
 
enum class  ColorPixelOrder { kMsbFirst , kLsbFirst }
 
enum class  FillMode { kExtents = 0 , kVisible = 1 }
 Specifies whether a Drawable should fill its entire extents box, including fully transparent pixels. More...
 
enum  ConversionResult { UNTOUCHED = 0 , TOUCHED = 1 , UNSETTLED = 2 }
 
enum class  FontLayout { kHorizontal , kVertical }
 Glyph layout direction. More...
 
enum  SpiDataMode { kSpiMode0 = 0 , kSpiMode1 = 1 , kSpiMode2 = 2 , kSpiMode3 = 3 }
 
enum  SpiBitOrder { kSpiLsbFirst = 0 , kSpiMsbFirst = 1 }
 
enum  EndingStyle { ENDING_ROUNDED = 0 , ENDING_FLAT = 1 }
 Line ending style for smooth shapes. More...
 
enum  Anchor { ANCHOR_ORIGIN = 0 , ANCHOR_MIN = 1 , ANCHOR_MID = 2 , ANCHOR_MAX = 3 }
 Anchor point used for alignment. More...
 

Functions

roo_logging::Stream & operator<< (roo_logging::Stream &os, BlendingMode mode)
 
roo_logging::Stream & operator<< (roo_logging::Stream &os, TransparencyMode mode)
 
Color AlphaBlendOverOpaque (Color bgc, Color fgc)
 
Color ApplyBlending (BlendingMode mode, Color dst, Color src)
 
void ApplyBlendingInPlace (BlendingMode mode, Color *dst, const Color *src, int16_t count)
 
void ApplyBlendingSingleSourceInPlace (BlendingMode mode, Color *dst, Color src, int16_t count)
 
void ApplyBlendingInPlaceIndexed (BlendingMode mode, Color *dst, const Color *src, int16_t count, const uint32_t *index)
 
void ApplyBlendingOverBackground (BlendingMode mode, Color bg, Color *src, int16_t count)
 
Color AlphaBlend (Color bgc, Color fgc)
 
template<typename ColorMode , roo_io::ByteOrder byte_order>
void ApplyRawFullByteBlending (BlendingMode blending_mode, roo::byte *dst, Color src, const ColorMode &color_mode)
 
template<typename ColorMode , roo_io::ByteOrder byte_order>
void ApplyRawFullByteBlending (BlendingMode blending_mode, roo::byte *dst, Color src, ColorMode &color_mode)
 
template<typename ColorMode >
ColorStorageType< ColorMode > ApplyRawSubByteBlending (BlendingMode blending_mode, uint8_t dst, Color src, const ColorMode &color_mode)
 
template<typename ColorMode >
ColorStorageType< ColorMode > ApplyRawSubByteBlending (BlendingMode blending_mode, uint8_t dst, Color src, ColorMode &color_mode)
 
constexpr bool operator== (const Color &a, const Color &b)
 Equality operator for colors.
 
constexpr bool operator!= (const Color &a, const Color &b)
 Inequality operator for colors.
 
void FillColor (Color *buf, uint32_t count, Color color)
 Fill an array with a single color.
 
template<typename ColorMode >
constexpr Color TruncateColor (Color color, ColorMode mode=ColorMode())
 Truncate a color to a given color mode and back to ARGB.
 
constexpr Color Graylevel (uint8_t level)
 Return an opaque gray with r = g = b = level.
 
roo_logging::Stream & operator<< (roo_logging::Stream &os, ColorGradient::Boundary boundary)
 
LinearGradient VerticalGradient (int16_t x0, float dx, ColorGradient gradient, Box extents=Box::MaximumBox())
 Create a vertical gradient: $val = (x - x0) * dx$.
 
LinearGradient HorizontalGradient (int16_t y0, float dy, ColorGradient gradient, Box extents=Box::MaximumBox())
 Create a horizontal gradient: $val = (y - y0) * dy$.
 
Color HsvToRgb (float h, float s, float v)
 Convert HSV (h, s, v) to an RGB Color.
 
Color InterpolateColors (Color c1, Color c2, int16_t fraction)
 Interpolate between two colors with fraction in [0, 256].
 
Color InterpolateOpaqueColors (Color c1, Color c2, int16_t fraction)
 Interpolate between two opaque colors with fraction in [0, 256].
 
Color InterpolateColorWithTransparency (Color c, int16_t fraction_color)
 Equivalent to InterpolateColors(Transparent, c, fraction_color).
 
Color InterpolateOpaqueColorWithTransparency (Color c, int16_t fraction_color)
 Equivalent to InterpolateColors(Transparent, c, fraction_color) for opaque c.
 
roo_logging::Stream & operator<< (roo_logging::Stream &os, ColorPixelOrder order)
 
roo_logging::Stream & operator<< (roo_logging::Stream &os, const Box &box)
 Logging operator for boxes.
 
roo_logging::Stream & operator<< (roo_logging::Stream &os, Box::ClipResult clip_result)
 Logging operator for box clip results.
 
bool operator== (const Box &a, const Box &b)
 Equality operator for boxes.
 
bool operator!= (const Box &a, const Box &b)
 Inequality operator for boxes.
 
roo_logging::Stream & operator<< (roo_logging::Stream &os, FillMode mode)
 
template<typename Device , typename... Args>
auto OffscreenForDevice (const Device &device, Args &&... args) -> Offscreen< typename Device::ColorMode, Device::pixel_order, Device::byte_order >
 
template<typename Filler >
void fillRectsAbsoluteImpl (Filler &fill, roo::byte *buffer, int16_t width, int16_t *x0, int16_t *y0, int16_t *x1, int16_t *y1, uint32_t count)
 
template<typename Filler >
void fillHlinesAbsoluteImpl (Filler &fill, roo::byte *buffer, int16_t width, int16_t *x0, int16_t *y0, int16_t *x1, uint16_t count)
 
template<typename Filler >
void fillVlinesAbsoluteImpl (Filler &fill, roo::byte *buffer, int16_t width, int16_t *x0, int16_t *y0, int16_t *y1, uint16_t count)
 
bool operator== (Orientation a, Orientation b)
 
bool operator!= (Orientation a, Orientation b)
 
template<typename Getter >
SimpleRasterizable< GetterMakeRasterizable (Box extents, Getter getter, TransparencyMode transparency=TransparencyMode::kFull)
 Create a SimpleRasterizable from a getter function.
 
template<typename Getter >
SimpleTiledRasterizable< GetterMakeTiledRasterizable (Box extents, Getter getter, TransparencyMode transparency=TransparencyMode::kFull)
 Create a tiled rasterizable from a getter function.
 
template<typename Raster >
SimpleTiledRasterizable< const Raster & > MakeTiledRaster (const Raster *raster)
 Create a tiled rasterizable from a raster.
 
template<typename Raster >
SimpleTiledRasterizable< const Raster & > MakeTiledRaster (const Raster *raster, int16_t x_offset, int16_t y_offset)
 Create a tiled rasterizable from a raster with offsets.
 
template<typename Stream >
std::unique_ptr< PixelStreamSubRectangle (Stream stream, const Box &extents, const Box &bounds)
 Create a pixel stream over a sub-rectangle of a larger stream.
 
template<typename Spi >
void get_raw_touch_xy (Spi &spi, uint16_t *x, uint16_t *y)
 
template<typename Spi >
uint16_t get_raw_touch_z (Spi &spi)
 
template<typename Spi >
ConversionResult single_conversion (Spi &spi, uint16_t z_threshold, uint16_t *x, uint16_t *y, uint16_t *z)
 
int floor_div (int a, int b)
 
roo_logging::Stream & operator<< (roo_logging::Stream &stream, FontLayout layout)
 
roo_logging::Stream & operator<< (roo_logging::Stream &stream, FontProperties::Charset charset)
 
roo_logging::Stream & operator<< (roo_logging::Stream &stream, FontProperties::Spacing spacing)
 
roo_logging::Stream & operator<< (roo_logging::Stream &stream, FontProperties::Smoothing smoothing)
 
roo_logging::Stream & operator<< (roo_logging::Stream &stream, FontProperties::Kerning kerning)
 
void drawAdafruitFixed5x7Glyph (const Surface &s, char32_t code, Color color, bool whitespace)
 
static int8_t readByte (const roo::byte *PROGMEM ptr)
 
static int16_t readWord (const roo::byte *PROGMEM ptr)
 
bool is_space (char32_t code)
 
template<int encoding_bytes>
char32_t read_unicode (const roo::byte *PROGMEM address)
 
template<>
char32_t read_unicode< 1 > (const roo::byte *PROGMEM address)
 
template<>
char32_t read_unicode< 2 > (const roo::byte *PROGMEM address)
 
template<int encoding_bytes>
const roo::byte *PROGMEM indexSearch (char32_t c, const roo::byte *PROGMEM data, int glyph_size, int start, int stop)
 
template<int encoding_bytes>
const roo::byte *PROGMEM kernIndexSearch (uint32_t lookup, const roo::byte *PROGMEM data, int kern_size, int start, int stop)
 
static int8_t readByte (const roo::byte *PROGMEM ptr)
 
static int16_t readWord (const roo::byte *PROGMEM ptr)
 
static uint16_t readUWord (const roo::byte *PROGMEM ptr)
 
static uint32_t readTriWord (const roo::byte *PROGMEM ptr)
 
static uint16_t read_glyph_index (const roo::byte *PROGMEM address, int index_bytes)
 
void async_blit_init ()
 
void async_blit_deinit ()
 
void async_blit_await ()
 
void async_blit (const roo::byte *src_ptr, size_t src_stride, roo::byte *dst_ptr, size_t dst_stride, size_t width, size_t height)
 
void blit_init ()
 
void blit_deinit ()
 
void blit (const roo::byte *src_ptr, size_t src_stride, roo::byte *dst_ptr, size_t dst_stride, size_t width, size_t height)
 
size_t jpeg_read (JDEC *jdec, uint8_t *buf, size_t size)
 
int jpeg_draw_rect (JDEC *jdec, void *data, JRECT *rect)
 
int32_t png_read (PNGFILE *pFile, uint8_t *pBuf, int32_t iLen)
 
int32_t png_seek (PNGFILE *pFile, int32_t iPosition)
 
void png_draw (PNGDRAW *pDraw)
 
template<typename RawStreamable >
std::unique_ptr< ClipperedRawStreamTypeOf< RawStreamable > > CreateClippedRawStreamFor (const RawStreamable &streamable, const Box &clip_box)
 
template<typename RawStreamable >
DrawableRawStreamable< RawStreamableMakeDrawableRawStreamable (RawStreamable streamable)
 
template<typename RawStreamable >
DrawableMakeNewDrawableRawStreamable (RawStreamable streamable)
 
template<typename RawStreamable , typename RawStream = RawStreamTypeOf<RawStreamable>>
void streamToSurface (const Surface &s, RawStreamable streamable)
 
template<typename RawStreamable >
Clipping< RawStreamableClipped (const Box &clip_box, RawStreamable streamable)
 
template<typename Bg , typename Fg >
internal::Superposition< Bg, FgOverlay (Bg bg, int16_t bg_x, int16_t bg_y, Fg fg, int16_t fg_x, int16_t fg_y)
 
template<typename Bg , typename Fg >
internal::Superposition< Bg, FgOverlay (Box anchor_extents, Bg bg, Alignment bg_align, Fg fg, Alignment fg_align)
 
template<typename RawStreamable >
internal::RawStreamableRef< RawStreamableRef (const RawStreamable &ref)
 
template<typename HLineFiller >
void drawNonSteepLine (HLineFiller *drawer, int16_t x0, int16_t y0, int16_t x1, int16_t y1, bool flip_diag)
 
template<typename VLineFiller >
void drawSteepLine (VLineFiller *drawer, int16_t x0, int16_t y0, int16_t x1, int16_t y1, bool flip_diag)
 
void drawHLine (DisplayOutput &device, int16_t x0, int16_t y0, int16_t x1, Color color, const Box &clip_box, BlendingMode mode)
 
void drawVLine (DisplayOutput &device, int16_t x0, int16_t y0, int16_t y1, Color color, const Box &clip_box, BlendingMode mode)
 
template<typename RectFiller >
void drawRoundRectTmpl (RectFiller &filler, int16_t x0, int16_t y0, int x1, int y1, int16_t r)
 
template<typename HlineFiller >
void fillRoundRectCorners (HlineFiller *filler, int16_t x0, int16_t y0, int x1, int y1, int16_t r)
 
template<typename HlineFiller >
void fillRoundRectOutsideCorners (HlineFiller *filler, int16_t x0, int16_t y0, int x1, int y1, int16_t r)
 
void drawRoundRect (DisplayOutput &output, const Box &bbox, int16_t radius, const Box &clip_box, Color color, BlendingMode mode)
 
void fillRoundRect (DisplayOutput &output, const Box &bbox, int16_t radius, const Box &clip_box, Color color, BlendingMode mode)
 
void fillRoundRectBg (DisplayOutput &output, const Box &bbox, int16_t radius, const Box &clip_box, Color bgcolor, BlendingMode mode)
 
template<typename PixelFiller >
void drawEllipse (PixelFiller *drawer, int16_t x0, int16_t y0, int16_t rx, int16_t ry)
 
template<typename HLineFiller >
void fillTriangle (HLineFiller *drawer, int16_t x0, int16_t y0, int16_t x1, int16_t y1, int16_t x2, int16_t y2)
 
SmoothShape SmoothWedgedLine (FpPoint a, float width_a, FpPoint b, float width_b, Color color, EndingStyle ending_style=ENDING_ROUNDED)
 Create a wedged line with different start/end widths.
 
SmoothShape SmoothThickLine (FpPoint a, FpPoint b, float width, Color color, EndingStyle ending_style=ENDING_ROUNDED)
 Create a line with width and ending style.
 
SmoothShape SmoothLine (FpPoint a, FpPoint b, Color color)
 Create a 1-pixel-wide anti-aliased line.
 
SmoothShape SmoothRotatedFilledRect (FpPoint center, float width, float height, float angle, Color color)
 Create a rotated filled rectangle.
 
SmoothShape SmoothThickRoundRect (float x0, float y0, float x1, float y1, float radius, float thickness, Color color, Color interior_color=color::Transparent)
 Create an outlined round-rect with thickness.
 
SmoothShape SmoothRoundRect (float x0, float y0, float x1, float y1, float radius, Color color, Color interior_color=color::Transparent)
 Create an outlined round-rect.
 
SmoothShape SmoothFilledRoundRect (float x0, float y0, float x1, float y1, float radius, Color color)
 Create a filled round-rect.
 
SmoothShape SmoothThickCircle (FpPoint center, float radius, float thickness, Color color, Color interior_color=color::Transparent)
 Create a circle with thickness (ring).
 
SmoothShape SmoothCircle (FpPoint center, float radius, Color color, Color interior_color=color::Transparent)
 Create a circle (optionally with interior color).
 
SmoothShape SmoothFilledCircle (FpPoint center, float radius, Color color)
 Create a filled circle.
 
SmoothShape SmoothThickArcImpl (FpPoint center, float radius, float thickness, float angle_start, float angle_end, Color active_color, Color inactive_color, Color interior_color, EndingStyle ending_style, bool trim_to_active)
 
SmoothShape SmoothArc (FpPoint center, float radius, float angle_start, float angle_end, Color color)
 Create a 1-pixel-wide arc.
 
SmoothShape SmoothThickArc (FpPoint center, float radius, float thickness, float angle_start, float angle_end, Color color, EndingStyle ending_style=ENDING_ROUNDED)
 Create an arc with thickness.
 
SmoothShape SmoothPie (FpPoint center, float radius, float angle_start, float angle_end, Color color)
 Create a pie slice.
 
SmoothShape SmoothThickArcWithBackground (FpPoint center, float radius, float thickness, float angle_start, float angle_end, Color active_color, Color inactive_color, Color interior_color, EndingStyle ending_style=ENDING_ROUNDED)
 Create an arc with background and interior colors.
 
SmoothShape SmoothFilledTriangle (FpPoint a, FpPoint b, FpPoint c, Color color)
 Create a filled triangle.
 
Translation Translate (float dx, float dy)
 Return a translation by the specified vector.
 
Scaling Scale (float sx, float sy)
 Return a scaling about the origin.
 
AffineTransformation ScaleAbout (float sx, float sy, const FpPoint &center)
 Return a scaling about a given center.
 
Rotation RotateRight (float angle)
 Return a clockwise rotation about the origin.
 
Rotation RotateRight ()
 Return a 90-degree clockwise rotation about the origin.
 
AffineTransformation RotateRightAbout (float angle, const FpPoint &center)
 Return a clockwise rotation about a point.
 
AffineTransformation RotateRightAbout (const FpPoint &center)
 Return a 90-degree clockwise rotation about a point.
 
Rotation RotateLeft (float angle)
 Return a counter-clockwise rotation about the origin.
 
Rotation RotateLeft ()
 Return a 90-degree counter-clockwise rotation about the origin.
 
AffineTransformation RotateLeftAbout (float angle, const FpPoint &center)
 Return a 90-degree counter-clockwise rotation about a point.
 
AffineTransformation RotateLeftAbout (const FpPoint &center)
 
AffineTransformation Shear (float sx, float sy)
 Return a shear rooted at the origin.
 
AffineTransformation Shear (float sx, float sy, const FpPoint &base)
 Return a shear rooted at the specified point.
 
AffineTransformation ShearHorizontally (float sx)
 Return a horizontal shear rooted at the origin.
 
AffineTransformation ShearHorizontallyAbout (float sx, float base_y)
 Return a horizontal shear rooted at base_y.
 
AffineTransformation ShearVertically (float sy)
 Return a vertical shear rooted at the origin.
 
AffineTransformation ShearVerticallyAbout (float sy, float base_x)
 Return a vertical shear rooted at base_x.
 
ProjectiveTransformation Perspective (float px, float py)
 Return a perspective transformation rooted at the origin.
 
ProjectiveTransformation PerspectiveAbout (float px, float py, const FpPoint &base)
 Return a perspective transformation rooted at base.
 
template<typename RasterType , typename TransformationType >
TransformedRaster< RasterType, TransformationTypeTransformRaster (RasterType &original, TransformationType transformation)
 Return a rasterizable representation of a transformed raster.
 
constexpr Alignment operator| (HAlign h, VAlign v)
 Combine horizontal and vertical alignments.
 
constexpr Alignment operator| (VAlign v, HAlign h)
 Combine vertical and horizontal alignments.
 
std::string StringPrintf (const char *format,...)
 Prefer roo_io::StringPrintf in new code.
 
std::string StringVPrintf (const char *format, va_list arg)
 Prefer roo_io::StringVPrintf in new code.
 
template<typename DrawableType >
TileOf< DrawableTypeMakeTileOf (DrawableType interior, Box extents, Alignment alignment=kNoAlign, Color bgcolor=color::Background)
 Convenience factory for a TileOf.
 
const Fontfont_NotoSans_Bold_10 ()
 
const Fontfont_NotoSans_Bold_12 ()
 
const Fontfont_NotoSans_Bold_15 ()
 
const Fontfont_NotoSans_Bold_18 ()
 
const Fontfont_NotoSans_Bold_27 ()
 
const Fontfont_NotoSans_Bold_40 ()
 
const Fontfont_NotoSans_Bold_60 ()
 
const Fontfont_NotoSans_Bold_8 ()
 
const Fontfont_NotoSans_Bold_90 ()
 
const Fontfont_NotoSans_Regular_10 ()
 
const Fontfont_NotoSans_Regular_12 ()
 
const Fontfont_NotoSans_Regular_15 ()
 
const Fontfont_NotoSans_Regular_18 ()
 
const Fontfont_NotoSans_Regular_27 ()
 
const Fontfont_NotoSans_Regular_40 ()
 
const Fontfont_NotoSans_Regular_60 ()
 
const Fontfont_NotoSans_Regular_8 ()
 
const Fontfont_NotoSans_Regular_90 ()
 
const Fontfont_NotoSansMono_Regular_10 ()
 
const Fontfont_NotoSansMono_Regular_12 ()
 
const Fontfont_NotoSansMono_Regular_15 ()
 
const Fontfont_NotoSansMono_Regular_18 ()
 
const Fontfont_NotoSansMono_Regular_27 ()
 
const Fontfont_NotoSansMono_Regular_40 ()
 
const Fontfont_NotoSansMono_Regular_60 ()
 
const Fontfont_NotoSansMono_Regular_8 ()
 
const Fontfont_NotoSansMono_Regular_90 ()
 
const Fontfont_NotoSerif_Italic_10 ()
 
const Fontfont_NotoSerif_Italic_12 ()
 
const Fontfont_NotoSerif_Italic_15 ()
 
const Fontfont_NotoSerif_Italic_18 ()
 
const Fontfont_NotoSerif_Italic_27 ()
 
const Fontfont_NotoSerif_Italic_40 ()
 
const Fontfont_NotoSerif_Italic_60 ()
 
const Fontfont_NotoSerif_Italic_8 ()
 
const Fontfont_NotoSerif_Italic_90 ()
 
const Fontfont_NotoSans_BoldItalic_10 ()
 
const Fontfont_NotoSans_BoldItalic_12 ()
 
const Fontfont_NotoSans_BoldItalic_15 ()
 
const Fontfont_NotoSans_BoldItalic_18 ()
 
const Fontfont_NotoSans_BoldItalic_27 ()
 
const Fontfont_NotoSans_BoldItalic_40 ()
 
const Fontfont_NotoSans_BoldItalic_60 ()
 
const Fontfont_NotoSans_BoldItalic_8 ()
 
const Fontfont_NotoSans_BoldItalic_90 ()
 
const Fontfont_NotoSans_Condensed_10 ()
 
const Fontfont_NotoSans_Condensed_12 ()
 
const Fontfont_NotoSans_Condensed_15 ()
 
const Fontfont_NotoSans_Condensed_18 ()
 
const Fontfont_NotoSans_Condensed_27 ()
 
const Fontfont_NotoSans_Condensed_40 ()
 
const Fontfont_NotoSans_Condensed_60 ()
 
const Fontfont_NotoSans_Condensed_8 ()
 
const Fontfont_NotoSans_Condensed_90 ()
 
const Fontfont_NotoSans_CondensedBold_10 ()
 
const Fontfont_NotoSans_CondensedBold_12 ()
 
const Fontfont_NotoSans_CondensedBold_15 ()
 
const Fontfont_NotoSans_CondensedBold_18 ()
 
const Fontfont_NotoSans_CondensedBold_27 ()
 
const Fontfont_NotoSans_CondensedBold_40 ()
 
const Fontfont_NotoSans_CondensedBold_60 ()
 
const Fontfont_NotoSans_CondensedBold_8 ()
 
const Fontfont_NotoSans_CondensedBold_90 ()
 
const Fontfont_NotoSans_CondensedItalic_10 ()
 
const Fontfont_NotoSans_CondensedItalic_12 ()
 
const Fontfont_NotoSans_CondensedItalic_15 ()
 
const Fontfont_NotoSans_CondensedItalic_18 ()
 
const Fontfont_NotoSans_CondensedItalic_27 ()
 
const Fontfont_NotoSans_CondensedItalic_40 ()
 
const Fontfont_NotoSans_CondensedItalic_60 ()
 
const Fontfont_NotoSans_CondensedItalic_8 ()
 
const Fontfont_NotoSans_CondensedItalic_90 ()
 
const Fontfont_NotoSans_Italic_10 ()
 
const Fontfont_NotoSans_Italic_12 ()
 
const Fontfont_NotoSans_Italic_15 ()
 
const Fontfont_NotoSans_Italic_18 ()
 
const Fontfont_NotoSans_Italic_27 ()
 
const Fontfont_NotoSans_Italic_40 ()
 
const Fontfont_NotoSans_Italic_60 ()
 
const Fontfont_NotoSans_Italic_8 ()
 
const Fontfont_NotoSans_Italic_90 ()
 
const Fontfont_NotoSansMono_Bold_10 ()
 
const Fontfont_NotoSansMono_Bold_12 ()
 
const Fontfont_NotoSansMono_Bold_15 ()
 
const Fontfont_NotoSansMono_Bold_18 ()
 
const Fontfont_NotoSansMono_Bold_27 ()
 
const Fontfont_NotoSansMono_Bold_40 ()
 
const Fontfont_NotoSansMono_Bold_60 ()
 
const Fontfont_NotoSansMono_Bold_8 ()
 
const Fontfont_NotoSansMono_Bold_90 ()
 
const Fontfont_NotoSerif_Bold_10 ()
 
const Fontfont_NotoSerif_Bold_12 ()
 
const Fontfont_NotoSerif_Bold_15 ()
 
const Fontfont_NotoSerif_Bold_18 ()
 
const Fontfont_NotoSerif_Bold_27 ()
 
const Fontfont_NotoSerif_Bold_40 ()
 
const Fontfont_NotoSerif_Bold_60 ()
 
const Fontfont_NotoSerif_Bold_8 ()
 
const Fontfont_NotoSerif_Bold_90 ()
 
const Fontfont_NotoSerif_BoldItalic_10 ()
 
const Fontfont_NotoSerif_BoldItalic_12 ()
 
const Fontfont_NotoSerif_BoldItalic_15 ()
 
const Fontfont_NotoSerif_BoldItalic_18 ()
 
const Fontfont_NotoSerif_BoldItalic_27 ()
 
const Fontfont_NotoSerif_BoldItalic_40 ()
 
const Fontfont_NotoSerif_BoldItalic_60 ()
 
const Fontfont_NotoSerif_BoldItalic_8 ()
 
const Fontfont_NotoSerif_BoldItalic_90 ()
 
const Fontfont_NotoSerif_Condensed_10 ()
 
const Fontfont_NotoSerif_Condensed_12 ()
 
const Fontfont_NotoSerif_Condensed_15 ()
 
const Fontfont_NotoSerif_Condensed_18 ()
 
const Fontfont_NotoSerif_Condensed_27 ()
 
const Fontfont_NotoSerif_Condensed_40 ()
 
const Fontfont_NotoSerif_Condensed_60 ()
 
const Fontfont_NotoSerif_Condensed_8 ()
 
const Fontfont_NotoSerif_Condensed_90 ()
 
const Fontfont_NotoSerif_CondensedItalic_10 ()
 
const Fontfont_NotoSerif_CondensedItalic_12 ()
 
const Fontfont_NotoSerif_CondensedItalic_15 ()
 
const Fontfont_NotoSerif_CondensedItalic_18 ()
 
const Fontfont_NotoSerif_CondensedItalic_27 ()
 
const Fontfont_NotoSerif_CondensedItalic_40 ()
 
const Fontfont_NotoSerif_CondensedItalic_60 ()
 
const Fontfont_NotoSerif_CondensedItalic_8 ()
 
const Fontfont_NotoSerif_CondensedItalic_90 ()
 
const Fontfont_NotoSerif_Regular_10 ()
 
const Fontfont_NotoSerif_Regular_12 ()
 
const Fontfont_NotoSerif_Regular_15 ()
 
const Fontfont_NotoSerif_Regular_18 ()
 
const Fontfont_NotoSerif_Regular_27 ()
 
const Fontfont_NotoSerif_Regular_40 ()
 
const Fontfont_NotoSerif_Regular_60 ()
 
const Fontfont_NotoSerif_Regular_8 ()
 
const Fontfont_NotoSerif_Regular_90 ()
 

Variables

static DummyTouch dummy_touch
 
constexpr BlendingMode BLENDING_MODE_SOURCE = BlendingMode::kSource
 
constexpr BlendingMode BLENDING_MODE_SOURCE_OVER = BlendingMode::kSourceOver
 
constexpr BlendingMode BLENDING_MODE_SOURCE_IN = BlendingMode::kSourceIn
 
constexpr BlendingMode BLENDING_MODE_SOURCE_ATOP = BlendingMode::kSourceAtop
 
constexpr BlendingMode BLENDING_MODE_DESTINATION = BlendingMode::kDestination
 
constexpr BlendingMode BLENDING_MODE_DESTINATION_OVER
 
constexpr BlendingMode BLENDING_MODE_DESTINATION_IN
 
constexpr BlendingMode BLENDING_MODE_DESTINATION_ATOP
 
constexpr BlendingMode BLENDING_MODE_CLEAR = BlendingMode::kClear
 
constexpr BlendingMode BLENDING_MODE_SOURCE_OUT = BlendingMode::kSourceOut
 
constexpr BlendingMode BLENDING_MODE_DESTINATION_OUT
 
constexpr BlendingMode BLENDING_MODE_EXCLUSIVE_OR = BlendingMode::kXor
 
constexpr TransparencyMode TRANSPARENCY_NONE = TransparencyMode::kNone
 
constexpr TransparencyMode TRANSPARENCY_BINARY = TransparencyMode::kCrude
 
constexpr TransparencyMode TRANSPARENCY_GRADUAL = TransparencyMode::kFull
 
constexpr auto COLOR_PIXEL_ORDER_MSB_FIRST = ColorPixelOrder::kMsbFirst
 
constexpr auto COLOR_PIXEL_ORDER_LSB_FIRST = ColorPixelOrder::kLsbFirst
 
static const uint8_t kPixelWritingBufferSize = 64
 
static const uint8_t kRectWritingBufferSize = 32
 
constexpr FillMode FILL_MODE_RECTANGLE = FillMode::kExtents
 
constexpr FillMode FILL_MODE_VISIBLE = FillMode::kVisible
 
static const int kSpiTouchFrequency = 2500000
 
static const int kMaxRawSettlingDistance = 200
 
static const int kMaxConversionAttempts = 100
 
static const int kMinSettledConversions = 8
 
static const int kInitialTouchZThreshold = 400
 
constexpr FontLayout FONT_LAYOUT_HORIZONTAL = FontLayout::kHorizontal
 
constexpr FontLayout FONT_LAYOUT_VERTICAL = FontLayout::kVertical
 
static const uint8_t font[] PROGMEM
 
static int16_t ascent = 6
 
static int16_t descent = -1
 
static int16_t linegap = 2
 
static int16_t advance = 6
 
static constexpr HAlign kLeft = HAlign(ANCHOR_MIN, ANCHOR_MIN, 0)
 Left-to-left with no shift.
 
static constexpr HAlign kCenter = HAlign(ANCHOR_MID, ANCHOR_MID, 0)
 Center-to-center with no shift.
 
static constexpr HAlign kRight = HAlign(ANCHOR_MAX, ANCHOR_MAX, 0)
 Right-to-right with no shift.
 
static constexpr HAlign kOrigin = HAlign(ANCHOR_ORIGIN, ANCHOR_ORIGIN, 0)
 Origin-to-origin with no shift.
 
static constexpr VAlign kTop = VAlign(ANCHOR_MIN, ANCHOR_MIN, 0)
 Top-to-top with no shift.
 
static constexpr VAlign kMiddle = VAlign(ANCHOR_MID, ANCHOR_MID, 0)
 Middle-to-middle with no shift.
 
static constexpr VAlign kBottom = VAlign(ANCHOR_MAX, ANCHOR_MAX, 0)
 Bottom-to-bottom with no shift.
 
static constexpr VAlign kBaseline = VAlign(ANCHOR_ORIGIN, ANCHOR_ORIGIN, 0)
 Baseline-to-baseline with no shift.
 
static constexpr Alignment kNoAlign = Alignment()
 Absolute alignment (no repositioning).
 
static const uint8_t font_NotoSans_Bold_10_data[] PROGMEM
 
static const uint8_t font_NotoSans_Bold_12_data[] PROGMEM
 
static const uint8_t font_NotoSans_Bold_15_data[] PROGMEM
 
static const uint8_t font_NotoSans_Bold_18_data[] PROGMEM
 
static const uint8_t font_NotoSans_Bold_27_data[] PROGMEM
 
static const uint8_t font_NotoSans_Bold_40_data[] PROGMEM
 
static const uint8_t font_NotoSans_Bold_60_data[] PROGMEM
 
static const uint8_t font_NotoSans_Bold_8_data[] PROGMEM
 
static const uint8_t font_NotoSans_Bold_90_data[] PROGMEM
 
static const uint8_t font_NotoSans_Regular_10_data[] PROGMEM
 
static const uint8_t font_NotoSans_Regular_12_data[] PROGMEM
 
static const uint8_t font_NotoSans_Regular_15_data[] PROGMEM
 
static const uint8_t font_NotoSans_Regular_18_data[] PROGMEM
 
static const uint8_t font_NotoSans_Regular_27_data[] PROGMEM
 
static const uint8_t font_NotoSans_Regular_40_data[] PROGMEM
 
static const uint8_t font_NotoSans_Regular_60_data[] PROGMEM
 
static const uint8_t font_NotoSans_Regular_8_data[] PROGMEM
 
static const uint8_t font_NotoSans_Regular_90_data[] PROGMEM
 
static const uint8_t font_NotoSansMono_Regular_10_data[] PROGMEM
 
static const uint8_t font_NotoSansMono_Regular_12_data[] PROGMEM
 
static const uint8_t font_NotoSansMono_Regular_15_data[] PROGMEM
 
static const uint8_t font_NotoSansMono_Regular_18_data[] PROGMEM
 
static const uint8_t font_NotoSansMono_Regular_27_data[] PROGMEM
 
static const uint8_t font_NotoSansMono_Regular_40_data[] PROGMEM
 
static const uint8_t font_NotoSansMono_Regular_60_data[] PROGMEM
 
static const uint8_t font_NotoSansMono_Regular_8_data[] PROGMEM
 
static const uint8_t font_NotoSansMono_Regular_90_data[] PROGMEM
 
static const uint8_t font_NotoSerif_Italic_10_data[] PROGMEM
 
static const uint8_t font_NotoSerif_Italic_12_data[] PROGMEM
 
static const uint8_t font_NotoSerif_Italic_15_data[] PROGMEM
 
static const uint8_t font_NotoSerif_Italic_18_data[] PROGMEM
 
static const uint8_t font_NotoSerif_Italic_27_data[] PROGMEM
 
static const uint8_t font_NotoSerif_Italic_40_data[] PROGMEM
 
static const uint8_t font_NotoSerif_Italic_60_data[] PROGMEM
 
static const uint8_t font_NotoSerif_Italic_8_data[] PROGMEM
 
static const uint8_t font_NotoSerif_Italic_90_data[] PROGMEM
 

Detailed Description

Defines 140 opaque HTML named colors.

Internal image stream implementations.

Image helpers and type aliases.

Support for drawing to in-memory buffers, using various color modes.

Utilities for buffering pixel writes before sending to device drivers.

Defines 140 opaque HTML named colors, adjusted for RGB565.

See https://www.w3schools.com/colors/colors_groups.asp.

Each color round-trips to itself when truncated to RGB565 and converted back to ARGB8888.

Buffering has a large performance impact:

  • Hardware drivers (e.g., SPI displays) can batch and optimize transfers.
  • In-memory buffers avoid per-pixel virtual calls.

Utility classes cover common patterns:

  • random pixels, sequences, lines, rectangles
  • per-pixel colors (Writer) vs single color (*Filler)
  • optional pre-clipping (Clipping variants)

Images are drawables that render a rectangular area based on data from an immutable data source. Image classes are templated on Resource, which specifies the input source (e.g., DRAM, flash, SD card). Resource helpers live in the io/ directory, but you can define your own.

Each image alias recognizes a specific data format (e.g., raster bitmap or RLE-encoded data). Every image is a Drawable; many are Streamable, and some may be Rasterizable. Streamable and Rasterizable images can be alpha-blended without full buffering. Common use: semi-transparent images over solid backgrounds. Note: for uncompressed images in native color modes, use Raster. How to implement a new Streamable image class: 1) Implement a stream type with Color next() and skip(int). 2) For full-stream images backed by memory, typedef SimpleStreamable<YourStreamType>. 3) For clipped sub-rectangles, use Clipping<SimpleStreamable<...>>. 4) For custom constructors, inherit and delegate (see XBitmap).

Use the public APIs in image.h instead of these classes directly.

Typedef Documentation

◆ BackgroundFilter

Filtering device that blends with a rasterizable background.

Definition at line 9 of file background.h.

◆ ByteOrder

using roo_display::ByteOrder = typedef roo_io::ByteOrder

Definition at line 7 of file byte_order.h.

◆ ClipperedRawStreamTypeOf

Definition at line 227 of file raw_streamable.h.

◆ ColorModeOf

Definition at line 37 of file raw_streamable.h.

◆ ColorStorageType

template<typename ColorMode >
using roo_display::ColorStorageType = typedef typename ColorTraits<ColorMode>::storage_type

Convenience alias for the raw storage type of a color mode.

Definition at line 69 of file traits.h.

◆ ConstDramRasterBE

template<typename ColorMode >
using roo_display::ConstDramRasterBE = typedef ConstDramRaster<ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian>

Definition at line 514 of file raster.h.

◆ ConstDramRasterLE

template<typename ColorMode >
using roo_display::ConstDramRasterLE = typedef ConstDramRaster<ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kLittleEndian>

Definition at line 518 of file raster.h.

◆ DefaultGpio

Definition at line 94 of file gpio.h.

◆ DisablementFilter

Filter that applies a disabled/gray appearance.

Definition at line 233 of file color_filter.h.

◆ DramRasterBE

template<typename ColorMode >
using roo_display::DramRasterBE = typedef DramRaster<ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian>

Definition at line 506 of file raster.h.

◆ DramRasterLE

template<typename ColorMode >
using roo_display::DramRasterLE = typedef DramRaster<ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kLittleEndian>

Definition at line 510 of file raster.h.

◆ FileResource

using roo_display::FileResource = typedef ::roo_io::ExtendedArduinoFileIterable

Definition at line 8 of file file.h.

◆ ForegroundFilter

Filtering device that blends with a rasterizable foreground.

Definition at line 9 of file foreground.h.

◆ Ili9341

◆ Ili9341spi

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = ili9341::DefaultSpiSettings>
using roo_display::Ili9341spi = typedef Ili9341<SpiTransport<pinCS, pinDC, pinRST, SpiSettings, Spi, DefaultGpio> >

Definition at line 232 of file ili9341.h.

◆ Ili9486

◆ Ili9486spi

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = ili9486::DefaultSpiSettings>
using roo_display::Ili9486spi = typedef Ili9486<SpiTransport<pinCS, pinDC, pinRST, SpiSettings, Spi, DefaultGpio> >

Definition at line 220 of file ili9486.h.

◆ Ili9488

◆ Ili9488spi

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = ili9488::DefaultSpiSettings>
using roo_display::Ili9488spi = typedef Ili9488<SpiTransport<pinCS, pinDC, pinRST, SpiSettings, Spi, DefaultGpio> >

Definition at line 270 of file ili9488.h.

◆ Indexed1

using roo_display::Indexed1 = typedef internal::Indexed<1>

Definition at line 196 of file color_mode_indexed.h.

◆ Indexed2

using roo_display::Indexed2 = typedef internal::Indexed<2>

Definition at line 197 of file color_mode_indexed.h.

◆ Indexed4

using roo_display::Indexed4 = typedef internal::Indexed<4>

Definition at line 198 of file color_mode_indexed.h.

◆ Indexed8

using roo_display::Indexed8 = typedef internal::Indexed<8>

Definition at line 199 of file color_mode_indexed.h.

◆ NativelyClippedRawStreamTypeOf

template<typename RawStreamable >
using roo_display::NativelyClippedRawStreamTypeOf = typedef typename decltype(std::declval<const RawStreamable>() .CreateClippedRawStream( std::declval<Box>()))::element_type

Definition at line 31 of file raw_streamable.h.

◆ OverlayFilter

Filter that super-imposes a (usually semi-transparent) overlay color.

Definition at line 217 of file color_filter.h.

◆ Pictogram

Convenience alias for small anti-aliased monochrome artwork.

Definition at line 51 of file image.h.

◆ PixelWriter

Default pixel writer type (with clipping).

Definition at line 123 of file buffered_drawing.h.

◆ ProgMemRasterBE

template<typename ColorMode >
using roo_display::ProgMemRasterBE = typedef ProgMemRaster<ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kBigEndian>

Definition at line 523 of file raster.h.

◆ ProgMemRasterLE

template<typename ColorMode >
using roo_display::ProgMemRasterLE = typedef ProgMemRaster<ColorMode, ColorPixelOrder::kMsbFirst, roo_io::kLittleEndian>

Definition at line 527 of file raster.h.

◆ RawStreamTypeOf

template<typename RawStreamable >
using roo_display::RawStreamTypeOf = typedef typename decltype(std::declval<const RawStreamable>() .createRawStream())::element_type

Definition at line 27 of file raw_streamable.h.

◆ RleImage

Run-length-encoded image for color modes with >= 8 bits per pixel.

Definition at line 40 of file image.h.

◆ RleImage4bppxBiased

RLE 4-bit image with bias for extreme values (0x0/0xF).

Definition at line 46 of file image.h.

◆ SimpleImage

template<typename Resource , typename ColorMode , ColorPixelOrder pixel_order = ColorPixelOrder::kMsbFirst, ByteOrder byte_order = roo_io::kBigEndian>
using roo_display::SimpleImage = typedef SimpleStreamable< Resource, ColorMode, RasterPixelStream<Resource, ColorMode, pixel_order, byte_order> >

Uncompressed image.

Definition at line 57 of file image.h.

◆ SimpleImageAlpha4

template<typename Resource , ColorPixelOrder pixel_order = ColorPixelOrder::kMsbFirst>
using roo_display::SimpleImageAlpha4 = typedef SimpleImage<Resource, Alpha4, pixel_order, roo_io::kBigEndian>

Uncompressed Alpha4 image.

Definition at line 108 of file image.h.

◆ SimpleImageAlpha8

Uncompressed Alpha8 image.

Definition at line 95 of file image.h.

◆ SimpleImageArgb4444

Uncompressed ARGB4444 image.

Definition at line 73 of file image.h.

◆ SimpleImageArgb6666

Uncompressed ARGB6666 image.

Definition at line 68 of file image.h.

◆ SimpleImageArgb8888

Uncompressed ARGB8888 image.

Definition at line 63 of file image.h.

◆ SimpleImageGrayscale4

template<typename Resource , ColorPixelOrder pixel_order = ColorPixelOrder::kMsbFirst>
using roo_display::SimpleImageGrayscale4 = typedef SimpleImage<Resource, Grayscale4, pixel_order, roo_io::kBigEndian>

Uncompressed Grayscale4 image.

Definition at line 102 of file image.h.

◆ SimpleImageGrayscale8

Uncompressed Grayscale8 image.

Definition at line 89 of file image.h.

◆ SimpleImageMonochrome

template<typename Resource , ColorPixelOrder pixel_order = ColorPixelOrder::kMsbFirst>
using roo_display::SimpleImageMonochrome = typedef SimpleImage<Resource, Monochrome, pixel_order, roo_io::kBigEndian>

Uncompressed monochrome image.

Definition at line 114 of file image.h.

◆ SimpleImageRgb565

Uncompressed RGB565 image.

Definition at line 78 of file image.h.

◆ SimpleImageRgb565WithTransparency

Uncompressed RGB565 image with reserved transparency.

Definition at line 83 of file image.h.

◆ Ssd1327

◆ Ssd1327spi

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = ssd1327::DefaultSpiSettings>
using roo_display::Ssd1327spi = typedef Ssd1327<SpiTransport<pinCS, pinDC, pinRST, SpiSettings, Spi, DefaultGpio> >

Definition at line 166 of file ssd1327.h.

◆ St7735_Generic

template<typename Transport , int16_t display_width, int16_t display_height, int16_t lpad = 0, int16_t tpad = 0, int16_t rpad = lpad, int16_t bpad = tpad, bool inverted = false>
using roo_display::St7735_Generic = typedef AddrWindowDevice< st77xx::St77xxTarget<Transport, st7735::Init, display_width, display_height, lpad, tpad, rpad, bpad, inverted> >

Definition at line 66 of file st7735.h.

◆ St7735spi_128x128

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7735::DefaultSpiSettings>
using roo_display::St7735spi_128x128 = typedef St7735spi_Generic<pinCS, pinDC, pinRST, 128, 128, 2, 1, 2, 3, false, Spi, SpiSettings>

Definition at line 94 of file st7735.h.

◆ St7735spi_128x160

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7735::DefaultSpiSettings>
using roo_display::St7735spi_128x160 = typedef St7735spi_Generic<pinCS, pinDC, pinRST, 128, 160, 2, 1, 2, 1, false, Spi, SpiSettings>

Definition at line 83 of file st7735.h.

◆ St7735spi_80x160_inv

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7735::DefaultSpiSettings>
using roo_display::St7735spi_80x160_inv = typedef St7735spi_Generic<pinCS, pinDC, pinRST, 80, 160, 26, 1, 26, 1, true, Spi, SpiSettings>

Definition at line 88 of file st7735.h.

◆ St7735spi_Generic

template<int pinCS, int pinDC, int pinRST, int16_t display_width, int16_t display_height, int16_t lpad = 0, int16_t tpad = 0, int16_t rpad = lpad, int16_t bpad = tpad, bool inverted = false, typename Spi = DefaultSpi, typename SpiSettings = st7735::DefaultSpiSettings, typename Gpio = DefaultGpio>
using roo_display::St7735spi_Generic = typedef St7735_Generic<SpiTransport<pinCS, pinDC, pinRST, SpiSettings, Spi, Gpio>, display_width, display_height, lpad, tpad, rpad, bpad, inverted>

Definition at line 76 of file st7735.h.

◆ St7789_Generic

Definition at line 38 of file st7789.h.

◆ St7789spi_135x240

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7789::DefaultSpiSettings, typename Gpio = DefaultGpio>
using roo_display::St7789spi_135x240 = typedef St7789spi_Generic<pinCS, pinDC, pinRST, 135, 240, 0, 40, 53, 0, Spi, SpiSettings, DefaultGpio>

Definition at line 73 of file st7789.h.

◆ St7789spi_172x320

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7789::DefaultSpiSettings, typename Gpio = DefaultGpio>
using roo_display::St7789spi_172x320 = typedef St7789spi_Generic<pinCS, pinDC, pinRST, 172, 320, 34, 0, 34, 0, Spi, SpiSettings, DefaultGpio>

Definition at line 66 of file st7789.h.

◆ St7789spi_240x240

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7789::DefaultSpiSettings>
using roo_display::St7789spi_240x240 = typedef St7789spi_Generic<pinCS, pinDC, pinRST, 240, 240, 0, 0, 0, 80, Spi, SpiSettings, DefaultGpio>

Definition at line 53 of file st7789.h.

◆ St7789spi_240x280

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7789::DefaultSpiSettings, typename Gpio = DefaultGpio>
using roo_display::St7789spi_240x280 = typedef St7789spi_Generic<pinCS, pinDC, pinRST, 240, 280, 0, 20, 0, 0, Spi, SpiSettings, Gpio>

Definition at line 60 of file st7789.h.

◆ St7789spi_Generic

template<int pinCS, int pinDC, int pinRST, int16_t display_width, int16_t display_height, int16_t lpad = 0, int16_t tpad = 0, int16_t rpad = lpad, int16_t bpad = tpad, typename Spi = DefaultSpi, typename SpiSettings = st7789::DefaultSpiSettings, typename Gpio = DefaultGpio>
using roo_display::St7789spi_Generic = typedef St7789_Generic<SpiTransport<pinCS, pinDC, pinRST, SpiSettings, Spi, Gpio>, display_width, display_height, lpad, tpad, rpad, bpad>

Definition at line 47 of file st7789.h.

◆ St7796s

◆ St7796sspi

template<int pinCS, int pinDC, int pinRST, typename Spi = DefaultSpi, typename SpiSettings = st7796s::DefaultSpiSettings, typename Gpio = DefaultGpio>
using roo_display::St7796sspi = typedef St7796s<SpiTransport<pinCS, pinDC, pinRST, SpiSettings, Spi, Gpio> >

Definition at line 85 of file st7796s.h.

◆ StreamType

Stream type produced by a resource iterable.

Definition at line 22 of file raster.h.

◆ StringView

DEPRECATED: use roo::string_view directly.

This alias may be removed in future versions of the library.

Definition at line 11 of file utf8.h.

◆ TouchXpt2046SpiSettings

◆ TranslucencyFilter

Filter that adds translucency (opaqueness in [0, 128]).

Definition at line 214 of file color_filter.h.

Enumeration Type Documentation

◆ Anchor

Anchor point used for alignment.

Enumerator
ANCHOR_ORIGIN 
ANCHOR_MIN 
ANCHOR_MID 
ANCHOR_MAX 

Definition at line 10 of file alignment.h.

◆ BlendingMode

Porter-Duff style blending modes.

Enumerator
kSource 

The new ARGB8888 value completely replaces the old one.

kSourceOver 

Source is placed (alpha-blended) over the destination. This is the default blending mode.

kSourceIn 

The source that overlaps the destination, replaces the destination.

kSourceAtop 

Source which overlaps the destination, replaces the destination. Destination is placed elsewhere.

kDestination 

Only the destination will be present.

kDestinationOver 

Destination is placed over the source.

kDestinationIn 

Destination which overlaps the source, replaces the source.

kDestinationAtop 

Destination which overlaps the source replaces the source. Source is placed elsewhere.

kClear 

No regions are enabled.

kSourceOut 

Source is placed, where it falls outside of the destination.

kDestinationOut 

Destination is placed, where it falls outside of the source.

kXor 

The non-overlapping regions of source and destination are combined.

kSourceOverOpaque 

Similar to kSourceOver, but assumes that the destination is opaque.

Don't use it directly. It is used internally by the framework, as an optimization, when it is detected that source-over is performed over an opaque background.

kDestinationOverOpaque 

Similar to kDestinationOver, but assumes that the source is opaque.

Definition at line 17 of file blending.h.

◆ ColorPixelOrder

Enumerator
kMsbFirst 
kLsbFirst 

Definition at line 10 of file pixel_order.h.

◆ ConversionResult

Enumerator
UNTOUCHED 
TOUCHED 
UNSETTLED 

Definition at line 97 of file touch_xpt2046.h.

◆ EndingStyle

Line ending style for smooth shapes.

Enumerator
ENDING_ROUNDED 
ENDING_FLAT 

Definition at line 10 of file smooth.h.

◆ FillMode

Specifies whether a Drawable should fill its entire extents box, including fully transparent pixels.

Enumerator
kExtents 

Fill the entire extents box (possibly with fully transparent pixels).

Useful when drawing over a synthetic background and you want previous content replaced with that background.

kVisible 

Fully transparent pixels do not need to be filled.

Definition at line 15 of file drawable.h.

◆ FontLayout

Glyph layout direction.

Enumerator
kHorizontal 
kVertical 

Definition at line 16 of file font.h.

◆ SpiBitOrder

Enumerator
kSpiLsbFirst 
kSpiMsbFirst 

Definition at line 7 of file spi_settings.h.

◆ SpiDataMode

Enumerator
kSpiMode0 
kSpiMode1 
kSpiMode2 
kSpiMode3 

Definition at line 5 of file spi_settings.h.

◆ TransparencyMode

Transparency information for a stream or color mode.

Enumerator
kNone 

All colors are fully opaque.

kCrude 

Colors are either fully opaque or fully transparent.

kFull 

Colors may include partial transparency (alpha channel).

Definition at line 103 of file blending.h.

Function Documentation

◆ AlphaBlend()

◆ AlphaBlendOverOpaque()

◆ ApplyBlending()

Color roo_display::ApplyBlending ( BlendingMode  mode,
Color  dst,
Color  src 
)
inline

Definition at line 554 of file blending.h.

Referenced by roo_display::RasterizableStack::readColorRect().

◆ ApplyBlendingInPlace()

void roo_display::ApplyBlendingInPlace ( BlendingMode  mode,
Color dst,
const Color src,
int16_t  count 
)
inline

◆ ApplyBlendingInPlaceIndexed()

void roo_display::ApplyBlendingInPlaceIndexed ( BlendingMode  mode,
Color dst,
const Color src,
int16_t  count,
const uint32_t index 
)
inline

◆ ApplyBlendingOverBackground()

void roo_display::ApplyBlendingOverBackground ( BlendingMode  mode,
Color  bg,
Color src,
int16_t  count 
)
inline

Definition at line 588 of file blending.h.

References roo_display::internal::BlenderSpecialization().

◆ ApplyBlendingSingleSourceInPlace()

void roo_display::ApplyBlendingSingleSourceInPlace ( BlendingMode  mode,
Color dst,
Color  src,
int16_t  count 
)
inline

◆ ApplyRawFullByteBlending() [1/2]

template<typename ColorMode , roo_io::ByteOrder byte_order>
void roo_display::ApplyRawFullByteBlending ( BlendingMode  blending_mode,
roo::byte *  dst,
Color  src,
ColorMode &  color_mode 
)
inline

Definition at line 717 of file blending.h.

References roo_display::internal::BlenderSpecialization(), and blending_mode.

◆ ApplyRawFullByteBlending() [2/2]

template<typename ColorMode , roo_io::ByteOrder byte_order>
void roo_display::ApplyRawFullByteBlending ( BlendingMode  blending_mode,
roo::byte *  dst,
Color  src,
const ColorMode &  color_mode 
)
inline

Definition at line 708 of file blending.h.

References roo_display::internal::BlenderSpecialization(), and blending_mode.

◆ ApplyRawSubByteBlending() [1/2]

template<typename ColorMode >
ColorStorageType< ColorMode > roo_display::ApplyRawSubByteBlending ( BlendingMode  blending_mode,
uint8_t  dst,
Color  src,
ColorMode &  color_mode 
)
inline

Definition at line 738 of file blending.h.

References roo_display::internal::BlenderSpecialization(), and blending_mode.

◆ ApplyRawSubByteBlending() [2/2]

◆ async_blit()

void roo_display::async_blit ( const roo::byte *  src_ptr,
size_t  src_stride,
roo::byte *  dst_ptr,
size_t  dst_stride,
size_t  width,
size_t  height 
)

◆ async_blit_await()

void roo_display::async_blit_await ( )

Definition at line 15 of file async_blit.cpp.

◆ async_blit_deinit()

void roo_display::async_blit_deinit ( )

Definition at line 13 of file async_blit.cpp.

◆ async_blit_init()

void roo_display::async_blit_init ( )

Definition at line 11 of file async_blit.cpp.

◆ blit()

void roo_display::blit ( const roo::byte *  src_ptr,
size_t  src_stride,
roo::byte *  dst_ptr,
size_t  dst_stride,
size_t  width,
size_t  height 
)

◆ blit_deinit()

void roo_display::blit_deinit ( )

Definition at line 13 of file blit.cpp.

◆ blit_init()

void roo_display::blit_init ( )

Definition at line 11 of file blit.cpp.

◆ Clipped()

template<typename RawStreamable >
Clipping< RawStreamable > roo_display::Clipped ( const Box clip_box,
RawStreamable  streamable 
)

Definition at line 443 of file raw_streamable.h.

◆ CreateClippedRawStreamFor()

◆ drawAdafruitFixed5x7Glyph()

◆ drawEllipse()

template<typename PixelFiller >
void roo_display::drawEllipse ( PixelFiller drawer,
int16_t  x0,
int16_t  y0,
int16_t  rx,
int16_t  ry 
)

Definition at line 383 of file basic.cpp.

◆ drawHLine()

void roo_display::drawHLine ( DisplayOutput device,
int16_t  x0,
int16_t  y0,
int16_t  x1,
Color  color,
const Box clip_box,
BlendingMode  mode 
)

◆ drawNonSteepLine()

template<typename HLineFiller >
void roo_display::drawNonSteepLine ( HLineFiller drawer,
int16_t  x0,
int16_t  y0,
int16_t  x1,
int16_t  y1,
bool  flip_diag 
)

Definition at line 7 of file basic.cpp.

◆ drawRoundRect()

void roo_display::drawRoundRect ( DisplayOutput output,
const Box bbox,
int16_t  radius,
const Box clip_box,
Color  color,
BlendingMode  mode 
)

◆ drawRoundRectTmpl()

template<typename RectFiller >
void roo_display::drawRoundRectTmpl ( RectFiller filler,
int16_t  x0,
int16_t  y0,
int  x1,
int  y1,
int16_t  r 
)

Definition at line 190 of file basic.cpp.

References r.

Referenced by drawRoundRect().

◆ drawSteepLine()

template<typename VLineFiller >
void roo_display::drawSteepLine ( VLineFiller drawer,
int16_t  x0,
int16_t  y0,
int16_t  x1,
int16_t  y1,
bool  flip_diag 
)

Definition at line 29 of file basic.cpp.

◆ drawVLine()

void roo_display::drawVLine ( DisplayOutput device,
int16_t  x0,
int16_t  y0,
int16_t  y1,
Color  color,
const Box clip_box,
BlendingMode  mode 
)

◆ FillColor()

◆ fillHlinesAbsoluteImpl()

template<typename Filler >
void roo_display::fillHlinesAbsoluteImpl ( Filler fill,
roo::byte *  buffer,
int16_t  width,
int16_t x0,
int16_t y0,
int16_t x1,
uint16_t  count 
)

Definition at line 1631 of file offscreen.h.

◆ fillRectsAbsoluteImpl()

template<typename Filler >
void roo_display::fillRectsAbsoluteImpl ( Filler fill,
roo::byte *  buffer,
int16_t  width,
int16_t x0,
int16_t y0,
int16_t x1,
int16_t y1,
uint32_t  count 
)

Definition at line 1608 of file offscreen.h.

◆ fillRoundRect()

void roo_display::fillRoundRect ( DisplayOutput output,
const Box bbox,
int16_t  radius,
const Box clip_box,
Color  color,
BlendingMode  mode 
)

◆ fillRoundRectBg()

void roo_display::fillRoundRectBg ( DisplayOutput output,
const Box bbox,
int16_t  radius,
const Box clip_box,
Color  bgcolor,
BlendingMode  mode 
)

◆ fillRoundRectCorners()

template<typename HlineFiller >
void roo_display::fillRoundRectCorners ( HlineFiller filler,
int16_t  x0,
int16_t  y0,
int  x1,
int  y1,
int16_t  r 
)

Definition at line 228 of file basic.cpp.

References r.

Referenced by fillRoundRect().

◆ fillRoundRectOutsideCorners()

template<typename HlineFiller >
void roo_display::fillRoundRectOutsideCorners ( HlineFiller filler,
int16_t  x0,
int16_t  y0,
int  x1,
int  y1,
int16_t  r 
)

Definition at line 259 of file basic.cpp.

References r.

Referenced by fillRoundRectBg().

◆ fillTriangle()

template<typename HLineFiller >
void roo_display::fillTriangle ( HLineFiller drawer,
int16_t  x0,
int16_t  y0,
int16_t  x1,
int16_t  y1,
int16_t  x2,
int16_t  y2 
)

Definition at line 425 of file basic.cpp.

◆ fillVlinesAbsoluteImpl()

template<typename Filler >
void roo_display::fillVlinesAbsoluteImpl ( Filler fill,
roo::byte *  buffer,
int16_t  width,
int16_t x0,
int16_t y0,
int16_t y1,
uint16_t  count 
)

Definition at line 1641 of file offscreen.h.

◆ floor_div()

int roo_display::floor_div ( int  a,
int  b 
)

Definition at line 140 of file transformation.cpp.

References r.

Referenced by roo_display::Transformation::smallestEnclosingRect().

◆ font_NotoSans_Bold_10()

const Font & roo_display::font_NotoSans_Bold_10 ( )

Definition at line 1773 of file 10.cpp.

◆ font_NotoSans_Bold_12()

const Font & roo_display::font_NotoSans_Bold_12 ( )

Definition at line 1916 of file 12.cpp.

◆ font_NotoSans_Bold_15()

const Font & roo_display::font_NotoSans_Bold_15 ( )

Definition at line 2203 of file 15.cpp.

◆ font_NotoSans_Bold_18()

const Font & roo_display::font_NotoSans_Bold_18 ( )

Definition at line 2617 of file 18.cpp.

◆ font_NotoSans_Bold_27()

const Font & roo_display::font_NotoSans_Bold_27 ( )

Definition at line 3776 of file 27.cpp.

◆ font_NotoSans_Bold_40()

const Font & roo_display::font_NotoSans_Bold_40 ( )

Definition at line 4969 of file 40.cpp.

◆ font_NotoSans_Bold_60()

const Font & roo_display::font_NotoSans_Bold_60 ( )

Definition at line 7552 of file 60.cpp.

◆ font_NotoSans_Bold_8()

const Font & roo_display::font_NotoSans_Bold_8 ( )

Definition at line 1401 of file 8.cpp.

◆ font_NotoSans_Bold_90()

const Font & roo_display::font_NotoSans_Bold_90 ( )

Definition at line 11408 of file 90.cpp.

◆ font_NotoSans_BoldItalic_10()

const Font & roo_display::font_NotoSans_BoldItalic_10 ( )

◆ font_NotoSans_BoldItalic_12()

const Font & roo_display::font_NotoSans_BoldItalic_12 ( )

◆ font_NotoSans_BoldItalic_15()

const Font & roo_display::font_NotoSans_BoldItalic_15 ( )

◆ font_NotoSans_BoldItalic_18()

const Font & roo_display::font_NotoSans_BoldItalic_18 ( )

◆ font_NotoSans_BoldItalic_27()

const Font & roo_display::font_NotoSans_BoldItalic_27 ( )

◆ font_NotoSans_BoldItalic_40()

const Font & roo_display::font_NotoSans_BoldItalic_40 ( )

◆ font_NotoSans_BoldItalic_60()

const Font & roo_display::font_NotoSans_BoldItalic_60 ( )

◆ font_NotoSans_BoldItalic_8()

const Font & roo_display::font_NotoSans_BoldItalic_8 ( )

◆ font_NotoSans_BoldItalic_90()

const Font & roo_display::font_NotoSans_BoldItalic_90 ( )

◆ font_NotoSans_Condensed_10()

const Font & roo_display::font_NotoSans_Condensed_10 ( )

◆ font_NotoSans_Condensed_12()

const Font & roo_display::font_NotoSans_Condensed_12 ( )

◆ font_NotoSans_Condensed_15()

const Font & roo_display::font_NotoSans_Condensed_15 ( )

◆ font_NotoSans_Condensed_18()

const Font & roo_display::font_NotoSans_Condensed_18 ( )

◆ font_NotoSans_Condensed_27()

const Font & roo_display::font_NotoSans_Condensed_27 ( )

◆ font_NotoSans_Condensed_40()

const Font & roo_display::font_NotoSans_Condensed_40 ( )

◆ font_NotoSans_Condensed_60()

const Font & roo_display::font_NotoSans_Condensed_60 ( )

◆ font_NotoSans_Condensed_8()

const Font & roo_display::font_NotoSans_Condensed_8 ( )

◆ font_NotoSans_Condensed_90()

const Font & roo_display::font_NotoSans_Condensed_90 ( )

◆ font_NotoSans_CondensedBold_10()

const Font & roo_display::font_NotoSans_CondensedBold_10 ( )

◆ font_NotoSans_CondensedBold_12()

const Font & roo_display::font_NotoSans_CondensedBold_12 ( )

◆ font_NotoSans_CondensedBold_15()

const Font & roo_display::font_NotoSans_CondensedBold_15 ( )

◆ font_NotoSans_CondensedBold_18()

const Font & roo_display::font_NotoSans_CondensedBold_18 ( )

◆ font_NotoSans_CondensedBold_27()

const Font & roo_display::font_NotoSans_CondensedBold_27 ( )

◆ font_NotoSans_CondensedBold_40()

const Font & roo_display::font_NotoSans_CondensedBold_40 ( )

◆ font_NotoSans_CondensedBold_60()

const Font & roo_display::font_NotoSans_CondensedBold_60 ( )

◆ font_NotoSans_CondensedBold_8()

const Font & roo_display::font_NotoSans_CondensedBold_8 ( )

◆ font_NotoSans_CondensedBold_90()

const Font & roo_display::font_NotoSans_CondensedBold_90 ( )

◆ font_NotoSans_CondensedItalic_10()

const Font & roo_display::font_NotoSans_CondensedItalic_10 ( )

◆ font_NotoSans_CondensedItalic_12()

const Font & roo_display::font_NotoSans_CondensedItalic_12 ( )

◆ font_NotoSans_CondensedItalic_15()

const Font & roo_display::font_NotoSans_CondensedItalic_15 ( )

◆ font_NotoSans_CondensedItalic_18()

const Font & roo_display::font_NotoSans_CondensedItalic_18 ( )

◆ font_NotoSans_CondensedItalic_27()

const Font & roo_display::font_NotoSans_CondensedItalic_27 ( )

◆ font_NotoSans_CondensedItalic_40()

const Font & roo_display::font_NotoSans_CondensedItalic_40 ( )

◆ font_NotoSans_CondensedItalic_60()

const Font & roo_display::font_NotoSans_CondensedItalic_60 ( )

◆ font_NotoSans_CondensedItalic_8()

const Font & roo_display::font_NotoSans_CondensedItalic_8 ( )

◆ font_NotoSans_CondensedItalic_90()

const Font & roo_display::font_NotoSans_CondensedItalic_90 ( )

◆ font_NotoSans_Italic_10()

const Font & roo_display::font_NotoSans_Italic_10 ( )

◆ font_NotoSans_Italic_12()

const Font & roo_display::font_NotoSans_Italic_12 ( )

◆ font_NotoSans_Italic_15()

const Font & roo_display::font_NotoSans_Italic_15 ( )

◆ font_NotoSans_Italic_18()

const Font & roo_display::font_NotoSans_Italic_18 ( )

◆ font_NotoSans_Italic_27()

const Font & roo_display::font_NotoSans_Italic_27 ( )

◆ font_NotoSans_Italic_40()

const Font & roo_display::font_NotoSans_Italic_40 ( )

◆ font_NotoSans_Italic_60()

const Font & roo_display::font_NotoSans_Italic_60 ( )

◆ font_NotoSans_Italic_8()

const Font & roo_display::font_NotoSans_Italic_8 ( )

◆ font_NotoSans_Italic_90()

const Font & roo_display::font_NotoSans_Italic_90 ( )

◆ font_NotoSans_Regular_10()

const Font & roo_display::font_NotoSans_Regular_10 ( )

Definition at line 1727 of file 10.cpp.

◆ font_NotoSans_Regular_12()

const Font & roo_display::font_NotoSans_Regular_12 ( )

Definition at line 1847 of file 12.cpp.

◆ font_NotoSans_Regular_15()

const Font & roo_display::font_NotoSans_Regular_15 ( )

Definition at line 2114 of file 15.cpp.

◆ font_NotoSans_Regular_18()

const Font & roo_display::font_NotoSans_Regular_18 ( )

Definition at line 2522 of file 18.cpp.

◆ font_NotoSans_Regular_27()

const Font & roo_display::font_NotoSans_Regular_27 ( )

Definition at line 3762 of file 27.cpp.

◆ font_NotoSans_Regular_40()

const Font & roo_display::font_NotoSans_Regular_40 ( )

Definition at line 5080 of file 40.cpp.

◆ font_NotoSans_Regular_60()

const Font & roo_display::font_NotoSans_Regular_60 ( )

Definition at line 7373 of file 60.cpp.

◆ font_NotoSans_Regular_8()

const Font & roo_display::font_NotoSans_Regular_8 ( )

Definition at line 1415 of file 8.cpp.

◆ font_NotoSans_Regular_90()

const Font & roo_display::font_NotoSans_Regular_90 ( )

Definition at line 11128 of file 90.cpp.

◆ font_NotoSansMono_Bold_10()

const Font & roo_display::font_NotoSansMono_Bold_10 ( )

◆ font_NotoSansMono_Bold_12()

const Font & roo_display::font_NotoSansMono_Bold_12 ( )

◆ font_NotoSansMono_Bold_15()

const Font & roo_display::font_NotoSansMono_Bold_15 ( )

◆ font_NotoSansMono_Bold_18()

const Font & roo_display::font_NotoSansMono_Bold_18 ( )

◆ font_NotoSansMono_Bold_27()

const Font & roo_display::font_NotoSansMono_Bold_27 ( )

◆ font_NotoSansMono_Bold_40()

const Font & roo_display::font_NotoSansMono_Bold_40 ( )

◆ font_NotoSansMono_Bold_60()

const Font & roo_display::font_NotoSansMono_Bold_60 ( )

◆ font_NotoSansMono_Bold_8()

const Font & roo_display::font_NotoSansMono_Bold_8 ( )

◆ font_NotoSansMono_Bold_90()

const Font & roo_display::font_NotoSansMono_Bold_90 ( )

◆ font_NotoSansMono_Regular_10()

const Font & roo_display::font_NotoSansMono_Regular_10 ( )

Definition at line 1410 of file 10.cpp.

◆ font_NotoSansMono_Regular_12()

const Font & roo_display::font_NotoSansMono_Regular_12 ( )

Definition at line 1530 of file 12.cpp.

◆ font_NotoSansMono_Regular_15()

const Font & roo_display::font_NotoSansMono_Regular_15 ( )

Definition at line 1722 of file 15.cpp.

◆ font_NotoSansMono_Regular_18()

const Font & roo_display::font_NotoSansMono_Regular_18 ( )

Definition at line 2026 of file 18.cpp.

◆ font_NotoSansMono_Regular_27()

const Font & roo_display::font_NotoSansMono_Regular_27 ( )

Definition at line 2857 of file 27.cpp.

◆ font_NotoSansMono_Regular_40()

const Font & roo_display::font_NotoSansMono_Regular_40 ( )

Definition at line 4152 of file 40.cpp.

◆ font_NotoSansMono_Regular_60()

const Font & roo_display::font_NotoSansMono_Regular_60 ( )

Definition at line 6328 of file 60.cpp.

◆ font_NotoSansMono_Regular_8()

const Font & roo_display::font_NotoSansMono_Regular_8 ( )

Definition at line 1318 of file 8.cpp.

◆ font_NotoSansMono_Regular_90()

const Font & roo_display::font_NotoSansMono_Regular_90 ( )

Definition at line 9988 of file 90.cpp.

◆ font_NotoSerif_Bold_10()

const Font & roo_display::font_NotoSerif_Bold_10 ( )

◆ font_NotoSerif_Bold_12()

const Font & roo_display::font_NotoSerif_Bold_12 ( )

◆ font_NotoSerif_Bold_15()

const Font & roo_display::font_NotoSerif_Bold_15 ( )

◆ font_NotoSerif_Bold_18()

const Font & roo_display::font_NotoSerif_Bold_18 ( )

◆ font_NotoSerif_Bold_27()

const Font & roo_display::font_NotoSerif_Bold_27 ( )

◆ font_NotoSerif_Bold_40()

const Font & roo_display::font_NotoSerif_Bold_40 ( )

◆ font_NotoSerif_Bold_60()

const Font & roo_display::font_NotoSerif_Bold_60 ( )

◆ font_NotoSerif_Bold_8()

const Font & roo_display::font_NotoSerif_Bold_8 ( )

◆ font_NotoSerif_Bold_90()

const Font & roo_display::font_NotoSerif_Bold_90 ( )

◆ font_NotoSerif_BoldItalic_10()

const Font & roo_display::font_NotoSerif_BoldItalic_10 ( )

◆ font_NotoSerif_BoldItalic_12()

const Font & roo_display::font_NotoSerif_BoldItalic_12 ( )

◆ font_NotoSerif_BoldItalic_15()

const Font & roo_display::font_NotoSerif_BoldItalic_15 ( )

◆ font_NotoSerif_BoldItalic_18()

const Font & roo_display::font_NotoSerif_BoldItalic_18 ( )

◆ font_NotoSerif_BoldItalic_27()

const Font & roo_display::font_NotoSerif_BoldItalic_27 ( )

◆ font_NotoSerif_BoldItalic_40()

const Font & roo_display::font_NotoSerif_BoldItalic_40 ( )

◆ font_NotoSerif_BoldItalic_60()

const Font & roo_display::font_NotoSerif_BoldItalic_60 ( )

◆ font_NotoSerif_BoldItalic_8()

const Font & roo_display::font_NotoSerif_BoldItalic_8 ( )

◆ font_NotoSerif_BoldItalic_90()

const Font & roo_display::font_NotoSerif_BoldItalic_90 ( )

◆ font_NotoSerif_Condensed_10()

const Font & roo_display::font_NotoSerif_Condensed_10 ( )

◆ font_NotoSerif_Condensed_12()

const Font & roo_display::font_NotoSerif_Condensed_12 ( )

◆ font_NotoSerif_Condensed_15()

const Font & roo_display::font_NotoSerif_Condensed_15 ( )

◆ font_NotoSerif_Condensed_18()

const Font & roo_display::font_NotoSerif_Condensed_18 ( )

◆ font_NotoSerif_Condensed_27()

const Font & roo_display::font_NotoSerif_Condensed_27 ( )

◆ font_NotoSerif_Condensed_40()

const Font & roo_display::font_NotoSerif_Condensed_40 ( )

◆ font_NotoSerif_Condensed_60()

const Font & roo_display::font_NotoSerif_Condensed_60 ( )

◆ font_NotoSerif_Condensed_8()

const Font & roo_display::font_NotoSerif_Condensed_8 ( )

◆ font_NotoSerif_Condensed_90()

const Font & roo_display::font_NotoSerif_Condensed_90 ( )

◆ font_NotoSerif_CondensedItalic_10()

const Font & roo_display::font_NotoSerif_CondensedItalic_10 ( )

◆ font_NotoSerif_CondensedItalic_12()

const Font & roo_display::font_NotoSerif_CondensedItalic_12 ( )

◆ font_NotoSerif_CondensedItalic_15()

const Font & roo_display::font_NotoSerif_CondensedItalic_15 ( )

◆ font_NotoSerif_CondensedItalic_18()

const Font & roo_display::font_NotoSerif_CondensedItalic_18 ( )

◆ font_NotoSerif_CondensedItalic_27()

const Font & roo_display::font_NotoSerif_CondensedItalic_27 ( )

◆ font_NotoSerif_CondensedItalic_40()

const Font & roo_display::font_NotoSerif_CondensedItalic_40 ( )

◆ font_NotoSerif_CondensedItalic_60()

const Font & roo_display::font_NotoSerif_CondensedItalic_60 ( )

◆ font_NotoSerif_CondensedItalic_8()

const Font & roo_display::font_NotoSerif_CondensedItalic_8 ( )

◆ font_NotoSerif_CondensedItalic_90()

const Font & roo_display::font_NotoSerif_CondensedItalic_90 ( )

◆ font_NotoSerif_Italic_10()

const Font & roo_display::font_NotoSerif_Italic_10 ( )

Definition at line 1868 of file 10.cpp.

◆ font_NotoSerif_Italic_12()

const Font & roo_display::font_NotoSerif_Italic_12 ( )

Definition at line 2039 of file 12.cpp.

◆ font_NotoSerif_Italic_15()

const Font & roo_display::font_NotoSerif_Italic_15 ( )

Definition at line 2442 of file 15.cpp.

◆ font_NotoSerif_Italic_18()

const Font & roo_display::font_NotoSerif_Italic_18 ( )

Definition at line 2828 of file 18.cpp.

◆ font_NotoSerif_Italic_27()

const Font & roo_display::font_NotoSerif_Italic_27 ( )

Definition at line 4710 of file 27.cpp.

◆ font_NotoSerif_Italic_40()

const Font & roo_display::font_NotoSerif_Italic_40 ( )

Definition at line 5958 of file 40.cpp.

◆ font_NotoSerif_Italic_60()

const Font & roo_display::font_NotoSerif_Italic_60 ( )

Definition at line 8759 of file 60.cpp.

◆ font_NotoSerif_Italic_8()

const Font & roo_display::font_NotoSerif_Italic_8 ( )

Definition at line 1535 of file 8.cpp.

◆ font_NotoSerif_Italic_90()

const Font & roo_display::font_NotoSerif_Italic_90 ( )

Definition at line 13143 of file 90.cpp.

◆ font_NotoSerif_Regular_10()

const Font & roo_display::font_NotoSerif_Regular_10 ( )

◆ font_NotoSerif_Regular_12()

const Font & roo_display::font_NotoSerif_Regular_12 ( )

◆ font_NotoSerif_Regular_15()

const Font & roo_display::font_NotoSerif_Regular_15 ( )

◆ font_NotoSerif_Regular_18()

const Font & roo_display::font_NotoSerif_Regular_18 ( )

◆ font_NotoSerif_Regular_27()

const Font & roo_display::font_NotoSerif_Regular_27 ( )

◆ font_NotoSerif_Regular_40()

const Font & roo_display::font_NotoSerif_Regular_40 ( )

◆ font_NotoSerif_Regular_60()

const Font & roo_display::font_NotoSerif_Regular_60 ( )

◆ font_NotoSerif_Regular_8()

const Font & roo_display::font_NotoSerif_Regular_8 ( )

◆ font_NotoSerif_Regular_90()

const Font & roo_display::font_NotoSerif_Regular_90 ( )

◆ get_raw_touch_xy()

template<typename Spi >
void roo_display::get_raw_touch_xy ( Spi spi,
uint16_t x,
uint16_t y 
)

Definition at line 75 of file touch_xpt2046.h.

Referenced by single_conversion().

◆ get_raw_touch_z()

template<typename Spi >
uint16_t roo_display::get_raw_touch_z ( Spi spi)

Definition at line 89 of file touch_xpt2046.h.

Referenced by single_conversion().

◆ Graylevel()

constexpr Color roo_display::Graylevel ( uint8_t  level)
inlineconstexpr

Return an opaque gray with r = g = b = level.

Definition at line 122 of file color.h.

◆ HorizontalGradient()

LinearGradient roo_display::HorizontalGradient ( int16_t  y0,
float  dy,
ColorGradient  gradient,
Box  extents = Box::MaximumBox() 
)
inline

Create a horizontal gradient: $val = (y - y0) * dy$.

Definition at line 156 of file gradient.h.

◆ HsvToRgb()

Color roo_display::HsvToRgb ( float  h,
float  s,
float  v 
)

Convert HSV (h, s, v) to an RGB Color.

Definition at line 7 of file hsv.cpp.

◆ indexSearch()

template<int encoding_bytes>
const roo::byte *PROGMEM roo_display::indexSearch ( char32_t  c,
const roo::byte *PROGMEM  data,
int  glyph_size,
int  start,
int  stop 
)

Definition at line 634 of file smooth_font.cpp.

References PROGMEM.

◆ InterpolateColors()

Color roo_display::InterpolateColors ( Color  c1,
Color  c2,
int16_t  fraction 
)

Interpolate between two colors with fraction in [0, 256].

0 means result = c1; 256 means result = c2; 128 means 50/50.

Definition at line 5 of file interpolation.cpp.

Referenced by roo_display::ColorGradient::getColor(), roo_display::RawColorInterpolator< ColorMode >::operator()(), and roo_display::TransformedRaster< RasterType, TransformationType >::readColors().

◆ InterpolateColorWithTransparency()

Color roo_display::InterpolateColorWithTransparency ( Color  c,
int16_t  fraction_color 
)

Equivalent to InterpolateColors(Transparent, c, fraction_color).

Definition at line 53 of file interpolation.cpp.

◆ InterpolateOpaqueColors()

Color roo_display::InterpolateOpaqueColors ( Color  c1,
Color  c2,
int16_t  fraction 
)

Interpolate between two opaque colors with fraction in [0, 256].

Definition at line 39 of file interpolation.cpp.

Referenced by roo_display::RawColorInterpolator< ColorMode >::operator()().

◆ InterpolateOpaqueColorWithTransparency()

Color roo_display::InterpolateOpaqueColorWithTransparency ( Color  c,
int16_t  fraction_color 
)
inline

Equivalent to InterpolateColors(Transparent, c, fraction_color) for opaque c.

Definition at line 22 of file interpolation.h.

◆ is_space()

◆ jpeg_draw_rect()

int roo_display::jpeg_draw_rect ( JDEC jdec,
void data,
JRECT rect 
)

Definition at line 37 of file jpeg.cpp.

◆ jpeg_read()

size_t roo_display::jpeg_read ( JDEC jdec,
uint8_t buf,
size_t  size 
)

Definition at line 27 of file jpeg.cpp.

◆ kernIndexSearch()

template<int encoding_bytes>
const roo::byte *PROGMEM roo_display::kernIndexSearch ( uint32_t  lookup,
const roo::byte *PROGMEM  data,
int  kern_size,
int  start,
int  stop 
)

Definition at line 660 of file smooth_font.cpp.

References PROGMEM.

◆ MakeDrawableRawStreamable()

template<typename RawStreamable >
DrawableRawStreamable< RawStreamable > roo_display::MakeDrawableRawStreamable ( RawStreamable  streamable)

Definition at line 349 of file raw_streamable.h.

Referenced by streamToSurface().

◆ MakeNewDrawableRawStreamable()

template<typename RawStreamable >
Drawable * roo_display::MakeNewDrawableRawStreamable ( RawStreamable  streamable)

Definition at line 355 of file raw_streamable.h.

◆ MakeRasterizable()

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

Create a SimpleRasterizable from a getter function.

Definition at line 84 of file rasterizable.h.

◆ MakeTiledRaster() [1/2]

template<typename Raster >
SimpleTiledRasterizable< const Raster & > roo_display::MakeTiledRaster ( const Raster raster)

◆ MakeTiledRaster() [2/2]

template<typename Raster >
SimpleTiledRasterizable< const Raster & > roo_display::MakeTiledRaster ( const Raster raster,
int16_t  x_offset,
int16_t  y_offset 
)

◆ MakeTiledRasterizable()

template<typename Getter >
SimpleTiledRasterizable< Getter > roo_display::MakeTiledRasterizable ( Box  extents,
Getter  getter,
TransparencyMode  transparency = TransparencyMode::kFull 
)

Create a tiled rasterizable from a getter function.

Definition at line 133 of file rasterizable.h.

◆ MakeTileOf()

template<typename DrawableType >
TileOf< DrawableType > roo_display::MakeTileOf ( DrawableType  interior,
Box  extents,
Alignment  alignment = kNoAlign,
Color  bgcolor = color::Background 
)

Convenience factory for a TileOf.

Definition at line 121 of file tile.h.

References bgcolor.

◆ OffscreenForDevice()

template<typename Device , typename... Args>
auto roo_display::OffscreenForDevice ( const Device &  device,
Args &&...  args 
) -> Offscreen<typename Device::ColorMode, Device::pixel_order, Device::byte_order>

Definition at line 662 of file offscreen.h.

◆ operator!=() [1/3]

bool roo_display::operator!= ( const Box a,
const Box b 
)
inline

Inequality operator for boxes.

Definition at line 176 of file box.h.

◆ operator!=() [2/3]

constexpr bool roo_display::operator!= ( const Color a,
const Color b 
)
inlineconstexpr

Inequality operator for colors.

Definition at line 104 of file color.h.

References roo_display::Color::asArgb().

◆ operator!=() [3/3]

Definition at line 204 of file orientation.h.

◆ operator<<() [1/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  os,
BlendingMode  mode 
)

Definition at line 54 of file blending.cpp.

◆ operator<<() [2/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  os,
Box::ClipResult  clip_result 
)

Logging operator for box clip results.

Definition at line 11 of file box.cpp.

References roo_display::Box::kEmpty, roo_display::Box::kReduced, and roo_display::Box::kUnchanged.

◆ operator<<() [3/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  os,
ColorGradient::Boundary  boundary 
)

◆ operator<<() [4/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  os,
ColorPixelOrder  order 
)

Definition at line 19 of file pixel_order.cpp.

◆ operator<<() [5/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  os,
const Box box 
)

Logging operator for boxes.

Definition at line 5 of file box.cpp.

◆ operator<<() [6/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  os,
FillMode  mode 
)

Definition at line 26 of file drawable.cpp.

◆ operator<<() [7/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  os,
TransparencyMode  mode 
)

Definition at line 58 of file blending.cpp.

◆ operator<<() [8/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  stream,
FontLayout  layout 
)

Definition at line 16 of file font.cpp.

References kHorizontal, and kVertical.

◆ operator<<() [9/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  stream,
FontProperties::Charset  charset 
)

◆ operator<<() [10/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  stream,
FontProperties::Kerning  kerning 
)

◆ operator<<() [11/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  stream,
FontProperties::Smoothing  smoothing 
)

◆ operator<<() [12/12]

roo_logging::Stream & roo_display::operator<< ( roo_logging::Stream &  stream,
FontProperties::Spacing  spacing 
)

◆ operator==() [1/3]

bool roo_display::operator== ( const Box a,
const Box b 
)
inline

Equality operator for boxes.

Definition at line 170 of file box.h.

References roo_display::Box::xMax(), roo_display::Box::xMin(), roo_display::Box::yMax(), and roo_display::Box::yMin().

◆ operator==() [2/3]

constexpr bool roo_display::operator== ( const Color a,
const Color b 
)
inlineconstexpr

Equality operator for colors.

Definition at line 99 of file color.h.

References roo_display::Color::asArgb().

◆ operator==() [3/3]

Definition at line 200 of file orientation.h.

◆ operator|() [1/2]

constexpr Alignment roo_display::operator| ( HAlign  h,
VAlign  v 
)
inlineconstexpr

Combine horizontal and vertical alignments.

Definition at line 214 of file alignment.h.

◆ operator|() [2/2]

constexpr Alignment roo_display::operator| ( VAlign  v,
HAlign  h 
)
inlineconstexpr

Combine vertical and horizontal alignments.

Definition at line 219 of file alignment.h.

◆ Overlay() [1/2]

template<typename Bg , typename Fg >
internal::Superposition< Bg, Fg > roo_display::Overlay ( Bg  bg,
int16_t  bg_x,
int16_t  bg_y,
Fg  fg,
int16_t  fg_x,
int16_t  fg_y 
)

Definition at line 214 of file raw_streamable_overlay.h.

◆ Overlay() [2/2]

template<typename Bg , typename Fg >
internal::Superposition< Bg, Fg > roo_display::Overlay ( Box  anchor_extents,
Bg  bg,
Alignment  bg_align,
Fg  fg,
Alignment  fg_align 
)

Definition at line 222 of file raw_streamable_overlay.h.

◆ Perspective()

ProjectiveTransformation roo_display::Perspective ( float  px,
float  py 
)

Return a perspective transformation rooted at the origin.

Maps (x, y) to (x / d, y / d), where d = 1 + px * x + py * y.

Definition at line 95 of file smooth_transformation.cpp.

Referenced by PerspectiveAbout().

◆ PerspectiveAbout()

ProjectiveTransformation roo_display::PerspectiveAbout ( float  px,
float  py,
const FpPoint base 
)

Return a perspective transformation rooted at base.

Definition at line 100 of file smooth_transformation.cpp.

References Perspective(), roo_display::Translation::then(), and Translate().

◆ png_draw()

◆ png_read()

int32_t roo_display::png_read ( PNGFILE pFile,
uint8_t pBuf,
int32_t  iLen 
)

Definition at line 14 of file png.cpp.

◆ png_seek()

int32_t roo_display::png_seek ( PNGFILE pFile,
int32_t  iPosition 
)

Definition at line 19 of file png.cpp.

◆ read_glyph_index()

static uint16_t roo_display::read_glyph_index ( const roo::byte *PROGMEM  address,
int  index_bytes 
)
static

Definition at line 826 of file smooth_font_v2.cpp.

References pgm_read_byte, and readUWord().

◆ read_unicode()

template<int encoding_bytes>
char32_t roo_display::read_unicode ( const roo::byte *PROGMEM  address)

◆ read_unicode< 1 >()

template<>
char32_t roo_display::read_unicode< 1 > ( const roo::byte *PROGMEM  address)
inline

Definition at line 624 of file smooth_font.cpp.

References pgm_read_byte.

◆ read_unicode< 2 >()

template<>
char32_t roo_display::read_unicode< 2 > ( const roo::byte *PROGMEM  address)
inline

Definition at line 629 of file smooth_font.cpp.

References pgm_read_byte.

◆ readByte() [1/2]

◆ readByte() [2/2]

static int8_t roo_display::readByte ( const roo::byte *PROGMEM  ptr)
static

Definition at line 104 of file smooth_font_v2.cpp.

References pgm_read_byte.

◆ readTriWord()

static uint32_t roo_display::readTriWord ( const roo::byte *PROGMEM  ptr)
static

Definition at line 116 of file smooth_font_v2.cpp.

References pgm_read_byte.

Referenced by roo_display::SmoothFontV2::SmoothFontV2().

◆ readUWord()

static uint16_t roo_display::readUWord ( const roo::byte *PROGMEM  ptr)
static

Definition at line 112 of file smooth_font_v2.cpp.

References pgm_read_byte.

Referenced by read_glyph_index(), and roo_display::SmoothFontV2::SmoothFontV2().

◆ readWord() [1/2]

static int16_t roo_display::readWord ( const roo::byte *PROGMEM  ptr)
static

◆ readWord() [2/2]

static int16_t roo_display::readWord ( const roo::byte *PROGMEM  ptr)
static

Definition at line 108 of file smooth_font_v2.cpp.

References pgm_read_byte.

◆ Ref()

Definition at line 233 of file raw_streamable_overlay.h.

◆ RotateLeft() [1/2]

Rotation roo_display::RotateLeft ( )

Return a 90-degree counter-clockwise rotation about the origin.

Definition at line 55 of file smooth_transformation.cpp.

References RotateLeft().

Referenced by RotateLeft().

◆ RotateLeft() [2/2]

Rotation roo_display::RotateLeft ( float  angle)

Return a counter-clockwise rotation about the origin.

Definition at line 53 of file smooth_transformation.cpp.

◆ RotateLeftAbout() [1/2]

AffineTransformation roo_display::RotateLeftAbout ( const FpPoint center)

Definition at line 61 of file smooth_transformation.cpp.

References RotateLeftAbout().

◆ RotateLeftAbout() [2/2]

AffineTransformation roo_display::RotateLeftAbout ( float  angle,
const FpPoint center 
)

Return a 90-degree counter-clockwise rotation about a point.

Definition at line 57 of file smooth_transformation.cpp.

References RotateRightAbout().

Referenced by RotateLeftAbout().

◆ RotateRight() [1/2]

Rotation roo_display::RotateRight ( )

Return a 90-degree clockwise rotation about the origin.

Definition at line 39 of file smooth_transformation.cpp.

References RotateRight().

Referenced by RotateRight(), RotateRightAbout(), and RotateRightAbout().

◆ RotateRight() [2/2]

Rotation roo_display::RotateRight ( float  angle)

Return a clockwise rotation about the origin.

Definition at line 37 of file smooth_transformation.cpp.

◆ RotateRightAbout() [1/2]

AffineTransformation roo_display::RotateRightAbout ( const FpPoint center)

Return a 90-degree clockwise rotation about a point.

Definition at line 47 of file smooth_transformation.cpp.

References RotateRight(), roo_display::Translation::then(), and Translate().

◆ RotateRightAbout() [2/2]

AffineTransformation roo_display::RotateRightAbout ( float  angle,
const FpPoint center 
)

Return a clockwise rotation about a point.

Definition at line 41 of file smooth_transformation.cpp.

References RotateRight(), roo_display::Translation::then(), and Translate().

Referenced by RotateLeftAbout().

◆ Scale()

Scaling roo_display::Scale ( float  sx,
float  sy 
)

Return a scaling about the origin.

Definition at line 29 of file smooth_transformation.cpp.

Referenced by ScaleAbout().

◆ ScaleAbout()

AffineTransformation roo_display::ScaleAbout ( float  sx,
float  sy,
const FpPoint center 
)

Return a scaling about a given center.

Definition at line 31 of file smooth_transformation.cpp.

References Scale(), roo_display::Translation::then(), and Translate().

◆ Shear() [1/2]

AffineTransformation roo_display::Shear ( float  sx,
float  sy 
)

Return a shear rooted at the origin.

Definition at line 65 of file smooth_transformation.cpp.

Referenced by Shear(), ShearHorizontallyAbout(), and ShearVerticallyAbout().

◆ Shear() [2/2]

AffineTransformation roo_display::Shear ( float  sx,
float  sy,
const FpPoint base 
)

Return a shear rooted at the specified point.

Definition at line 69 of file smooth_transformation.cpp.

References Shear(), roo_display::Translation::then(), and Translate().

◆ ShearHorizontally()

AffineTransformation roo_display::ShearHorizontally ( float  sx)

Return a horizontal shear rooted at the origin.

Definition at line 75 of file smooth_transformation.cpp.

◆ ShearHorizontallyAbout()

AffineTransformation roo_display::ShearHorizontallyAbout ( float  sx,
float  base_y 
)

Return a horizontal shear rooted at base_y.

Definition at line 79 of file smooth_transformation.cpp.

References Shear(), roo_display::Translation::then(), and Translate().

◆ ShearVertically()

AffineTransformation roo_display::ShearVertically ( float  sy)

Return a vertical shear rooted at the origin.

Definition at line 85 of file smooth_transformation.cpp.

◆ ShearVerticallyAbout()

AffineTransformation roo_display::ShearVerticallyAbout ( float  sy,
float  base_x 
)

Return a vertical shear rooted at base_x.

Definition at line 89 of file smooth_transformation.cpp.

References Shear(), roo_display::Translation::then(), and Translate().

◆ single_conversion()

template<typename Spi >
ConversionResult roo_display::single_conversion ( Spi spi,
uint16_t  z_threshold,
uint16_t x,
uint16_t y,
uint16_t z 
)

◆ SmoothArc()

SmoothShape roo_display::SmoothArc ( FpPoint  center,
float  radius,
float  angle_start,
float  angle_end,
Color  color 
)

Create a 1-pixel-wide arc.

Definition at line 422 of file smooth.cpp.

References color, ENDING_ROUNDED, and SmoothThickArc().

◆ SmoothCircle()

SmoothShape roo_display::SmoothCircle ( FpPoint  center,
float  radius,
Color  color,
Color  interior_color 
)

Create a circle (optionally with interior color).

Definition at line 191 of file smooth.cpp.

References color, and SmoothThickCircle().

◆ SmoothFilledCircle()

SmoothShape roo_display::SmoothFilledCircle ( FpPoint  center,
float  radius,
Color  color 
)

Create a filled circle.

Definition at line 196 of file smooth.cpp.

References color, and SmoothThickCircle().

◆ SmoothFilledRoundRect()

SmoothShape roo_display::SmoothFilledRoundRect ( float  x0,
float  y0,
float  x1,
float  y1,
float  radius,
Color  color 
)

Create a filled round-rect.

Definition at line 174 of file smooth.cpp.

References color, and SmoothThickRoundRect().

◆ SmoothFilledTriangle()

SmoothShape roo_display::SmoothFilledTriangle ( FpPoint  a,
FpPoint  b,
FpPoint  c,
Color  color 
)

Create a filled triangle.

Definition at line 454 of file smooth.cpp.

◆ SmoothLine()

SmoothShape roo_display::SmoothLine ( FpPoint  a,
FpPoint  b,
Color  color 
)

Create a 1-pixel-wide anti-aliased line.

Definition at line 87 of file smooth.cpp.

References color, ENDING_ROUNDED, and SmoothThickLine().

◆ SmoothPie()

SmoothShape roo_display::SmoothPie ( FpPoint  center,
float  radius,
float  angle_start,
float  angle_end,
Color  color 
)

Create a pie slice.

Definition at line 436 of file smooth.cpp.

References color, ENDING_FLAT, and SmoothThickArcImpl().

◆ SmoothRotatedFilledRect()

SmoothShape roo_display::SmoothRotatedFilledRect ( FpPoint  center,
float  width,
float  height,
float  angle,
Color  color 
)

Create a rotated filled rectangle.

Definition at line 91 of file smooth.cpp.

◆ SmoothRoundRect()

SmoothShape roo_display::SmoothRoundRect ( float  x0,
float  y0,
float  x1,
float  y1,
float  radius,
Color  color,
Color  interior_color 
)

Create an outlined round-rect.

Definition at line 169 of file smooth.cpp.

References color, and SmoothThickRoundRect().

◆ SmoothThickArc()

SmoothShape roo_display::SmoothThickArc ( FpPoint  center,
float  radius,
float  thickness,
float  angle_start,
float  angle_end,
Color  color,
EndingStyle  ending_style 
)

Create an arc with thickness.

Definition at line 428 of file smooth.cpp.

References color, and SmoothThickArcImpl().

Referenced by SmoothArc().

◆ SmoothThickArcImpl()

SmoothShape roo_display::SmoothThickArcImpl ( FpPoint  center,
float  radius,
float  thickness,
float  angle_start,
float  angle_end,
Color  active_color,
Color  inactive_color,
Color  interior_color,
EndingStyle  ending_style,
bool  trim_to_active 
)

Definition at line 214 of file smooth.cpp.

Referenced by SmoothPie(), SmoothThickArc(), and SmoothThickArcWithBackground().

◆ SmoothThickArcWithBackground()

SmoothShape roo_display::SmoothThickArcWithBackground ( FpPoint  center,
float  radius,
float  thickness,
float  angle_start,
float  angle_end,
Color  active_color,
Color  inactive_color,
Color  interior_color,
EndingStyle  ending_style 
)

Create an arc with background and interior colors.

Definition at line 443 of file smooth.cpp.

References SmoothThickArcImpl().

◆ SmoothThickCircle()

SmoothShape roo_display::SmoothThickCircle ( FpPoint  center,
float  radius,
float  thickness,
Color  color,
Color  interior_color 
)

Create a circle with thickness (ring).

Definition at line 184 of file smooth.cpp.

References color, and SmoothThickRoundRect().

Referenced by SmoothCircle(), and SmoothFilledCircle().

◆ SmoothThickLine()

SmoothShape roo_display::SmoothThickLine ( FpPoint  a,
FpPoint  b,
float  width,
Color  color,
EndingStyle  ending_style 
)

Create a line with width and ending style.

Definition at line 82 of file smooth.cpp.

References color, and SmoothWedgedLine().

Referenced by SmoothLine().

◆ SmoothThickRoundRect()

SmoothShape roo_display::SmoothThickRoundRect ( float  x0,
float  y0,
float  x1,
float  y1,
float  radius,
float  thickness,
Color  color,
Color  interior_color 
)

Create an outlined round-rect with thickness.

Definition at line 104 of file smooth.cpp.

Referenced by SmoothFilledRoundRect(), SmoothRoundRect(), and SmoothThickCircle().

◆ SmoothWedgedLine()

SmoothShape roo_display::SmoothWedgedLine ( FpPoint  a,
float  width_a,
FpPoint  b,
float  width_b,
Color  color,
EndingStyle  ending_style 
)

Create a wedged line with different start/end widths.

Definition at line 38 of file smooth.cpp.

Referenced by SmoothThickLine().

◆ streamToSurface()

template<typename RawStreamable , typename RawStream = RawStreamTypeOf<RawStreamable>>
void roo_display::streamToSurface ( const Surface s,
RawStreamable  streamable 
)

Definition at line 361 of file raw_streamable.h.

References MakeDrawableRawStreamable().

◆ StringPrintf()

std::string roo_display::StringPrintf ( const char format,
  ... 
)

Prefer roo_io::StringPrintf in new code.

Definition at line 7 of file string_printer.cpp.

References StringVPrintf().

◆ StringVPrintf()

std::string roo_display::StringVPrintf ( const char format,
va_list  arg 
)

Prefer roo_io::StringVPrintf in new code.

Definition at line 15 of file string_printer.cpp.

Referenced by StringPrintf().

◆ SubRectangle()

template<typename Stream >
std::unique_ptr< PixelStream > roo_display::SubRectangle ( Stream  stream,
const Box extents,
const Box bounds 
)
inline

◆ TransformRaster()

template<typename RasterType , typename TransformationType >
TransformedRaster< RasterType, TransformationType > roo_display::TransformRaster ( RasterType &  original,
TransformationType  transformation 
)

Return a rasterizable representation of a transformed raster.

Definition at line 576 of file smooth_transformation.h.

◆ Translate()

Translation roo_display::Translate ( float  dx,
float  dy 
)

Return a translation by the specified vector.

Definition at line 27 of file smooth_transformation.cpp.

Referenced by PerspectiveAbout(), RotateRightAbout(), RotateRightAbout(), ScaleAbout(), Shear(), ShearHorizontallyAbout(), and ShearVerticallyAbout().

◆ TruncateColor()

template<typename ColorMode >
constexpr Color roo_display::TruncateColor ( Color  color,
ColorMode  mode = ColorMode() 
)
inlineconstexpr

Truncate a color to a given color mode and back to ARGB.

Definition at line 116 of file color.h.

References color.

◆ VerticalGradient()

LinearGradient roo_display::VerticalGradient ( int16_t  x0,
float  dx,
ColorGradient  gradient,
Box  extents = Box::MaximumBox() 
)
inline

Create a vertical gradient: $val = (x - x0) * dx$.

Definition at line 149 of file gradient.h.

Variable Documentation

◆ advance

◆ ascent

◆ BLENDING_MODE_CLEAR

constexpr BlendingMode roo_display::BLENDING_MODE_CLEAR = BlendingMode::kClear
constexpr

Definition at line 91 of file blending.h.

◆ BLENDING_MODE_DESTINATION

constexpr BlendingMode roo_display::BLENDING_MODE_DESTINATION = BlendingMode::kDestination
constexpr

Definition at line 80 of file blending.h.

◆ BLENDING_MODE_DESTINATION_ATOP

constexpr BlendingMode roo_display::BLENDING_MODE_DESTINATION_ATOP
constexpr
Initial value:
=
BlendingMode::kDestinationAtop

Definition at line 88 of file blending.h.

◆ BLENDING_MODE_DESTINATION_IN

constexpr BlendingMode roo_display::BLENDING_MODE_DESTINATION_IN
constexpr
Initial value:
=
BlendingMode::kDestinationIn

Definition at line 85 of file blending.h.

◆ BLENDING_MODE_DESTINATION_OUT

constexpr BlendingMode roo_display::BLENDING_MODE_DESTINATION_OUT
constexpr
Initial value:
=
BlendingMode::kDestinationOut

Definition at line 95 of file blending.h.

◆ BLENDING_MODE_DESTINATION_OVER

constexpr BlendingMode roo_display::BLENDING_MODE_DESTINATION_OVER
constexpr
Initial value:
=
BlendingMode::kDestinationOver

Definition at line 82 of file blending.h.

◆ BLENDING_MODE_EXCLUSIVE_OR

constexpr BlendingMode roo_display::BLENDING_MODE_EXCLUSIVE_OR = BlendingMode::kXor
constexpr

Definition at line 98 of file blending.h.

◆ BLENDING_MODE_SOURCE

constexpr BlendingMode roo_display::BLENDING_MODE_SOURCE = BlendingMode::kSource
constexpr

Definition at line 72 of file blending.h.

◆ BLENDING_MODE_SOURCE_ATOP

constexpr BlendingMode roo_display::BLENDING_MODE_SOURCE_ATOP = BlendingMode::kSourceAtop
constexpr

Definition at line 78 of file blending.h.

◆ BLENDING_MODE_SOURCE_IN

constexpr BlendingMode roo_display::BLENDING_MODE_SOURCE_IN = BlendingMode::kSourceIn
constexpr

Definition at line 76 of file blending.h.

◆ BLENDING_MODE_SOURCE_OUT

constexpr BlendingMode roo_display::BLENDING_MODE_SOURCE_OUT = BlendingMode::kSourceOut
constexpr

Definition at line 93 of file blending.h.

◆ BLENDING_MODE_SOURCE_OVER

constexpr BlendingMode roo_display::BLENDING_MODE_SOURCE_OVER = BlendingMode::kSourceOver
constexpr

Definition at line 74 of file blending.h.

◆ COLOR_PIXEL_ORDER_LSB_FIRST

constexpr auto roo_display::COLOR_PIXEL_ORDER_LSB_FIRST = ColorPixelOrder::kLsbFirst
constexpr

Definition at line 20 of file pixel_order.h.

◆ COLOR_PIXEL_ORDER_MSB_FIRST

constexpr auto roo_display::COLOR_PIXEL_ORDER_MSB_FIRST = ColorPixelOrder::kMsbFirst
constexpr

Definition at line 18 of file pixel_order.h.

◆ descent

◆ dummy_touch

DummyTouch roo_display::dummy_touch
static

Definition at line 57 of file roo_display.cpp.

◆ FILL_MODE_RECTANGLE

constexpr FillMode roo_display::FILL_MODE_RECTANGLE = FillMode::kExtents
constexpr

Definition at line 27 of file drawable.h.

◆ FILL_MODE_VISIBLE

constexpr FillMode roo_display::FILL_MODE_VISIBLE = FillMode::kVisible
constexpr

Definition at line 29 of file drawable.h.

◆ FONT_LAYOUT_HORIZONTAL

constexpr FontLayout roo_display::FONT_LAYOUT_HORIZONTAL = FontLayout::kHorizontal
constexpr

Definition at line 19 of file font.h.

◆ FONT_LAYOUT_VERTICAL

constexpr FontLayout roo_display::FONT_LAYOUT_VERTICAL = FontLayout::kVertical
constexpr

Definition at line 21 of file font.h.

◆ kBaseline

constexpr VAlign roo_display::kBaseline = VAlign(ANCHOR_ORIGIN, ANCHOR_ORIGIN, 0)
staticconstexpr

Baseline-to-baseline with no shift.

Definition at line 161 of file alignment.h.

◆ kBottom

constexpr VAlign roo_display::kBottom = VAlign(ANCHOR_MAX, ANCHOR_MAX, 0)
staticconstexpr

Bottom-to-bottom with no shift.

Definition at line 158 of file alignment.h.

◆ kCenter

constexpr HAlign roo_display::kCenter = HAlign(ANCHOR_MID, ANCHOR_MID, 0)
staticconstexpr

Center-to-center with no shift.

Definition at line 105 of file alignment.h.

◆ kInitialTouchZThreshold

const int roo_display::kInitialTouchZThreshold = 400
static

◆ kLeft

constexpr HAlign roo_display::kLeft = HAlign(ANCHOR_MIN, ANCHOR_MIN, 0)
staticconstexpr

Left-to-left with no shift.

Definition at line 102 of file alignment.h.

◆ kMaxConversionAttempts

const int roo_display::kMaxConversionAttempts = 100
static

◆ kMaxRawSettlingDistance

const int roo_display::kMaxRawSettlingDistance = 200
static

Definition at line 20 of file touch_xpt2046.h.

Referenced by single_conversion().

◆ kMiddle

constexpr VAlign roo_display::kMiddle = VAlign(ANCHOR_MID, ANCHOR_MID, 0)
staticconstexpr

Middle-to-middle with no shift.

Definition at line 155 of file alignment.h.

◆ kMinSettledConversions

const int roo_display::kMinSettledConversions = 8
static

◆ kNoAlign

constexpr Alignment roo_display::kNoAlign = Alignment()
staticconstexpr

Absolute alignment (no repositioning).

Definition at line 211 of file alignment.h.

◆ kOrigin

constexpr HAlign roo_display::kOrigin = HAlign(ANCHOR_ORIGIN, ANCHOR_ORIGIN, 0)
staticconstexpr

Origin-to-origin with no shift.

Definition at line 111 of file alignment.h.

◆ kPixelWritingBufferSize

◆ kRectWritingBufferSize

const uint8_t roo_display::kRectWritingBufferSize = 32
static

◆ kRight

constexpr HAlign roo_display::kRight = HAlign(ANCHOR_MAX, ANCHOR_MAX, 0)
staticconstexpr

Right-to-right with no shift.

Definition at line 108 of file alignment.h.

◆ kSpiTouchFrequency

const int roo_display::kSpiTouchFrequency = 2500000
static

Definition at line 11 of file touch_xpt2046.h.

◆ kTop

constexpr VAlign roo_display::kTop = VAlign(ANCHOR_MIN, ANCHOR_MIN, 0)
staticconstexpr

Top-to-top with no shift.

Definition at line 152 of file alignment.h.

◆ linegap

◆ PROGMEM [1/37]

const uint8_t font [] roo_display::PROGMEM
static

◆ PROGMEM [2/37]

const uint8_t font_NotoSans_Bold_10_data [] roo_display::PROGMEM
static

Definition at line 11 of file 10.cpp.

◆ PROGMEM [3/37]

const uint8_t font_NotoSans_Bold_12_data [] roo_display::PROGMEM
static

Definition at line 11 of file 12.cpp.

◆ PROGMEM [4/37]

const uint8_t font_NotoSans_Bold_15_data [] roo_display::PROGMEM
static

Definition at line 11 of file 15.cpp.

◆ PROGMEM [5/37]

const uint8_t font_NotoSans_Bold_18_data [] roo_display::PROGMEM
static

Definition at line 11 of file 18.cpp.

◆ PROGMEM [6/37]

const uint8_t font_NotoSans_Bold_27_data [] roo_display::PROGMEM
static

Definition at line 11 of file 27.cpp.

◆ PROGMEM [7/37]

const uint8_t font_NotoSans_Bold_40_data [] roo_display::PROGMEM
static

Definition at line 11 of file 40.cpp.

◆ PROGMEM [8/37]

const uint8_t font_NotoSans_Bold_60_data [] roo_display::PROGMEM
static

Definition at line 11 of file 60.cpp.

◆ PROGMEM [9/37]

const uint8_t font_NotoSans_Bold_8_data [] roo_display::PROGMEM
static

Definition at line 11 of file 8.cpp.

◆ PROGMEM [10/37]

const uint8_t font_NotoSans_Bold_90_data [] roo_display::PROGMEM
static

Definition at line 11 of file 90.cpp.

◆ PROGMEM [11/37]

const uint8_t font_NotoSans_Regular_10_data [] roo_display::PROGMEM
static

Definition at line 11 of file 10.cpp.

◆ PROGMEM [12/37]

const uint8_t font_NotoSans_Regular_12_data [] roo_display::PROGMEM
static

Definition at line 11 of file 12.cpp.

◆ PROGMEM [13/37]

const uint8_t font_NotoSans_Regular_15_data [] roo_display::PROGMEM
static

Definition at line 11 of file 15.cpp.

◆ PROGMEM [14/37]

const uint8_t font_NotoSans_Regular_18_data [] roo_display::PROGMEM
static

Definition at line 11 of file 18.cpp.

◆ PROGMEM [15/37]

const uint8_t font_NotoSans_Regular_27_data [] roo_display::PROGMEM
static

Definition at line 11 of file 27.cpp.

◆ PROGMEM [16/37]

const uint8_t font_NotoSans_Regular_40_data [] roo_display::PROGMEM
static

Definition at line 11 of file 40.cpp.

◆ PROGMEM [17/37]

const uint8_t font_NotoSans_Regular_60_data [] roo_display::PROGMEM
static

Definition at line 11 of file 60.cpp.

◆ PROGMEM [18/37]

const uint8_t font_NotoSans_Regular_8_data [] roo_display::PROGMEM
static

Definition at line 11 of file 8.cpp.

◆ PROGMEM [19/37]

const uint8_t font_NotoSans_Regular_90_data [] roo_display::PROGMEM
static

Definition at line 11 of file 90.cpp.

◆ PROGMEM [20/37]

const uint8_t font_NotoSansMono_Regular_10_data [] roo_display::PROGMEM
static

Definition at line 11 of file 10.cpp.

◆ PROGMEM [21/37]

const uint8_t font_NotoSansMono_Regular_12_data [] roo_display::PROGMEM
static

Definition at line 11 of file 12.cpp.

◆ PROGMEM [22/37]

const uint8_t font_NotoSansMono_Regular_15_data [] roo_display::PROGMEM
static

Definition at line 11 of file 15.cpp.

◆ PROGMEM [23/37]

const uint8_t font_NotoSansMono_Regular_18_data [] roo_display::PROGMEM
static

Definition at line 11 of file 18.cpp.

◆ PROGMEM [24/37]

const uint8_t font_NotoSansMono_Regular_27_data [] roo_display::PROGMEM
static

Definition at line 11 of file 27.cpp.

◆ PROGMEM [25/37]

const uint8_t font_NotoSansMono_Regular_40_data [] roo_display::PROGMEM
static

Definition at line 11 of file 40.cpp.

◆ PROGMEM [26/37]

const uint8_t font_NotoSansMono_Regular_60_data [] roo_display::PROGMEM
static

Definition at line 11 of file 60.cpp.

◆ PROGMEM [27/37]

const uint8_t font_NotoSansMono_Regular_8_data [] roo_display::PROGMEM
static

Definition at line 11 of file 8.cpp.

◆ PROGMEM [28/37]

const uint8_t font_NotoSansMono_Regular_90_data [] roo_display::PROGMEM
static

Definition at line 11 of file 90.cpp.

◆ PROGMEM [29/37]

const uint8_t font_NotoSerif_Italic_10_data [] roo_display::PROGMEM
static

Definition at line 11 of file 10.cpp.

◆ PROGMEM [30/37]

const uint8_t font_NotoSerif_Italic_12_data [] roo_display::PROGMEM
static

Definition at line 11 of file 12.cpp.

◆ PROGMEM [31/37]

const uint8_t font_NotoSerif_Italic_15_data [] roo_display::PROGMEM
static

Definition at line 11 of file 15.cpp.

◆ PROGMEM [32/37]

const uint8_t font_NotoSerif_Italic_18_data [] roo_display::PROGMEM
static

Definition at line 11 of file 18.cpp.

◆ PROGMEM [33/37]

const uint8_t font_NotoSerif_Italic_27_data [] roo_display::PROGMEM
static

Definition at line 11 of file 27.cpp.

◆ PROGMEM [34/37]

const uint8_t font_NotoSerif_Italic_40_data [] roo_display::PROGMEM
static

Definition at line 11 of file 40.cpp.

◆ PROGMEM [35/37]

const uint8_t font_NotoSerif_Italic_60_data [] roo_display::PROGMEM
static

Definition at line 11 of file 60.cpp.

◆ PROGMEM [36/37]

const uint8_t font_NotoSerif_Italic_8_data [] roo_display::PROGMEM
static

Definition at line 11 of file 8.cpp.

◆ PROGMEM [37/37]

const uint8_t font_NotoSerif_Italic_90_data [] roo_display::PROGMEM
static

Definition at line 11 of file 90.cpp.

◆ TRANSPARENCY_BINARY

constexpr TransparencyMode roo_display::TRANSPARENCY_BINARY = TransparencyMode::kCrude
constexpr

Definition at line 115 of file blending.h.

◆ TRANSPARENCY_GRADUAL

constexpr TransparencyMode roo_display::TRANSPARENCY_GRADUAL = TransparencyMode::kFull
constexpr

Definition at line 117 of file blending.h.

◆ TRANSPARENCY_NONE

constexpr TransparencyMode roo_display::TRANSPARENCY_NONE = TransparencyMode::kNone
constexpr

Definition at line 113 of file blending.h.