15#include <idfxx/lcd/color>
17struct esp_lcd_panel_t;
52#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
69#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
88#ifdef CONFIG_COMPILER_CXX_EXCEPTIONS
Type-safe set of flags from a scoped enum.
static constexpr gpio nc()
Returns a GPIO representing "not connected".
Abstract base class for LCD panels.
virtual result< void > try_mirror(bool mirrorX, bool mirrorY)=0
Mirrors the display.
virtual esp_lcd_panel_handle_t idf_handle() const =0
Returns the underlying ESP-IDF handle.
virtual void display_on(bool on)
Turns the display on or off.
virtual result< void > try_display_on(bool on)=0
Turns the display on or off.
virtual void swap_xy(bool swap)
Swaps the X and Y axes.
virtual void mirror(bool mirrorX, bool mirrorY)
Mirrors the display.
virtual result< void > try_swap_xy(bool swap)=0
Swaps the X and Y axes.
rgb_element_order
RGB element order for LCD panels.
rgb_data_endian
RGB data endian for LCD panels.
@ big
RGB data endian: MSB first.
T unwrap(result< T > result)
Throws a std::system_error if the result is an error.
std::expected< T, std::error_code > result
result type wrapping a value or error code.
struct esp_lcd_panel_t * esp_lcd_panel_handle_t
Configuration structure for LCD panels.
gpio reset_gpio
GPIO number for hardware reset, or idfxx::gpio::nc() if not used.
uint32_t bits_per_pixel
Color depth, in bpp.
void * vendor_config
vendor specific configuration, optional, left as NULL if not used
rgb_data_endian data_endian
Set the data endian for color data larger than 1 byte.
enum rgb_element_order rgb_element_order
Set RGB element order, RGB or BGR.
unsigned int reset_active_high
Setting this if the panel reset is high level active.