# Copyright (c) 2022 Huawei Inc.
# SPDX-License-Identifier: Apache-2.0

config LVGL
	bool "LVGL GUI library"
	help
	  This option enables the LVGL GUI library.

if LVGL

config LV_DPI_DEF
	int

config LV_Z_BITS_PER_PIXEL
	int

config LV_Z_DOUBLE_VDB
	bool

config LV_Z_FULL_REFRESH
	bool

config LV_Z_VBD_CUSTOM_SECTION
	bool

config LV_Z_VDB_ALIGN
	int

config LV_Z_VDB_SIZE
	int

config LV_Z_POINTER_KSCAN
	bool

config LV_Z_POINTER_KSCAN_MSGQ_COUNT
	int
	default 10

config LV_Z_POINTER_KSCAN_SWAP_XY
	bool

config LV_Z_POINTER_KSCAN_INVERT_X
	bool

config LV_Z_POINTER_KSCAN_INVERT_Y
	bool

choice LV_COLOR_DEPTH
	default LV_COLOR_DEPTH_16
	prompt "Color depth (bits per pixel)"
	depends on LVGL

	config LV_COLOR_DEPTH_32
		bool "32: ARGB8888"
	config LV_COLOR_DEPTH_16
		bool "16: RGB565"
	config LV_COLOR_DEPTH_8
		bool "8: RGB232"
	config LV_COLOR_DEPTH_1
		bool "1: monochrome"
endchoice

config LV_COLOR_16_SWAP
	bool

endif
