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

config LVGL
	bool "LittlevGL GUI library"
	help
	  This option enables the LittlevGL 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."
	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: 1 byte per pixel"
endchoice

config LV_COLOR_16_SWAP
	bool

endif
