perf: Enable 512KB LVGL image cache on PSRAM and move modified lvgl to local components
This commit is contained in:
@@ -0,0 +1,91 @@
|
||||
/**
|
||||
* @file lv_utils.h
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef LV_UTILS_H
|
||||
#define LV_UTILS_H
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/*********************
|
||||
* INCLUDES
|
||||
*********************/
|
||||
|
||||
#include "lv_types.h"
|
||||
#include "../draw/lv_draw_buf.h"
|
||||
|
||||
/*********************
|
||||
* DEFINES
|
||||
*********************/
|
||||
|
||||
/**********************
|
||||
* TYPEDEFS
|
||||
**********************/
|
||||
|
||||
/**********************
|
||||
* GLOBAL PROTOTYPES
|
||||
**********************/
|
||||
|
||||
/** Searches base[0] to base[n - 1] for an item that matches *key.
|
||||
*
|
||||
* @note The function cmp must return negative if it's first
|
||||
* argument (the search key) is less that it's second (a table entry),
|
||||
* zero if equal, and positive if greater.
|
||||
*
|
||||
* @note Items in the array must be in ascending order.
|
||||
*
|
||||
* @param key Pointer to item being searched for
|
||||
* @param base Pointer to first element to search
|
||||
* @param n Number of elements
|
||||
* @param size Size of each element
|
||||
* @param cmp Pointer to comparison function (see unicode_list_compare()
|
||||
* as a comparison function example)
|
||||
*
|
||||
* @return a pointer to a matching item, or NULL if none exists.
|
||||
*/
|
||||
void * lv_utils_bsearch(const void * key, const void * base, size_t n, size_t size,
|
||||
int (*cmp)(const void * pRef, const void * pElement));
|
||||
|
||||
/**
|
||||
* Save a draw buf to a file
|
||||
* @param draw_buf pointer to a draw buffer
|
||||
* @param path path to the file to save
|
||||
* @return LV_RESULT_OK: success; LV_RESULT_INVALID: error
|
||||
*/
|
||||
lv_result_t lv_draw_buf_save_to_file(const lv_draw_buf_t * draw_buf, const char * path);
|
||||
|
||||
/**
|
||||
* Reverse the order of the bytes in a 32-bit value.
|
||||
* @param x a 32-bit value.
|
||||
* @return the value `x` with reversed byte-order.
|
||||
*/
|
||||
static inline uint32_t lv_swap_bytes_32(uint32_t x)
|
||||
{
|
||||
return (x << 24)
|
||||
| ((x & 0x0000ff00U) << 8)
|
||||
| ((x & 0x00ff0000U) >> 8)
|
||||
| (x >> 24);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reverse the order of the bytes in a 16-bit value.
|
||||
* @param x a 16-bit value.
|
||||
* @return the value `x` with reversed byte-order.
|
||||
*/
|
||||
static inline uint16_t lv_swap_bytes_16(uint16_t x)
|
||||
{
|
||||
return (x << 8) | (x >> 8);
|
||||
}
|
||||
|
||||
/**********************
|
||||
* MACROS
|
||||
**********************/
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /*extern "C"*/
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user