ESPHome  2024.3.1
Public Member Functions | Protected Member Functions | Protected Attributes
esphome::addressable_light::AddressableLightDisplay Class Reference

#include <addressable_light_display.h>

Inheritance diagram for esphome::addressable_light::AddressableLightDisplay:
esphome::display::DisplayBuffer esphome::display::Display esphome::PollingComponent esphome::Component

Public Member Functions

light::AddressableLightget_light () const
 
void set_width (int32_t width)
 
void set_height (int32_t height)
 
void set_light (light::LightState *state)
 
void set_enabled (bool enabled)
 
bool get_enabled ()
 
void set_pixel_mapper (std::function< int(int, int)> &&pixel_mapper_f)
 
void setup () override
 
void display ()
 
display::DisplayType get_display_type () override
 
- Public Member Functions inherited from esphome::display::DisplayBuffer
int get_width () override
 Get the width of the image in pixels with rotation applied. More...
 
int get_height () override
 Get the height of the image in pixels with rotation applied. More...
 
void draw_pixel_at (int x, int y, Color color) override
 Set a single pixel at the specified coordinates to the given color. More...
 
- Public Member Functions inherited from esphome::display::Display
virtual void fill (Color color)
 Fill the entire screen with the given color. More...
 
void clear ()
 Clear the entire screen by filling it with OFF pixels. More...
 
int get_native_width ()
 Get the native (original) width of the display in pixels. More...
 
int get_native_height ()
 Get the native (original) height of the display in pixels. More...
 
void draw_pixel_at (int x, int y)
 Set a single pixel at the specified coordinates to default color. More...
 
virtual void draw_pixels_at (int x_start, int y_start, int w, int h, const uint8_t *ptr, ColorOrder order, ColorBitness bitness, bool big_endian, int x_offset, int y_offset, int x_pad)
 Given an array of pixels encoded in the nominated format, draw these into the display's buffer. More...
 
void draw_pixels_at (int x_start, int y_start, int w, int h, const uint8_t *ptr, ColorOrder order, ColorBitness bitness, bool big_endian)
 Convenience overload for base case where the pixels are packed into the buffer with no gaps (e.g. suits LVGL.) More...
 
void line (int x1, int y1, int x2, int y2, Color color=COLOR_ON)
 Draw a straight line from the point [x1,y1] to [x2,y2] with the given color. More...
 
void horizontal_line (int x, int y, int width, Color color=COLOR_ON)
 Draw a horizontal line from the point [x,y] to [x+width,y] with the given color. More...
 
void vertical_line (int x, int y, int height, Color color=COLOR_ON)
 Draw a vertical line from the point [x,y] to [x,y+width] with the given color. More...
 
void rectangle (int x1, int y1, int width, int height, Color color=COLOR_ON)
 Draw the outline of a rectangle with the top left point at [x1,y1] and the bottom right point at [x1+width,y1+height]. More...
 
void filled_rectangle (int x1, int y1, int width, int height, Color color=COLOR_ON)
 Fill a rectangle with the top left point at [x1,y1] and the bottom right point at [x1+width,y1+height]. More...
 
void circle (int center_x, int center_xy, int radius, Color color=COLOR_ON)
 Draw the outline of a circle centered around [center_x,center_y] with the radius radius with the given color. More...
 
void filled_circle (int center_x, int center_y, int radius, Color color=COLOR_ON)
 Fill a circle centered around [center_x,center_y] with the radius radius with the given color. More...
 
void triangle (int x1, int y1, int x2, int y2, int x3, int y3, Color color=COLOR_ON)
 Draw the outline of a triangle contained between the points [x1,y1], [x2,y2] and [x3,y3] with the given color. More...
 
void filled_triangle (int x1, int y1, int x2, int y2, int x3, int y3, Color color=COLOR_ON)
 Fill a triangle contained between the points [x1,y1], [x2,y2] and [x3,y3] with the given color. More...
 
