/*******************************************************************************
*
*
* File:        draw_mode_lib.h
* Description  draw mode 函数申明
* Version      V0.1
* Date         2022-06-21
* Author       Tempest
*******************************************************************************/
#ifndef __DRAW_MODE_H__
#define __DRAW_MODE_H__


/**
 * @brief  带颜色画线函数(直线、斜线)
 * @param  x1,y1:   起点坐标
 * @param  x2,y2:  终点坐标
 * @param  red_data: 像素点R分量
 * @param  green_data: 像素点G分量
 * @param  blue_data: 像素点B分量
 * @return  none
 */
void lcd_draw_colorLine(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2,  uint8_t red_data, uint8_t green_data, uint8_t blue_data);

/**
 * @breif  带颜色画矩形函数
 * @param  x1,y1: 矩形起始点
 * @param  x2,y2 :  矩形终点
 * @param  red_data: 像素点R分量
 * @param  green_data: 像素点G分量
 * @param  blue_data: 像素点B分量
 * @retval  none
 */
void lcd_draw_colorRect(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint8_t red_data, uint8_t green_data, uint8_t blue_data);

/**
 * @breif  带颜色画圆函数
 * @param  x,y: 圆心坐标
 * @param  r: 半径
 * @param  red_data: 像素点R分量
 * @param  green_data: 像素点G分量
 * @param  blue_data: 像素点B分量
 * @retval  none
 */
void lcd_draw_colorcircle(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint16_t x, uint16_t y, uint16_t r,  uint8_t red_data, uint8_t green_data, uint8_t blue_data);

/**
 * @brief   带颜色输出字体
 * @param   x,y: 屏幕的位置
 * @param   index: 字所在数组的位置
 * @param   font_color: 字的颜色,0xRRGGBB
 * @param   back_color: 背景颜色,0xRRGGBB
 * @return  none
 */
void lcd_draw_chinese(hal_dsi_rx_ctrl_handle_t *rx_ctrl_handle, uint16_t x, uint16_t y, uint16_t index, uint32_t font_color, uint16_t back_color);
#endif
