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

config LVGL
	bool "LittlevGL GUI library"
	depends on !CPU_CORTEX_M0 && !CPU_CORTEX_M0PLUS
	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
