acid-drop

- Hacking the planet from a LilyGo T-Deck using custom firmware
git clone git://git.acid.vegas/acid-drop.git
Log | Files | Refs | Archive | README | LICENSE

lv_types.h (2260B)

      1 /**
      2  * @file lv_types.h
      3  *
      4  */
      5 
      6 #ifndef LV_TYPES_H
      7 #define LV_TYPES_H
      8 
      9 #ifdef __cplusplus
     10 extern "C" {
     11 #endif
     12 
     13 /*********************
     14  *      INCLUDES
     15  *********************/
     16 #include <stdint.h>
     17 
     18 /*********************
     19  *      DEFINES
     20  *********************/
     21 
     22 // If __UINTPTR_MAX__ or UINTPTR_MAX are available, use them to determine arch size
     23 #if defined(__UINTPTR_MAX__) && __UINTPTR_MAX__ > 0xFFFFFFFF
     24 #define LV_ARCH_64
     25 
     26 #elif defined(UINTPTR_MAX) && UINTPTR_MAX > 0xFFFFFFFF
     27 #define LV_ARCH_64
     28 
     29 // Otherwise use compiler-dependent means to determine arch size
     30 #elif defined(_WIN64) || defined(__x86_64__) || defined(__ppc64__) || defined (__aarch64__)
     31 #define LV_ARCH_64
     32 
     33 #endif
     34 
     35 /**********************
     36  *      TYPEDEFS
     37  **********************/
     38 
     39 /**
     40  * LVGL error codes.
     41  */
     42 enum {
     43     LV_RES_INV = 0, /*Typically indicates that the object is deleted (become invalid) in the action
     44                       function or an operation was failed*/
     45     LV_RES_OK,      /*The object is valid (no deleted) after the action*/
     46 };
     47 typedef uint8_t lv_res_t;
     48 
     49 #if defined(__cplusplus) || __STDC_VERSION__ >= 199901L
     50 // If c99 or newer,  use the definition of uintptr_t directly from <stdint.h>
     51 typedef uintptr_t lv_uintptr_t;
     52 
     53 #else
     54 
     55 // Otherwise, use the arch size determination
     56 #ifdef LV_ARCH_64
     57 typedef uint64_t lv_uintptr_t;
     58 #else
     59 typedef uint32_t lv_uintptr_t;
     60 #endif
     61 
     62 #endif
     63 
     64 /**********************
     65  * GLOBAL PROTOTYPES
     66  **********************/
     67 
     68 /**********************
     69  *      MACROS
     70  **********************/
     71 
     72 #define LV_UNUSED(x) ((void)x)
     73 
     74 #define _LV_CONCAT(x, y) x ## y
     75 #define LV_CONCAT(x, y) _LV_CONCAT(x, y)
     76 
     77 #define _LV_CONCAT3(x, y, z) x ## y ## z
     78 #define LV_CONCAT3(x, y, z) _LV_CONCAT3(x, y, z)
     79 
     80 #if defined(PYCPARSER) || defined(__CC_ARM)
     81 #define LV_FORMAT_ATTRIBUTE(fmtstr, vararg)
     82 #elif defined(__GNUC__) && ((__GNUC__ == 4 && __GNUC_MINOR__ >= 4) || __GNUC__ > 4)
     83 #define LV_FORMAT_ATTRIBUTE(fmtstr, vararg) __attribute__((format(gnu_printf, fmtstr, vararg)))
     84 #elif (defined(__clang__) || defined(__GNUC__) || defined(__GNUG__))
     85 #define LV_FORMAT_ATTRIBUTE(fmtstr, vararg) __attribute__((format(printf, fmtstr, vararg)))
     86 #else
     87 #define LV_FORMAT_ATTRIBUTE(fmtstr, vararg)
     88 #endif
     89 
     90 #ifdef __cplusplus
     91 } /*extern "C"*/
     92 #endif
     93 
     94 #endif /*LV_TYPES_H*/