menu "Widgets"

config LV_WIDGETS_HAS_DEFAULT_VALUE
	bool "Default values for widgets"
	default y
	help
		Causes these widgets to be given default values at creation time.
		- lv_buttonmatrix_t:  Get default maps:  {"Btn1", "Btn2", "Btn3", "\n", "Btn4", "Btn5", ""}, else map not set.
		- lv_checkbox_t    :  String label set to "Check box", else set to empty string.
		- lv_dropdown_t    :  Options set to "Option 1", "Option 2", "Option 3", else no values are set.
		- lv_roller_t      :  Options set to "Option 1", "Option 2", "Option 3", "Option 4", "Option 5", else no values are set.
		- lv_label_t       :  Text set to "Text", else empty string.
		- lv_arclabel_t   :  Text set to "Arced Text", else empty string.

config LV_USE_3DTEXTURE
	bool "3D texture"
	depends on LV_DRAW_HAS_3D_SUPPORT

config LV_USE_ANIMIMG
	bool "Animated image"
	default y

config LV_USE_ARC
	bool "Arc"
	default y

config LV_USE_ARCLABEL
	bool "Arc label"
	default y

config LV_USE_BAR
	bool "Bar"
	default y

config LV_USE_BARCODE
	bool "Barcode"
	select LV_USE_CANVAS
	help
		Generates Code 128 barcodes.

config LV_USE_BUTTON
	bool "Button"
	default y

config LV_USE_BUTTONMATRIX
	bool "Button matrix"
	default y

rsource "calendar/Kconfig"

config LV_USE_CANVAS
	bool "Canvas"
	select LV_USE_IMAGE
	default y

config LV_USE_CHART
	bool "Chart"
	default y

config LV_USE_CHECKBOX
	bool "Checkbox"
	default y

config LV_USE_DROPDOWN
	bool "Dropdown"
	select LV_USE_LABEL
	default y

config LV_USE_FFMPEG
	bool "FFmpeg player"
	default n
	help
		Decodes images and plays videos with FFmpeg. It supports all major image
		formats, so do not enable other image decoders together with it.

if LV_USE_FFMPEG

config LV_FFMPEG_DUMP_FORMAT
	bool "Dump format"
	default n
	help
		Print the input stream information to stderr and keep FFmpeg logging
		enabled (it is silenced otherwise).

config LV_FFMPEG_PLAYER_USE_LV_FS
	bool "LVGL file system paths in the player"
	default n
	help
		URLs can no longer be opened once this is enabled. The FFmpeg image
		decoder always uses the LVGL file system regardless of this option.

endif #LV_USE_FFMPEG

config LV_USE_GIF
	bool "GIF decoder"

config LV_GIF_CACHE_DECODE_DATA
	bool "Cache decoded data"
	depends on LV_USE_GIF
	help
		Speeds up playback at the cost of an extra 16KB of RAM.

config LV_GIF_MAX_WIDTH
	int "Maximum GIF canvas width in pixels"
	depends on LV_USE_GIF
	default 480
	help
		Wider GIFs are rejected; raising this value increases memory usage.

config LV_GIF_MAX_HEIGHT
	int "Maximum GIF canvas height in pixels"
	depends on LV_USE_GIF
	default 32768
	help
		Taller GIFs are rejected; this value has no impact on memory usage.

config LV_USE_GLTF
	bool "glTF"
	select LV_USE_3DTEXTURE
	depends on LV_DRAW_HAS_3D_SUPPORT
	help
		Parses and renders 3D models (.gltf/.glb).

config LV_USE_GSTREAMER
	bool "GStreamer player"
	select LV_USE_IMAGE
	default n
	help
		Requires the gstreamer-1.0, gstreamer-video-1.0 and gstreamer-app-1.0
		development libraries.

config LV_USE_IMAGE
	bool "Image"
	default y

config LV_USE_IMAGEBUTTON
	bool "Image button"
	default y

rsource "ime/Kconfig"

config LV_USE_KEYBOARD
	bool "Keyboard"
	default y

rsource "label/Kconfig"

config LV_USE_LED
	bool "LED"
	default y

config LV_USE_LINE
	bool "Line"
	default y

config LV_USE_LIST
	bool "List"
	default y

config LV_USE_LOTTIE
	bool "Lottie"
	default n
	depends on LV_DRAW_HAS_VECTOR_SUPPORT
	depends on LV_USE_THORVG # we require thorvg lottie parser
	select LV_USE_VECTOR_GRAPHIC
	help
		Plays Lottie JSON animations using the ThorVG Lottie parser.

config LV_USE_MENU
	bool "Menu"
	default y

config LV_USE_MSGBOX
	bool "Message box"
	default y
	select LV_USE_LABEL

config LV_USE_QRCODE
	bool "QR code"
	select LV_USE_CANVAS

config LV_USE_RLOTTIE
	bool "Lottie (rlottie, legacy)"
	default n
	help
		Legacy rlottie binding, kept for compatibility. Use LV_USE_LOTTIE instead.

config LV_USE_ROLLER
	bool "Roller"
	select LV_USE_LABEL
	default y

config LV_USE_SCALE
	bool "Scale"
	default y

config LV_USE_SLIDER
	bool "Slider"
	select LV_USE_BAR
	default y

config LV_USE_SPAN
	bool "Span"
	default y

config LV_SPAN_SNIPPET_STACK_SIZE
	int "Maximum number of span descriptors"
	default 64
	depends on LV_USE_SPAN

config LV_USE_SPINBOX
	bool "Spinbox"
	default y

config LV_USE_SPINNER
	bool "Spinner"
	default y

config LV_USE_SWITCH
	bool "Switch"
	default y

config LV_USE_TEXTAREA
	bool "Text area"
	select LV_USE_LABEL
	default y

config LV_TEXTAREA_DEF_PWD_SHOW_TIME
	int "Default password show time (ms)"
	default 1500
	depends on LV_USE_TEXTAREA

config LV_USE_TABLE
	bool "Table"
	default y

config LV_USE_TABVIEW
	bool "Tabview"
	default y

config LV_USE_TILEVIEW
	bool "Tileview"
	default y

config LV_USE_WIN
	bool "Window"
	default y
endmenu
