set(MODULE_NAME ui_elements)

list(APPEND LIB_INCLUDES
        desktop_elements/Keyboard.h
        desktop_elements/Keyboard.cpp
        desktop_elements/IPlatformScreen.h
        desktop_elements/Screen.h
        desktop_elements/Screen.cpp
        desktop_elements/IPlatformWindow.h
        desktop_elements/Window.h
        desktop_elements/Window.cpp
        ui_events/KeyboardEvent.h
        ui_events/KeyboardEvent.cpp
        ui_events/MouseEvent.h
        ui_events/MouseEvent.cpp
        ui_events/UiEvent.h
        ui_events/UiEvent.cpp
        ui_events/PaintEvent.h
        ui_events/PaintEvent.cpp
        ui_events/ResizeEvent.h
        ui_events/ResizeEvent.cpp
        widgets/Widget.h
        widgets/Widget.cpp
		widgets/BoxGeometry.h
        widgets/BoxGeometry.cpp
		widgets/WidgetState.h
        widgets/WidgetState.cpp
		style/ThemeManager.h
        style/ThemeManager.cpp
		style/ITheme.h
		style/LightTheme.h
        style/LightTheme.cpp
		style/ColorPalette.h
        style/ColorPalette.cpp
		style/FontTokens.h
        style/FontTokens.cpp	
		style/ElevationTokens.h	
		style/OpacityTokens.h
		style/MediaResources.h
		style/MediaResources.cpp
		style/MediaResourceManager.h
		style/MediaResourceManager.cpp
		IconNode.h
		IconNode.cpp
)

add_library(${MODULE_NAME} SHARED ${LIB_INCLUDES})

target_include_directories(${MODULE_NAME} PUBLIC
                          ${CMAKE_CURRENT_SOURCE_DIR}/
                          ${CMAKE_CURRENT_SOURCE_DIR}/widgets
                          ${CMAKE_CURRENT_SOURCE_DIR}/style
                          ${CMAKE_CURRENT_SOURCE_DIR}/ui_events
                          ${CMAKE_CURRENT_SOURCE_DIR}/desktop_elements                       
                          )
target_link_libraries(${MODULE_NAME} PUBLIC core geometry graphics visual_elements image)

set_property(TARGET ${MODULE_NAME} PROPERTY FOLDER src/ui)

set_target_properties( ${MODULE_NAME} PROPERTIES WINDOWS_EXPORT_ALL_SYMBOLS ON ) 