void get_regular_polygon_vertex (int vertex_id, int *vertex_x, int *vertex_y, int center_x, int center_y, int radius, int edges, RegularPolygonVariation variation=VARIATION_POINTY_TOP, float rotation_degrees=ROTATION_0_DEGREES)
 Get the specified vertex (x,y) coordinates for the regular polygon inscribed in the circle centered on [center_x,center_y] with the given radius. More...
 
void regular_polygon (int x, int y, int radius, int edges, RegularPolygonVariation variation=VARIATION_POINTY_TOP, float rotation_degrees=ROTATION_0_DEGREES, Color color=COLOR_ON, RegularPolygonDrawing drawing=DRAWING_OUTLINE)
 Draw the outline of a regular polygon inscribed in the circle centered on [x,y] with the given radius and color. More...
 
void regular_polygon (int x, int y, int radius, int edges, RegularPolygonVariation variation, Color color, RegularPolygonDrawing drawing=DRAWING_OUTLINE)
 
void regular_polygon (int x, int y, int radius, int edges, Color color, RegularPolygonDrawing drawing=DRAWING_OUTLINE)
 
void filled_regular_polygon (int x, int y, int radius, int edges, RegularPolygonVariation variation=VARIATION_POINTY_TOP, float rotation_degrees=ROTATION_0_DEGREES, Color color=COLOR_ON)
 Fill a regular polygon inscribed in the circle centered on [x,y] with the given radius and color. More...
 
void filled_regular_polygon (int x, int y, int radius, int edges, RegularPolygonVariation variation, Color color)
 
void filled_regular_polygon (int x, int y, int radius, int edges, Color color)
 
void print (int x, int y, BaseFont *font, Color color, TextAlign align, const char *text, Color background=COLOR_OFF)
 Print text with the anchor point at [x,y] with font. More...
 
void print (int x, int y, BaseFont *font, Color color, const char *text, Color background=COLOR_OFF)
 Print text with the top left at [x,y] with font. More...
 
void print (int x, int y, BaseFont *font, TextAlign align, const char *text)
 Print text with the anchor point at [x,y] with font. More...
 
void print (int x, int y, BaseFont *font, const char *text)
 Print text with the top left at [x,y] with font. More...
 
