1 /** * @file lv_conf_kconfig.h * Configs that need special handling when LVGL is used with Kconfig */ 2 3 #ifndef LV_CONF_KCONFIG_H 4 #define LV_CONF_KCONFIG_H 5 6 #ifdef __cplusplus 7 extern "C" { 8 #endif 9 10 #ifdef LV_CONF_KCONFIG_EXTERNAL_INCLUDE 11 # include LV_CONF_KCONFIG_EXTERNAL_INCLUDE 12 #else 13 14 # ifdef ESP_PLATFORM 15 # include "sdkconfig.h" 16 # include "esp_attr.h" 17 # endif 18 19 # ifdef __NuttX__ 20 # include <nuttx/config.h> 21 # elif defined(__RTTHREAD__) 22 # define LV_CONF_INCLUDE_SIMPLE 23 # include <lv_rt_thread_conf.h> 24 # endif 25 26 #endif /*LV_CONF_KCONFIG_EXTERNAL_INCLUDE*/ 27 28 /******************* 29 * LV COLOR CHROMA KEY 30 *******************/ 31 32 #ifdef CONFIG_LV_COLOR_CHROMA_KEY_HEX 33 # define CONFIG_LV_COLOR_CHROMA_KEY lv_color_hex(CONFIG_LV_COLOR_CHROMA_KEY_HEX) 34 #endif 35 36 /******************* 37 * LV_MEM_SIZE 38 *******************/ 39 40 #ifdef CONFIG_LV_MEM_SIZE_KILOBYTES 41 # define CONFIG_LV_MEM_SIZE (CONFIG_LV_MEM_SIZE_KILOBYTES * 1024U) 42 #endif 43 44 /*------------------ 45 * MONITOR POSITION 46 *-----------------*/ 47 48 #ifdef CONFIG_LV_PERF_MONITOR_ALIGN_TOP_LEFT 49 # define CONFIG_LV_USE_PERF_MONITOR_POS LV_ALIGN_TOP_LEFT 50 #elif defined(CONFIG_LV_USE_PERF_MONITOR_ALIGN_TOP_MID) 51 # define CONFIG_LV_USE_PERF_MONITOR_POS LV_ALIGN_TOP_MID 52 #elif defined(CONFIG_LV_PERF_MONITOR_ALIGN_TOP_RIGHT) 53 # define CONFIG_LV_USE_PERF_MONITOR_POS LV_ALIGN_TOP_RIGHT 54 #elif defined(CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_LEFT) 55 # define CONFIG_LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_LEFT 56 #elif defined(CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_MID) 57 # define CONFIG_LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_MID 58 #elif defined(CONFIG_LV_PERF_MONITOR_ALIGN_BOTTOM_RIGHT) 59 # define CONFIG_LV_USE_PERF_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT 60 #elif defined(CONFIG_LV_PERF_MONITOR_ALIGN_LEFT_MID) 61 # define CONFIG_LV_USE_PERF_MONITOR_POS LV_ALIGN_LEFT_MID 62 #elif defined(CONFIG_LV_PERF_MONITOR_ALIGN_RIGHT_MID) 63 # define CONFIG_LV_USE_PERF_MONITOR_POS LV_ALIGN_RIGHT_MID 64 #elif defined(CONFIG_LV_PERF_MONITOR_ALIGN_CENTER) 65 # define CONFIG_LV_USE_PERF_MONITOR_POS LV_ALIGN_CENTER 66 #endif 67 68 #ifdef CONFIG_LV_MEM_MONITOR_ALIGN_TOP_LEFT 69 # define CONFIG_LV_USE_MEM_MONITOR_POS LV_ALIGN_TOP_LEFT 70 #elif defined(CONFIG_LV_USE_MEM_MONITOR_ALIGN_TOP_MID) 71 # define CONFIG_LV_USE_MEM_MONITOR_POS LV_ALIGN_TOP_MID 72 #elif defined(CONFIG_LV_MEM_MONITOR_ALIGN_TOP_RIGHT) 73 # define CONFIG_LV_USE_MEM_MONITOR_POS LV_ALIGN_TOP_RIGHT 74 #elif defined(CONFIG_LV_MEM_MONITOR_ALIGN_BOTTOM_LEFT) 75 # define CONFIG_LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_LEFT 76 #elif defined(CONFIG_LV_MEM_MONITOR_ALIGN_BOTTOM_MID) 77 # define CONFIG_LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_MID 78 #elif defined(CONFIG_LV_MEM_MONITOR_ALIGN_BOTTOM_RIGHT) 79 # define CONFIG_LV_USE_MEM_MONITOR_POS LV_ALIGN_BOTTOM_RIGHT 80 #elif defined(CONFIG_LV_MEM_MONITOR_ALIGN_LEFT_MID) 81 # define CONFIG_LV_USE_MEM_MONITOR_POS LV_ALIGN_LEFT_MID 82 #elif defined(CONFIG_LV_MEM_MONITOR_ALIGN_RIGHT_MID) 83 # define CONFIG_LV_USE_MEM_MONITOR_POS LV_ALIGN_RIGHT_MID 84 #elif defined(CONFIG_LV_MEM_MONITOR_ALIGN_CENTER) 85 # define CONFIG_LV_USE_MEM_MONITOR_POS LV_ALIGN_CENTER 86 #endif 87 88 /******************** 89 * FONT SELECTION 90 *******************/ 91 92 /** 93 * NOTE: In Kconfig instead of `LV_DEFAULT_FONT` 94 * `CONFIG_LV_FONT_DEFAULT_<font_name>` is defined 95 * hence the large selection with if-s 96 */ 97 98 /*------------------ 99 * DEFAULT FONT 100 *-----------------*/ 101 #ifdef CONFIG_LV_FONT_DEFAULT_MONTSERRAT_8 102 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_8 103 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_10) 104 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_10 105 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12) 106 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_12 107 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_14) 108 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_14 109 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_16) 110 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_16 111 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_18) 112 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_18 113 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_20) 114 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_20 115 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_22) 116 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_22 117 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_24) 118 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_24 119 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_26) 120 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_26 121 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28) 122 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_28 123 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_30) 124 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_30 125 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_32) 126 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_32 127 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_34) 128 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_34 129 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_36) 130 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_36 131 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_38) 132 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_38 133 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_40) 134 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_40 135 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_42) 136 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_42 137 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_44) 138 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_44 139 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_46) 140 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_46 141 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_48) 142 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_48 143 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_12_SUBPX) 144 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_12_subpx 145 #elif defined(CONFIG_LV_FONT_DEFAULT_MONTSERRAT_28_COMPRESSED) 146 # define CONFIG_LV_FONT_DEFAULT &lv_font_montserrat_28_compressed 147 #elif defined(CONFIG_LV_FONT_DEFAULT_DEJAVU_16_PERSIAN_HEBREW) 148 # define CONFIG_LV_FONT_DEFAULT &lv_font_dejavu_16_persian_hebrew 149 #elif defined(CONFIG_LV_FONT_DEFAULT_SIMSUN_16_CJK) 150 # define CONFIG_LV_FONT_DEFAULT &lv_font_simsun_16_cjk 151 #elif defined(CONFIG_LV_FONT_DEFAULT_UNSCII_8) 152 # define CONFIG_LV_FONT_DEFAULT &lv_font_unscii_8 153 #elif defined(CONFIG_LV_FONT_DEFAULT_UNSCII_16) 154 # define CONFIG_LV_FONT_DEFAULT &lv_font_unscii_16 155 #endif 156 157 /*------------------ 158 * TEXT ENCODING 159 *-----------------*/ 160 #ifdef CONFIG_LV_TXT_ENC_UTF8 161 # define CONFIG_LV_TXT_ENC LV_TXT_ENC_UTF8 162 #elif defined(CONFIG_LV_TXT_ENC_ASCII) 163 # define CONFIG_LV_TXT_ENC LV_TXT_ENC_ASCII 164 #endif 165 166 /*------------------ 167 * BIDI DIRECTION 168 *-----------------*/ 169 170 #ifdef CONFIG_LV_BASE_DIR_LTR 171 # define CONFIG_LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_LTR 172 #elif defined(CONFIG_LV_BASE_DIR_RTL) 173 # define CONFIG_LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_RTL 174 #elif defined(CONFIG_LV_BASE_DIR_AUTO) 175 # define CONFIG_LV_BIDI_BASE_DIR_DEF LV_BASE_DIR_AUTO 176 #endif 177 178 #ifdef __cplusplus 179 } /*extern "C"*/ 180 #endif 181 182 #endif /*LV_CONF_KCONFIG_H*/ 183