menu "LVGL"
    config LVGL
        bool "Enable Lvgl"
        default n

    choice LVGL_VERSION
        depends on LVGL
        prompt "Select LVGL Version"
        default LVGL_V8

        config LVGL_V8
            bool "LVGL V8"
        config LVGL_V9
            bool "LVGL V9"
    endchoice

    choice LV_FRAME_COPY_METHOD
        depends on LVGL
        prompt "Select LVGL Frame Copy Method"
        default LV_FRAME_DMA2D_COPY

        config LV_FRAME_DMA2D_COPY
            bool "LV Frame DMA2D Copy Method"
        config LV_FRAME_DMA_COPY
            bool "LV Frame DMA Copy Method"
    endchoice

    config LV_COLOR_DEPTH
        depends on LVGL
        int "Set Lv Color Depth"
        default 16
        help
            1 - 1 byte per pixel
            8 - RGB332
            16 - RGB565
            24 - RGB888(Just for V9)
            32 - ARGB8888

    config LV_DRAW_SW_DRAW_UNIT_CNT
        depends on LVGL_V9
        int "Set the number of draw unit"
        default 2
        help
            The min value is 1

    config LV_DRAW_THREAD_STACK_SIZE
        depends on LVGL_V9
        int "Set the stack size of the drawing threads"
        default 8192

    config LV_USE_DRAW_VG_LITE
        depends on LVGL_V9
        bool "Enable LVGL Drawing with VG-Lite GPU"
        default n

    config LV_VG_LITE_USE_GPU_INIT
        depends on LV_USE_DRAW_VG_LITE
        bool "Enable VG-Lite custom external 'gpu_init()' function"
        default n

    config LV_VG_LITE_USE_ASSERT
        depends on LV_USE_DRAW_VG_LITE
        bool "Enable VG-Lite assert"
        default n

    config LV_VG_LITE_FLUSH_MAX_COUNT
        depends on LV_USE_DRAW_VG_LITE
        int "Set VG-Lite flush commit trigger threshold"
        default 8
        help
            GPU will try to batch these many draw tasks

    config LV_VG_LITE_USE_BOX_SHADOW
        depends on LV_USE_DRAW_VG_LITE
        bool "Enable border to simulate shadow"
        default n

    config LV_VG_LITE_GRAD_CACHE_SIZE
        depends on LV_USE_DRAW_VG_LITE
        int "Set VG-Lite gradient image maximum cache number"
        default 32

    config LV_COLOR_SCREEN_TRANSP
        bool "Enable Lv Color Screen Transp"
        default n
        help
            Enable features to draw on transparent background

    config LV_USE_FREETYPE
        bool "Enable Lv Use Freetype"
        default n

    config LV_FONT_MONTSERRAT_8
        bool "Enable Lv Font Montserrat 8"
        default n

    config LV_FONT_MONTSERRAT_16
        bool "Enable Lv Font Montserrat 16"
        default n

    config LV_FONT_MONTSERRAT_12
        bool "Enable Lv Font Montserrat 12"
        default n

    config LV_FONT_MONTSERRAT_14
        bool "Enable Lv Font Montserrat 14"
        default n

    config LV_FONT_MONTSERRAT_18
        bool "Enable Lv Font Montserrat 18"
        default n

    config LV_FONT_MONTSERRAT_20
        bool "Enable Lv Font Montserrat 20"
        default n

    config LV_FONT_MONTSERRAT_22
        bool "Enable Lv Font Montserrat 22"
        default n

    config LV_FONT_MONTSERRAT_24
        bool "Enable Lv Font Montserrat 24"
        default n

    config LV_FONT_MONTSERRAT_26
        bool "Enable Lv Font Montserrat 26"
        default n

    config LV_FONT_MONTSERRAT_28
        bool "Enable Lv Font Montserrat 28"
        default n

    config LV_FONT_MONTSERRAT_30
        bool "Enable Lv Font Montserrat 30"
        default n

    config LV_FONT_MONTSERRAT_32
        bool "Enable Lv Font Montserrat 32"
        default n

    config LV_FONT_MONTSERRAT_34
        bool "Enable Lv Font Montserrat 34"
        default n

    config LV_FONT_MONTSERRAT_36
        bool "Enable Lv Font Montserrat 36"
        default n

    config LV_FONT_MONTSERRAT_38
        bool "Enable Lv Font Montserrat 38"
        default n

    config LV_FONT_MONTSERRAT_40
        bool "Enable Lv Font Montserrat 40"
        default n

    config LV_FONT_MONTSERRAT_42
        bool "Enable Lv Font Montserrat 42"
        default n

    config LV_FONT_MONTSERRAT_44
        bool "Enable Lv Font Montserrat 44"
        default n

    config LV_FONT_MONTSERRAT_46
        bool "Enable Lv Font Montserrat 46"
        default n

    config LV_FONT_MONTSERRAT_48
        bool "Enable Lv Font Montserrat 48"
        default n

    config LV_USE_PERF_MONITOR
        bool "Enable Lv Use Perf Monitor"
        default n
        help
            Show CPU usage and FPS count

    config LVGL_USE_DIRECT_MODE
        depends on LVGL_V8
        bool "Enable Lvgl Use Direct Mode"
        default y
        help
            Enable use direct mode in LVGL use psram draw buffer

    config LVGL_TASK_PRIORITY
        depends on LVGL
        int "Set lvgl task priority"
        default 4

    config LVGL_TASK_SLEEP_TIME_CUSTOMIZE
        depends on LVGL
        bool "Enable lvgl task sleep time custimize"
        default n

    config LVGL_TASK_SLEEP_TIME
        depends on LVGL_TASK_SLEEP_TIME_CUSTOMIZE
        int "Set lvgl task sleep time"
        default 10

    config LV_COLOR_16_SWAP
        depends on LVGL_V8
        bool "Enable Swap the 2 bytes of RGB565 color"
        default n

    config LVGL_SRAM_MAPPING
        depends on LVGL
        bool "Enable Lvgl Sram Mapping"
        default n

    config LV_ATTRIBUTE_FAST_MEM
        depends on LVGL
        bool "Enable Lv Attribute Fast Mem"
        default n

    config LV_ATTRIBUTE_FAST_MEM_L2
        depends on LVGL
        bool "Enable Lv Attribute Fast Mem L2"
        default n

    config LV_CODE_LOAD_PSRAM
        depends on LVGL
        bool "Enable Lv Code load psram"
        default n

    config LVGL_CAMERA_BLEND_COEXIST
        depends on LVGL
        bool "Enable LVGL and Camera image blend coexistence"
        default n

    config LV_IMG_UTILITY_CUSTOMIZE
        depends on LVGL
        bool "Enable LVGL use customized image decoding method"
        default n

    config LVGL_JPEG_HW_DECODE_OPT
        depends on LV_IMG_UTILITY_CUSTOMIZE
        bool "Enable LVGL JPEG HW Decode Opt"
        default n

    config LVGL_FRAME_BUFFER_NUM
        depends on LVGL
        int "Set the display frame buffer number"
        default 2
endmenu