void printf (int x, int y, BaseFont *font, Color color, Color background, TextAlign align, const char *format,...) __attribute__((format(printf
 Evaluate the printf-format format and print the result with the anchor point at [x,y] with font. More...
 
void void printf (int x, int y, BaseFont *font, Color color, TextAlign align, const char *format,...) __attribute__((format(printf
 Evaluate the printf-format format and print the result with the anchor point at [x,y] with font. More...
 
void void void printf (int x, int y, BaseFont *font, Color color, const char *format,...) __attribute__((format(printf
 Evaluate the printf-format format and print the result with the top left at [x,y] with font. More...
 
void void void void printf (int x, int y, BaseFont *font, TextAlign align, const char *format,...) __attribute__((format(printf
 Evaluate the printf-format format and print the result with the anchor point at [x,y] with font. More...
 
void void void void void printf (int x, int y, BaseFont *font, const char *format,...) __attribute__((format(printf
 Evaluate the printf-format format and print the result with the top left at [x,y] with font. More...
 
void void void void void void strftime (int x, int y, BaseFont *font, Color color, TextAlign align, const char *format, ESPTime time) __attribute__((format(strftime
 Evaluate the strftime-format format and print the result with the anchor point at [x,y] with font. More...
 
void void void void void void void strftime (int x, int y, BaseFont *font, Color color, const char *format, ESPTime time) __attribute__((format(strftime
 Evaluate the strftime-format format and print the result with the top left at [x,y] with font. More...
 
void void void void void void void void strftime (int x, int y, BaseFont *font, TextAlign align, const char *format, ESPTime time) __attribute__((format(strftime
 Evaluate the strftime-format format and print the result with the anchor point at [x,y] with font. More...
 
void void void void void void void void void strftime (int x, int y, BaseFont *font, const char *format, ESPTime time) __attribute__((format(strftime
 Evaluate the strftime-format format and print the result with the top left at [x,y] with font. More...
 
void void void void void void void void void void image (int x, int y, BaseImage *image, Color color_on=COLOR_ON, Color color_off=COLOR_OFF)
 Draw the image with the top-left corner at [x,y] to the screen. More...
 
void image (int x, int y, BaseImage *image, ImageAlign align, Color color_on=COLOR_ON, Color color_off=COLOR_OFF)
 Draw the image at [x,y] to the screen. More...
 
void graph (int x, int y, graph::Graph *graph, Color color_on=COLOR_ON)
 Draw the graph with the top-left corner at [x,y] to the screen. More...
 
void legend (int x, int y, graph::Graph *graph, Color color_on=COLOR_ON)
 Draw the legend for graph with the top-left corner at [x,y] to the screen. More...
 
void qr_code (int x, int y, qr_code::QrCode *qr_code, Color color_on=COLOR_ON, int scale=1)
 Draw the qr_code with the top-left corner at [x,y] to the screen. More...
 
void menu (int x, int y, graphical_display_menu::GraphicalDisplayMenu *menu, int width, int height)
 
void get_text_bounds (int x, int y, const char *text, BaseFont *font, TextAlign align, int *x1, int *y1, int *width, int *height)
 Get the text bounds of the given string. More...
 
void set_writer (display_writer_t &&writer)
 Internal method to set the display writer lambda. More...
 
void show_page (DisplayPage *page)
 
void show_next_page ()
 
void show_prev_page ()
 
void set_pages (std::vector< DisplayPage *> pages)
 
const DisplayPageget_active_page () const
 
void add_on_page_change_trigger (DisplayOnPageChangeTrigger *t)
 
void set_rotation (DisplayRotation rotation)
 Internal method to set the display rotation with. More...
 
void set_auto_clear (bool auto_clear_enabled)
 
DisplayRotation get_rotation () const
 
void start_clipping (Rect rect)
 Set the clipping rectangle for further drawing. More...
 
void start_clipping (int16_t left, int16_t top, int16_t right, int16_t bottom)
 
void extend_clipping (Rect rect)
 Add a rectangular region to the invalidation region. More...
 
void extend_clipping (int16_t left, int16_t top, int16_t right, int16_t bottom)
 
void shrink_clipping (Rect rect)
 substract a rectangular region to the invalidation region More...
 
void shrink_clipping (uint16_t left, uint16_t top, uint16_t right, uint16_t bottom)
 
void end_clipping ()
 Reset the invalidation region. More...
 
Rect get_clipping () const
 Get the current the clipping rectangle. More...
 
bool is_clipping () const
 
bool clip (int x, int y)
 Check if pixel is within region of display. More...
 
- Public Member Functions inherited from esphome::PollingComponent
 PollingComponent ()
 
 PollingComponent (uint32_t update_interval)
 Initialize this polling component with the given update interval in ms. More...
 
virtual void set_update_interval (uint32_t update_interval)
 Manually set the update interval in ms for this polling object. More...
 
void call_setup () override
 
virtual uint32_t get_update_interval () const
 Get the update interval in ms of this sensor. More...
 
void start_poller ()
 
void stop_poller ()
 
- Public Member Functions inherited from esphome::Component
virtual void loop ()
 This method will be called repeatedly. More...
 
virtual void dump_config ()
 
virtual float get_setup_priority () const
 priority of setup(). More...
 
float get_actual_setup_priority () const
 
void set_setup_priority (float priority)
 
virtual float get_loop_priority () const
 priority of loop(). More...
 
void call ()
 
virtual void on_shutdown ()
 
virtual void on_safe_shutdown ()
 
uint32_t get_component_state () const
 
virtual void mark_failed ()
 Mark this component as failed. More...
 
bool is_failed ()
 
bool is_ready ()
 
virtual bool can_proceed ()
 
bool status_has_warning () const
 
bool status_has_error () const
 
void status_set_warning (const char *message="unspecified")
 
void status_set_error (const char *message="unspecified")
 
void status_clear_warning ()
 
void status_clear_error ()
 
void status_momentary_warning (const std::string &name, uint32_t length=5000)
 
void status_momentary_error (const std::string &name, uint32_t length=5000)
 
bool has_overridden_loop () const
 
void set_component_source (const char *source)
 Set where this component was loaded from for some debug messages. More...
 
const char * get_component_source () const
 Get the integration where this component was declared as a string. More...
 

Protected Member Functions

int get_width_internal () override
 
int get_height_internal () override
 
void draw_absolute_pixel_internal (int x, int y, Color color) override
 
void update () override
 
- Protected Member Functions inherited from esphome::display::DisplayBuffer
void init_internal_ (uint32_t buffer_length)
 
- Protected Member Functions inherited from esphome::display::Display
bool clamp_x_ (int x, int w, int &min_x, int &max_x)
 
bool clamp_y_ (int y, int h, int &min_y, int &max_y)
 
void vprintf_ (int x, int y, BaseFont *font, Color color, Color background, TextAlign align, const char *format, va_list arg)
 
void do_update_ ()
 
void clear_clipping_ ()
 
void filled_flat_side_triangle_ (int x1, int y1, int x2, int y2, int x3, int y3, Color color)
 This method fills a triangle using only integer variables by using a modified bresenham algorithm. More...
 
void sort_triangle_points_by_y_ (int *x1, int *y1, int *x2, int *y2, int *x3, int *y3)
 
- Protected Member Functions inherited from esphome::Component
virtual void call_loop ()
 
virtual void call_dump_config ()
 
void set_interval (const std::string &name, uint32_t interval, std::function< void()> &&f)
 Set an interval function with a unique name. More...
 
void set_interval (uint32_t interval, std::function< void()> &&f)
 
bool cancel_interval (const std::string &name)
 Cancel an interval function. More...
 
void set_retry (const std::string &name, uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 Set an retry function with a unique name. More...
 
void set_retry (uint32_t initial_wait_time, uint8_t max_attempts, std::function< RetryResult(uint8_t)> &&f, float backoff_increase_factor=1.0f)
 
bool cancel_retry (const std::string &name)
 Cancel a retry function. More...
 
void set_timeout (const std::string &name, uint32_t timeout, std::function< void()> &&f)
 Set a timeout function with a unique name. More...
 
void set_timeout (uint32_t timeout, std::function< void()> &&f)
 
bool cancel_timeout (const std::string &name)
 Cancel a timeout function. More...
 
void defer (const std::string &name, std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
void defer (std::function< void()> &&f)
 Defer a callback to the next loop() call. More...
 
bool cancel_defer (const std::string &name)
 Cancel a defer callback using the specified name, name must not be empty. More...
 

Protected Attributes

light::LightStatelight_state_
 
light::AddressableLightlight_
 
bool enabled_ {true}
 
int32_t width_
 
int32_t height_
 
std::vector< Coloraddressable_light_buffer_
 
optional< std::string > last_effect_
 
optional< std::function< int(int, int)> > pixel_mapper_f_
 
- Protected Attributes inherited from esphome::display::DisplayBuffer
uint8_t * buffer_ {nullptr}
 
- Protected Attributes inherited from esphome::display::Display
DisplayRotation rotation_ {DISPLAY_ROTATION_0_DEGREES}
 
optional< display_writer_twriter_ {}
 
DisplayPagepage_ {nullptr}
 
DisplayPageprevious_page_ {nullptr}
 
std::vector< DisplayOnPageChangeTrigger * > on_page_change_triggers_
 
bool auto_clear_enabled_ {true}
 
std::vector< Rectclipping_rectangle_
 
- Protected Attributes inherited from esphome::PollingComponent
uint32_t update_interval_
 
- Protected Attributes inherited from esphome::Component
uint32_t component_state_ {0x0000}
 State of this component. More...
 
float setup_priority_override_ {NAN}
 
const char * component_source_ {nullptr}
 

Detailed Description

Definition at line 13 of file addressable_light_display.h.

Member Function Documentation

◆ display()

void esphome::addressable_light::AddressableLightDisplay::display ( )

Definition at line 24 of file addressable_light_display.cpp.

◆ draw_absolute_pixel_internal()

void HOT esphome::addressable_light::AddressableLightDisplay::draw_absolute_pixel_internal ( int  x,
int  y,
Color  color 
)
overrideprotectedvirtual

Implements esphome::display::DisplayBuffer.

Definition at line 55 of file addressable_light_display.cpp.

◆ get_display_type()

display::DisplayType esphome::addressable_light::AddressableLightDisplay::get_display_type ( )
inlineoverridevirtual

Implements esphome::display::Display.

Definition at line 45 of file addressable_light_display.h.

◆ get_enabled()

bool esphome::addressable_light::AddressableLightDisplay::get_enabled ( )
inline

Definition at line 39 of file addressable_light_display.h.

◆ get_height_internal()

int esphome::addressable_light::AddressableLightDisplay::get_height_internal ( )
overrideprotectedvirtual

Implements esphome::display::Display.

Definition at line 10 of file addressable_light_display.cpp.

◆ get_light()

light::AddressableLight* esphome::addressable_light::AddressableLightDisplay::get_light ( ) const
inline

Definition at line 15 of file addressable_light_display.h.

◆ get_width_internal()

int esphome::addressable_light::AddressableLightDisplay::get_width_internal ( )
overrideprotectedvirtual

Implements esphome::display::Display.

Definition at line 9 of file addressable_light_display.cpp.

◆ set_enabled()

void esphome::addressable_light::AddressableLightDisplay::set_enabled ( bool  enabled)
inline

Definition at line 23 of file addressable_light_display.h.

◆ set_height()

void esphome::addressable_light::AddressableLightDisplay::set_height ( int32_t  height)
inline

Definition at line 18 of file addressable_light_display.h.

◆ set_light()

void esphome::addressable_light::AddressableLightDisplay::set_light ( light::LightState state)
inline

Definition at line 19 of file addressable_light_display.h.

◆ set_pixel_mapper()

void esphome::addressable_light::AddressableLightDisplay::set_pixel_mapper ( std::function< int(int, int)> &&  pixel_mapper_f)
inline

Definition at line 41 of file addressable_light_display.h.

◆ set_width()

void esphome::addressable_light::AddressableLightDisplay::set_width ( int32_t  width)
inline

Definition at line 17 of file addressable_light_display.h.

◆ setup()

void esphome::addressable_light::AddressableLightDisplay::setup ( )
overridevirtual

Reimplemented from esphome::Component.

Definition at line 12 of file addressable_light_display.cpp.

◆ update()

void esphome::addressable_light::AddressableLightDisplay::update ( )
overrideprotectedvirtual

Implements esphome::PollingComponent.

Definition at line 16 of file addressable_light_display.cpp.

Field Documentation

◆ addressable_light_buffer_

std::vector<Color> esphome::addressable_light::AddressableLightDisplay::addressable_light_buffer_
protected

Definition at line 58 of file addressable_light_display.h.

◆ enabled_

bool esphome::addressable_light::AddressableLightDisplay::enabled_ {true}
protected

Definition at line 55 of file addressable_light_display.h.

◆ height_

int32_t esphome::addressable_light::AddressableLightDisplay::height_
protected

Definition at line 57 of file addressable_light_display.h.

◆ last_effect_

optional<std::string> esphome::addressable_light::AddressableLightDisplay::last_effect_
protected

Definition at line 59 of file addressable_light_display.h.

◆ light_

light::AddressableLight* esphome::addressable_light::AddressableLightDisplay::light_
protected

Definition at line 54 of file addressable_light_display.h.

◆ light_state_

light::LightState* esphome::addressable_light::AddressableLightDisplay::light_state_
protected

Definition at line 53 of file addressable_light_display.h.

◆ pixel_mapper_f_

optional<std::function<int(int, int)> > esphome::addressable_light::AddressableLightDisplay::pixel_mapper_f_
protected

Definition at line 60 of file addressable_light_display.h.

◆ width_

int32_t esphome::addressable_light::AddressableLightDisplay::width_
protected

Definition at line 56 of file addressable_light_display.h.


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