74 lines
1.8 KiB
C
74 lines
1.8 KiB
C
/**
|
|
* @file lv_draw_rect.c
|
|
*
|
|
*/
|
|
|
|
/*********************
|
|
* INCLUDES
|
|
*********************/
|
|
#include "lv_draw.h"
|
|
#include "lv_draw_rect.h"
|
|
#include "../misc/lv_assert.h"
|
|
|
|
/*********************
|
|
* DEFINES
|
|
*********************/
|
|
|
|
/**********************
|
|
* TYPEDEFS
|
|
**********************/
|
|
|
|
/**********************
|
|
* STATIC PROTOTYPES
|
|
**********************/
|
|
|
|
/**********************
|
|
* STATIC VARIABLES
|
|
**********************/
|
|
|
|
/**********************
|
|
* MACROS
|
|
**********************/
|
|
|
|
/**********************
|
|
* GLOBAL FUNCTIONS
|
|
**********************/
|
|
|
|
LV_ATTRIBUTE_FAST_MEM void lv_draw_rect_dsc_init(lv_draw_rect_dsc_t * dsc)
|
|
{
|
|
lv_memset_00(dsc, sizeof(lv_draw_rect_dsc_t));
|
|
dsc->bg_color = lv_color_white();
|
|
dsc->bg_grad.stops[0].color = lv_color_white();
|
|
dsc->bg_grad.stops[1].color = lv_color_black();
|
|
dsc->bg_grad.stops[1].frac = 0xFF;
|
|
dsc->bg_grad.stops_count = 2;
|
|
dsc->border_color = lv_color_black();
|
|
dsc->shadow_color = lv_color_black();
|
|
dsc->bg_img_symbol_font = LV_FONT_DEFAULT;
|
|
dsc->bg_opa = LV_OPA_COVER;
|
|
dsc->bg_img_opa = LV_OPA_COVER;
|
|
dsc->outline_opa = LV_OPA_COVER;
|
|
dsc->border_opa = LV_OPA_COVER;
|
|
dsc->shadow_opa = LV_OPA_COVER;
|
|
dsc->border_side = LV_BORDER_SIDE_FULL;
|
|
}
|
|
|
|
/**
|
|
* Draw a rectangle
|
|
* @param coords the coordinates of the rectangle
|
|
* @param mask the rectangle will be drawn only in this mask
|
|
* @param dsc pointer to an initialized `lv_draw_rect_dsc_t` variable
|
|
*/
|
|
void lv_draw_rect(lv_draw_ctx_t * draw_ctx, const lv_draw_rect_dsc_t * dsc, const lv_area_t * coords)
|
|
{
|
|
if(lv_area_get_height(coords) < 1 || lv_area_get_width(coords) < 1) return;
|
|
|
|
draw_ctx->draw_rect(draw_ctx, dsc, coords);
|
|
|
|
LV_ASSERT_MEM_INTEGRITY();
|
|
}
|
|
|
|
/**********************
|
|
* STATIC FUNCTIONS
|
|
**********************/
|