| /* |
| * Copyright (c) 2019 Jan Van Winkel <jan.van_winkel@dxplore.eu> |
| * Copyright 2023 NXP |
| * |
| * SPDX-License-Identifier: Apache-2.0 |
| */ |
| |
| #ifndef ZEPHYR_MODULES_LVGL_DISPLAY_H_ |
| #define ZEPHYR_MODULES_LVGL_DISPLAY_H_ |
| |
| #include <zephyr/drivers/display.h> |
| #include <lvgl.h> |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| struct lvgl_disp_data { |
| const struct device *display_dev; |
| struct display_capabilities cap; |
| bool blanking_on; |
| }; |
| |
| struct lvgl_display_flush { |
| lv_display_t *display; |
| uint16_t x; |
| uint16_t y; |
| struct display_buffer_descriptor desc; |
| void *buf; |
| }; |
| |
| void lvgl_flush_cb_mono(lv_display_t *display, const lv_area_t *area, uint8_t *px_map); |
| void lvgl_flush_cb_8bit(lv_display_t *display, const lv_area_t *area, uint8_t *px_map); |
| void lvgl_flush_cb_16bit(lv_display_t *display, const lv_area_t *area, uint8_t *px_map); |
| void lvgl_flush_cb_24bit(lv_display_t *display, const lv_area_t *area, uint8_t *px_map); |
| void lvgl_flush_cb_32bit(lv_display_t *display, const lv_area_t *area, uint8_t *px_map); |
| |
| void lvgl_rounder_cb_mono(lv_event_t *e); |
| void lvgl_set_mono_conversion_buffer(uint8_t *buffer, uint32_t buffer_size); |
| |
| int set_lvgl_rendering_cb(lv_display_t *display); |
| |
| void lvgl_flush_display(struct lvgl_display_flush *request); |
| |
| #ifdef CONFIG_LV_Z_USE_ROUNDER_CB |
| void lvgl_rounder_cb(lv_event_t *e); |
| #endif |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| |
| #endif /* ZEPHYR_MODULES_LVGL_DISPLAY_H_ */ |