esp_lcd_panel_ops.c 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*
  2. * SPDX-FileCopyrightText: 2021-2022 Espressif Systems (Shanghai) CO LTD
  3. *
  4. * SPDX-License-Identifier: Apache-2.0
  5. */
  6. #include "esp_check.h"
  7. #include "esp_lcd_panel_ops.h"
  8. #include "esp_lcd_panel_interface.h"
  9. static const char *TAG = "lcd_panel";
  10. esp_err_t esp_lcd_panel_reset(esp_lcd_panel_handle_t panel)
  11. {
  12. ESP_RETURN_ON_FALSE(panel, ESP_ERR_INVALID_ARG, TAG, "invalid panel handle");
  13. return panel->reset(panel);
  14. }
  15. esp_err_t esp_lcd_panel_init(esp_lcd_panel_handle_t panel)
  16. {
  17. ESP_RETURN_ON_FALSE(panel, ESP_ERR_INVALID_ARG, TAG, "invalid panel handle");
  18. return panel->init(panel);
  19. }
  20. esp_err_t esp_lcd_panel_del(esp_lcd_panel_handle_t panel)
  21. {
  22. ESP_RETURN_ON_FALSE(panel, ESP_ERR_INVALID_ARG, TAG, "invalid panel handle");
  23. return panel->del(panel);
  24. }
  25. esp_err_t esp_lcd_panel_draw_bitmap(esp_lcd_panel_handle_t panel, int x_start, int y_start, int x_end, int y_end, const void *color_data)
  26. {
  27. ESP_RETURN_ON_FALSE(panel, ESP_ERR_INVALID_ARG, TAG, "invalid panel handle");
  28. return panel->draw_bitmap(panel, x_start, y_start, x_end, y_end, color_data);
  29. }
  30. esp_err_t esp_lcd_panel_mirror(esp_lcd_panel_handle_t panel, bool mirror_x, bool mirror_y)
  31. {
  32. ESP_RETURN_ON_FALSE(panel, ESP_ERR_INVALID_ARG, TAG, "invalid panel handle");
  33. return panel->mirror(panel, mirror_x, mirror_y);
  34. }
  35. esp_err_t esp_lcd_panel_swap_xy(esp_lcd_panel_handle_t panel, bool swap_axes)
  36. {
  37. ESP_RETURN_ON_FALSE(panel, ESP_ERR_INVALID_ARG, TAG, "invalid panel handle");
  38. return panel->swap_xy(panel, swap_axes);
  39. }
  40. esp_err_t esp_lcd_panel_set_gap(esp_lcd_panel_handle_t panel, int x_gap, int y_gap)
  41. {
  42. ESP_RETURN_ON_FALSE(panel, ESP_ERR_INVALID_ARG, TAG, "invalid panel handle");
  43. return panel->set_gap(panel, x_gap, y_gap);
  44. }
  45. esp_err_t esp_lcd_panel_invert_color(esp_lcd_panel_handle_t panel, bool invert_color_data)
  46. {
  47. ESP_RETURN_ON_FALSE(panel, ESP_ERR_INVALID_ARG, TAG, "invalid panel handle");
  48. return panel->invert_color(panel, invert_color_data);
  49. }
  50. esp_err_t esp_lcd_panel_disp_on_off(esp_lcd_panel_handle_t panel, bool on_off)
  51. {
  52. ESP_RETURN_ON_FALSE(panel, ESP_ERR_INVALID_ARG, TAG, "invalid panel handle");
  53. return panel->disp_on_off(panel, on_off);
  54. }
  55. esp_err_t esp_lcd_panel_disp_off(esp_lcd_panel_handle_t panel, bool off)
  56. {
  57. return esp_lcd_panel_disp_on_off(panel, !off);
  58. }