# 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_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
