/**1* @file lv_draw.h2*3*/45#ifndef LV_DRAW_H6#define LV_DRAW_H78#ifdef __cplusplus9extern "C" {10#endif1112/*********************13* INCLUDES14*********************/15#ifdef LV_CONF_INCLUDE_SIMPLE16#include "lv_conf.h"17#else18#include "../../lv_conf.h"19#endif2021#include "../lv_core/lv_style.h"22#include "../lv_misc/lv_txt.h"2324/*********************25* DEFINES26*********************/27/*If image pixels contains alpha we need to know how much byte is a pixel*/28#if LV_COLOR_DEPTH == 1 || LV_COLOR_DEPTH == 829# define LV_IMG_PX_SIZE_ALPHA_BYTE 230#elif LV_COLOR_DEPTH == 1631# define LV_IMG_PX_SIZE_ALPHA_BYTE 332#elif LV_COLOR_DEPTH == 3233# define LV_IMG_PX_SIZE_ALPHA_BYTE 434#endif3536/**********************37* TYPEDEFS38**********************/3940enum {41LV_IMG_SRC_VARIABLE,42LV_IMG_SRC_FILE,43LV_IMG_SRC_SYMBOL,44LV_IMG_SRC_UNKNOWN,45};46typedef uint8_t lv_img_src_t;474849/**********************50* GLOBAL PROTOTYPES51**********************/5253#if LV_ANTIALIAS != 05455/**56* Get the opacity of a pixel based it's position in a line segment57* @param seg segment length58* @param px_id position of of a pixel which opacity should be get [0..seg-1]59* @param base_opa the base opacity60* @return the opacity of the given pixel61*/62lv_opa_t lv_draw_aa_get_opa(lv_coord_t seg, lv_coord_t px_id, lv_opa_t base_opa);6364/**65* Add a vertical anti-aliasing segment (pixels with decreasing opacity)66* @param x start point x coordinate67* @param y start point y coordinate68* @param length length of segment (negative value to start from 0 opacity)69* @param mask draw only in this area70* @param color color of pixels71* @param opa maximum opacity72*/73void lv_draw_aa_ver_seg(lv_coord_t x, lv_coord_t y, lv_coord_t length, const lv_area_t * mask, lv_color_t color, lv_opa_t opa);7475/**76* Add a horizontal anti-aliasing segment (pixels with decreasing opacity)77* @param x start point x coordinate78* @param y start point y coordinate79* @param length length of segment (negative value to start from 0 opacity)80* @param mask draw only in this area81* @param color color of pixels82* @param opa maximum opacity83*/84void lv_draw_aa_hor_seg(lv_coord_t x, lv_coord_t y, lv_coord_t length, const lv_area_t * mask, lv_color_t color, lv_opa_t opa);85#endif8687/**********************88* GLOBAL VARIABLES89**********************/90extern void (*const px_fp)(lv_coord_t x, lv_coord_t y, const lv_area_t * mask, lv_color_t color, lv_opa_t opa);91extern void (*const fill_fp)(const lv_area_t * coords, const lv_area_t * mask, lv_color_t color, lv_opa_t opa);92extern void (*const letter_fp)(const lv_point_t * pos_p, const lv_area_t * mask, const lv_font_t * font_p, uint32_t letter, lv_color_t color, lv_opa_t opa);93extern void (*const map_fp)(const lv_area_t * cords_p, const lv_area_t * mask_p,94const uint8_t * map_p, lv_opa_t opa, bool chroma_key, bool alpha_byte,95lv_color_t recolor, lv_opa_t recolor_opa);9697/**********************98* MACROS99**********************/100101/**********************102* POST INCLUDES103*********************/104#include "lv_draw_rect.h"105#include "lv_draw_label.h"106#include "lv_draw_img.h"107#include "lv_draw_line.h"108#include "lv_draw_triangle.h"109110#ifdef __cplusplus111} /* extern "C" */112#endif113114#endif /*LV_DRAW_H*/115116117