Initial Commit
6
.gitignore
vendored
Normal file
|
|
@ -0,0 +1,6 @@
|
||||||
|
.cache
|
||||||
|
build
|
||||||
|
src/Server/build
|
||||||
|
CMakeUserPresets.json
|
||||||
|
compile_commands.json
|
||||||
|
bscript
|
||||||
330
CMakeLists.txt
Executable file
|
|
@ -0,0 +1,330 @@
|
||||||
|
cmake_minimum_required(VERSION 3.27.0)
|
||||||
|
set(CMAKE_CXX_STANDARD 23)
|
||||||
|
project(infinipaint)
|
||||||
|
|
||||||
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
||||||
|
|
||||||
|
# Options to set
|
||||||
|
option(USE_VULKAN "Set to use Vulkan" OFF)
|
||||||
|
option(USE_GRAPHITE "Set to use Skia graphite for backends that support it" OFF)
|
||||||
|
|
||||||
|
option(USE_ASAN "Enable Address Sanitizer" OFF)
|
||||||
|
option(USE_UBSAN "Enable Undefined Behaviour Sanitizer" OFF)
|
||||||
|
option(USE_LEAKSAN "Enable Leak Sanitizer" OFF)
|
||||||
|
option(USE_THREADSAN "Enable Thread Sanitizer" OFF)
|
||||||
|
option(USE_MEMORYSAN "Enable Memory Sanitizer" OFF)
|
||||||
|
|
||||||
|
option(LINK_SKIA_MANUALLY "Link skia not as a package, but as separate libraries for non-Conan builds" OFF)
|
||||||
|
option(EMSCRIPTEN_SINGLE_HTML_FILE "Building with emscripten generates a single HTML file" OFF)
|
||||||
|
option(TBB_NOT_ONETBB "Use TBB::tbb package and not onetbb::onetbb package from conan" OFF)
|
||||||
|
|
||||||
|
# Setting sources
|
||||||
|
set(sources "src/main.cpp"
|
||||||
|
"src/SwitchCWD.cpp"
|
||||||
|
"src/MainProgram.cpp"
|
||||||
|
"src/DrawData.cpp"
|
||||||
|
"src/FontData.cpp"
|
||||||
|
"src/GridManager.cpp"
|
||||||
|
"src/TimePoint.cpp"
|
||||||
|
"src/ConnectionManager.cpp"
|
||||||
|
"src/InputManager.cpp"
|
||||||
|
"src/UndoManager.cpp"
|
||||||
|
"src/DrawCamera.cpp"
|
||||||
|
"src/DrawCollision.cpp"
|
||||||
|
"src/CoordSpaceHelper.cpp"
|
||||||
|
"src/ResourceManager.cpp"
|
||||||
|
"src/Toolbar.cpp"
|
||||||
|
"src/World.cpp"
|
||||||
|
"src/FileHelpers.cpp"
|
||||||
|
"src/BookmarkManager.cpp"
|
||||||
|
"src/ResourceDisplay/ResourceDisplay.cpp"
|
||||||
|
"src/ResourceDisplay/ImageResourceDisplay.cpp"
|
||||||
|
"src/ResourceDisplay/FileResourceDisplay.cpp"
|
||||||
|
"src/Server/MainServer.cpp"
|
||||||
|
"src/Server/ClientData.cpp"
|
||||||
|
"src/CollabTextBox/CollabTextBox.cpp"
|
||||||
|
"src/CollabTextBox/CollabTextBoxShaper.cpp"
|
||||||
|
"src/DrawingProgram/DrawingProgram.cpp"
|
||||||
|
"src/DrawingProgram/BrushTool.cpp"
|
||||||
|
"src/DrawingProgram/TextBoxTool.cpp"
|
||||||
|
"src/DrawingProgram/EraserTool.cpp"
|
||||||
|
"src/DrawingProgram/RectSelectTool.cpp"
|
||||||
|
"src/DrawingProgram/RectDrawTool.cpp"
|
||||||
|
"src/DrawingProgram/EllipseDrawTool.cpp"
|
||||||
|
"src/DrawingProgram/InkDropperTool.cpp"
|
||||||
|
"src/DrawingProgram/ScreenshotTool.cpp"
|
||||||
|
"src/DrawingProgram/EditTool.cpp"
|
||||||
|
"src/DrawingProgram/ImageTool.cpp"
|
||||||
|
"src/DrawComponents/DrawEllipse.cpp"
|
||||||
|
"src/DrawComponents/DrawRectangle.cpp"
|
||||||
|
"src/DrawComponents/DrawImage.cpp"
|
||||||
|
"src/DrawComponents/DrawBrushStroke.cpp"
|
||||||
|
"src/DrawComponents/DrawTextBox.cpp"
|
||||||
|
"src/DrawComponents/DrawComponent.cpp"
|
||||||
|
"src/GUIStuff/GUIManager.cpp"
|
||||||
|
"src/GUIStuff/GUIManagerID.cpp"
|
||||||
|
"src/GUIStuff/ClayImplement.cpp"
|
||||||
|
"src/GUIStuff/Elements/Element.cpp"
|
||||||
|
"src/GUIStuff/Elements/SVGIcon.cpp"
|
||||||
|
"src/GUIStuff/Elements/RadioButton.cpp"
|
||||||
|
"src/GUIStuff/Elements/CheckBox.cpp"
|
||||||
|
"src/GUIStuff/Elements/SelectableButton.cpp"
|
||||||
|
"src/GUIStuff/Elements/MovableTabList.cpp"
|
||||||
|
"src/GUIStuff/Elements/PaintCircleMenu.cpp"
|
||||||
|
"include/sago/platform_folders.cpp"
|
||||||
|
"include/Helpers/Networking/NetLibrary.cpp"
|
||||||
|
"include/Helpers/Networking/NetServer.cpp"
|
||||||
|
"include/Helpers/Networking/NetClient.cpp"
|
||||||
|
"include/Helpers/Networking/ByteStream.cpp"
|
||||||
|
"include/Helpers/Hashes.cpp"
|
||||||
|
"include/Helpers/BezierEasing.cpp"
|
||||||
|
"include/Helpers/Random.cpp"
|
||||||
|
"include/Helpers/Logger.cpp"
|
||||||
|
"include/Helpers/StringHelpers.cpp"
|
||||||
|
"include/Helpers/Serializers.cpp"
|
||||||
|
)
|
||||||
|
|
||||||
|
if(USE_VULKAN)
|
||||||
|
list(APPEND sources
|
||||||
|
"include/VkBootstrap.cpp"
|
||||||
|
"src/VulkanContext/VkTestMemoryAllocator.cpp"
|
||||||
|
"src/VulkanContext/VkTestUtils.cpp"
|
||||||
|
"src/VulkanContext/WindowContext.cpp"
|
||||||
|
"src/VulkanContext/VulkanWindowContext.cpp"
|
||||||
|
)
|
||||||
|
if(USE_GRAPHITE)
|
||||||
|
list(APPEND sources
|
||||||
|
"src/VulkanContext/GraphiteNativeVulkanWindowContext.cpp"
|
||||||
|
"src/VulkanContext/GraphiteToolUtils.cpp"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
elseif(NOT EMSCRIPTEN)
|
||||||
|
list(APPEND sources "include/glad.c")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
list(APPEND sources "windowsinstall/app.rc")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Get libraries
|
||||||
|
if(LINK_SKIA_MANUALLY)
|
||||||
|
set(SKIA_INCLUDE "modules/skia" CACHE PATH "Path to Skia root directory")
|
||||||
|
set(SKIA_LIB_PATH "modules/skia/out/Static" CACHE PATH "Path to Skia libs")
|
||||||
|
find_library(SKIA_LIB skia PATHS ${SKIA_LIB_PATH})
|
||||||
|
find_library(SKIA_SVG_LIB svg PATHS ${SKIA_LIB_PATH})
|
||||||
|
find_library(SKIA_RESOURCES_LIB skresources PATHS ${SKIA_LIB_PATH})
|
||||||
|
find_library(SKIA_PARAGRAPH_LIB skparagraph PATHS ${SKIA_LIB_PATH})
|
||||||
|
find_library(SKIA_SHAPER_LIB skshaper PATHS ${SKIA_LIB_PATH})
|
||||||
|
find_library(SKIA_UNICODE_ICU_LIB skunicode_icu PATHS ${SKIA_LIB_PATH})
|
||||||
|
find_library(SKIA_UNICODE_CORE_LIB skunicode_core PATHS ${SKIA_LIB_PATH})
|
||||||
|
else()
|
||||||
|
find_package(skia)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT EMSCRIPTEN)
|
||||||
|
find_package(SDL3 REQUIRED CONFIG REQUIRED COMPONENTS SDL3-shared)
|
||||||
|
find_package(LibDataChannel REQUIRED)
|
||||||
|
else()
|
||||||
|
find_package(SDL3 REQUIRED CONFIG REQUIRED COMPONENTS SDL3-static)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if((NOT EMSCRIPTEN) AND (NOT APPLE))
|
||||||
|
find_package(TBB REQUIRED)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
message("Skia root: " ${SKIA_INCLUDE})
|
||||||
|
message("Build type: " ${CMAKE_BUILD_TYPE})
|
||||||
|
|
||||||
|
add_executable(infinipaint ${sources})
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
set_target_properties(infinipaint PROPERTIES WIN32_EXECUTABLE TRUE)
|
||||||
|
elseif(APPLE)
|
||||||
|
set_target_properties(infinipaint PROPERTIES MACOSX_BUNDLE TRUE)
|
||||||
|
set_target_properties(infinipaint PROPERTIES
|
||||||
|
BUNDLE True
|
||||||
|
MACOSX_BUNDLE_GUI_IDENTIFIER com.erroratline0.infinipaint
|
||||||
|
MACOSX_BUNDLE_BUNDLE_NAME infinipaint
|
||||||
|
MACOSX_BUNDLE_BUNDLE_VERSION "0.0.1"
|
||||||
|
MACOSX_BUNDLE_SHORT_VERSION_STRING "0.0.1"
|
||||||
|
MACOSX_BUNDLE_INFO_PLIST ${CMAKE_SOURCE_DIR}/macosinstall/Info.plist
|
||||||
|
)
|
||||||
|
add_custom_command(TARGET infinipaint POST_BUILD
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy_directory
|
||||||
|
"${CMAKE_SOURCE_DIR}/data"
|
||||||
|
"$<TARGET_FILE_DIR:infinipaint>/../Resources/data"
|
||||||
|
)
|
||||||
|
add_custom_command(TARGET infinipaint POST_BUILD
|
||||||
|
COMMAND ${CMAKE_COMMAND} -E copy
|
||||||
|
"${CMAKE_SOURCE_DIR}/macosinstall/appicon.icns"
|
||||||
|
"$<TARGET_FILE_DIR:infinipaint>/../Resources/appicon.icns"
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(EMSCRIPTEN)
|
||||||
|
# Debug
|
||||||
|
#target_compile_options(infinipaint PRIVATE -Wall -fdiagnostics-color -sUSE_SDL=0)
|
||||||
|
#target_link_options(infinipaint PRIVATE --emrun -sUSE_SDL=0 -sFULL_ES2 -sUSE_WEBGL2=1 --embed-file data -sSINGLE_FILE -sALLOW_MEMORY_GROWTH -sEXPORTED_RUNTIME_METHODS=ccall -sEXPORTED_FUNCTIONS=[_main,_malloc,_free] --shell-file emscripteninstall/debugshell.html -sASSERTIONS -sMAXIMUM_MEMORY=4GB -sNO_DISABLE_EXCEPTION_CATCHING)
|
||||||
|
# Release
|
||||||
|
target_compile_options(infinipaint PRIVATE -Wall -fdiagnostics-color -sUSE_SDL=0 -O3 -include functional)
|
||||||
|
target_link_options(infinipaint PRIVATE --emrun -sUSE_SDL=0 -sFULL_ES2 -sUSE_WEBGL2=1 --embed-file data -sALLOW_MEMORY_GROWTH -sEXPORTED_RUNTIME_METHODS=ccall -sEXPORTED_FUNCTIONS=[_main,_malloc,_free] -sMAXIMUM_MEMORY=4GB -O3 -sSINGLE_FILE -lidbfs.js)
|
||||||
|
if(EMSCRIPTEN_SINGLE_HTML_FILE)
|
||||||
|
target_link_options(infinipaint PRIVATE --shell-file emscripteninstall/singlefilereleaseshell.html)
|
||||||
|
set(CMAKE_EXECUTABLE_SUFFIX ".html")
|
||||||
|
else()
|
||||||
|
set(CMAKE_EXECUTABLE_SUFFIX ".js")
|
||||||
|
endif()
|
||||||
|
message("In Emscripten Mode")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(USE_ASAN)
|
||||||
|
target_compile_options(infinipaint PRIVATE -fsanitize=address)
|
||||||
|
target_link_options(infinipaint PRIVATE -fsanitize=address)
|
||||||
|
message("Using ASAN")
|
||||||
|
endif()
|
||||||
|
if(USE_UBSAN)
|
||||||
|
target_compile_options(infinipaint PRIVATE -fsanitize=undefined)
|
||||||
|
target_link_options(infinipaint PRIVATE -fsanitize=undefined)
|
||||||
|
message("Using UBSan")
|
||||||
|
endif()
|
||||||
|
if(USE_LEAKSAN)
|
||||||
|
target_compile_options(infinipaint PRIVATE -fsanitize=leak)
|
||||||
|
target_link_options(infinipaint PRIVATE -fsanitize=leak)
|
||||||
|
message("Using LeakSan")
|
||||||
|
endif()
|
||||||
|
if(USE_THREADSAN)
|
||||||
|
target_compile_options(infinipaint PRIVATE -fsanitize=thread)
|
||||||
|
target_link_options(infinipaint PRIVATE -fsanitize=thread)
|
||||||
|
message("Using ThreadSan")
|
||||||
|
endif()
|
||||||
|
if(USE_MEMORYSAN)
|
||||||
|
target_compile_options(infinipaint PRIVATE -fsanitize=memory)
|
||||||
|
target_link_options(infinipaint PRIVATE -fsanitize=memory)
|
||||||
|
message("Using MemSan")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT WIN32)
|
||||||
|
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||||
|
target_compile_options(infinipaint PRIVATE -g -Wall -fdiagnostics-color)
|
||||||
|
message("In Debug Mode")
|
||||||
|
else()
|
||||||
|
target_compile_options(infinipaint PRIVATE -O3 -Wall -fdiagnostics-color)
|
||||||
|
target_link_options(infinipaint PRIVATE -O3) # Other things to consider: -ffast-math and -march=native
|
||||||
|
message("In Release Mode")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_include_directories(infinipaint PRIVATE "include")
|
||||||
|
|
||||||
|
target_compile_definitions(infinipaint PRIVATE IS_CLIENT)
|
||||||
|
if(WIN32)
|
||||||
|
target_compile_definitions(infinipaint PRIVATE WIN32_LEAN_AND_MEAN NOMINMAX)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if((NOT USE_VULKAN) AND (NOT EMSCRIPTEN))
|
||||||
|
find_package(OpenGL REQUIRED)
|
||||||
|
target_link_libraries(infinipaint OpenGL::GL)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if((NOT EMSCRIPTEN) AND (NOT APPLE))
|
||||||
|
if(TBB_NOT_ONETBB)
|
||||||
|
target_link_libraries(infinipaint TBB::tbb)
|
||||||
|
else()
|
||||||
|
target_link_libraries(infinipaint onetbb::onetbb)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_link_libraries(infinipaint SDL3::SDL3)
|
||||||
|
|
||||||
|
if(EMSCRIPTEN)
|
||||||
|
add_subdirectory(deps/datachannel-wasm EXCLUDE_FROM_ALL)
|
||||||
|
target_link_libraries(infinipaint datachannel-wasm)
|
||||||
|
else()
|
||||||
|
target_link_libraries(infinipaint LibDataChannel::LibDataChannel)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(LINK_SKIA_MANUALLY)
|
||||||
|
target_link_libraries(infinipaint ${SKIA_SVG_LIB} ${SKIA_RESOURCES_LIB} ${SKIA_LIB} ${SKIA_UNICODE_CORE_LIB} ${SKIA_UNICODE_ICU_LIB} ${SKIA_UNICODE_CORE_LIB} ${SKIA_PARAGRAPH_LIB} ${SKIA_SHAPER_LIB})
|
||||||
|
target_include_directories(infinipaint PRIVATE ${SKIA_INCLUDE})
|
||||||
|
else()
|
||||||
|
target_link_libraries(infinipaint skia::skia)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if((NOT USE_VULKAN) AND (NOT EMSCRIPTEN) AND LINUX)
|
||||||
|
target_link_libraries(infinipaint OpenGL::GLX)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(USE_VULKAN)
|
||||||
|
target_compile_definitions(infinipaint PRIVATE USE_BACKEND_VULKAN SK_VULKAN)
|
||||||
|
if(USE_GRAPHITE)
|
||||||
|
target_compile_definitions(infinipaint PRIVATE SK_GRAPHITE USE_SKIA_BACKEND_GRAPHITE)
|
||||||
|
else()
|
||||||
|
target_compile_definitions(infinipaint PRIVATE USE_SKIA_BACKEND_GANESH)
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
target_compile_definitions(infinipaint PRIVATE USE_BACKEND_OPENGL USE_SKIA_BACKEND_GANESH)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
target_compile_definitions(infinipaint PRIVATE BOOST_MP_STANDALONE EIGEN_MPL2_ONLY)
|
||||||
|
|
||||||
|
if(APPLE OR WIN32)
|
||||||
|
install(TARGETS infinipaint DESTINATION .)
|
||||||
|
|
||||||
|
set(CPACK_PACKAGE_NAME "infinipaint")
|
||||||
|
set(CPACK_PACKAGE_VERSION_MAJOR "0")
|
||||||
|
set(CPACK_PACKAGE_VERSION_MINOR "0")
|
||||||
|
set(CPACK_PACKAGE_VERSION_PATCH "1")
|
||||||
|
set(CPACK_PACKAGE_VENDOR "ErrorAtLine0")
|
||||||
|
set(CPACK_PACKAGE_CONTACT "erroratline0@gmail.com")
|
||||||
|
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(APPLE)
|
||||||
|
# Nothing specific here for now
|
||||||
|
elseif(WIN32)
|
||||||
|
install(DIRECTORY data DESTINATION .)
|
||||||
|
|
||||||
|
set(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_SKIP TRUE)
|
||||||
|
include(InstallRequiredSystemLibraries)
|
||||||
|
install(PROGRAMS ${CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS} DESTINATION .)
|
||||||
|
|
||||||
|
set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
|
||||||
|
set(CPACK_NSIS_DISPLAY_NAME "InfiniPaint")
|
||||||
|
set(CPACK_NSIS_PACKAGE_NAME "InfiniPaint")
|
||||||
|
set(CPACK_NSIS_UNINSTALL_NAME "InfiniPaint Uninstall")
|
||||||
|
set(CPACK_NSIS_WELCOME_TITLE "Welcome to InfiniPaint Installer")
|
||||||
|
set(CPACK_NSIS_EXECUTABLES_DIRECTORY .)
|
||||||
|
set(CPACK_NSIS_URL_INFO_ABOUT "https://infinipaint.com")
|
||||||
|
set(CPACK_NSIS_MENU_LINKS "infinipaint.exe" "InfiniPaint")
|
||||||
|
set(CPACK_NSIS_INSTALLED_ICON_NAME "infinipaint.exe")
|
||||||
|
set(CPACK_NSIS_MUI_ICON "${CMAKE_SOURCE_DIR}/windowsinstall/icon.ico")
|
||||||
|
set(CPACK_NSIS_MUI_UNIICON "${CMAKE_SOURCE_DIR}/windowsinstall/icon.ico")
|
||||||
|
# A backslash character uses 4 backslashes, since we have to escape twice
|
||||||
|
# Double quote uses 3 backslashes, since we have to escape the backslash (two slashes), and escape the double quote (one slash)
|
||||||
|
set(CPACK_NSIS_EXTRA_INSTALL_COMMANDS "
|
||||||
|
WriteRegStr HKCR '.infpnt' '' 'InfiniPaintCanvas'
|
||||||
|
WriteRegStr HKCR 'InfiniPaintCanvas' '' 'InfiniPaint Canvas File'
|
||||||
|
WriteRegStr HKCR 'InfiniPaintCanvas\\\\shell' '' 'open'
|
||||||
|
WriteRegStr HKCR 'InfiniPaintCanvas\\\\DefaultIcon' '' '\\\"$INSTDIR\\\\infinipaint.exe\\\",0'
|
||||||
|
WriteRegStr HKCR 'InfiniPaintCanvas\\\\shell\\\\open\\\\command' '' '\\\"$INSTDIR\\\\infinipaint.exe\\\" \\\"%1\\\"'
|
||||||
|
WriteRegStr HKCR 'InfiniPaintCanvas\\\\shell\\\\edit' '' 'Edit InfiniPaint Canvas File'
|
||||||
|
WriteRegStr HKCR 'InfiniPaintCanvas\\\\shell\\\\edit\\\\command' '' '\\\"$INSTDIR\\\\infinipaint.exe\\\" \\\"%1\\\"'
|
||||||
|
System::Call 'Shell32::SHChangeNotify(i 0x8000000, i 0, i 0, i 0)'
|
||||||
|
")
|
||||||
|
|
||||||
|
set(CPACK_NSIS_EXTRA_UNINSTALL_COMMANDS "
|
||||||
|
DeleteRegKey HKCR '.infpnt'
|
||||||
|
DeleteRegKey HKCR 'InfiniPaintCanvas'
|
||||||
|
")
|
||||||
|
else()
|
||||||
|
install(DIRECTORY data DESTINATION bin)
|
||||||
|
install(TARGETS infinipaint DESTINATION bin)
|
||||||
|
install(FILES linuxinstall/com.erroratline0.infinipaint.desktop DESTINATION share/applications)
|
||||||
|
install(FILES logo.svg DESTINATION share/icons/hicolor/scalable/apps RENAME com.erroratline0.infinipaint.svg)
|
||||||
|
install(FILES linuxinstall/com.erroratline0.infinipaint.metainfo.xml DESTINATION share/metainfo)
|
||||||
|
install(FILES linuxinstall/com.erroratline0.infinipaint.xml DESTINATION share/mime/packages)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(APPLE OR WIN32)
|
||||||
|
include(CPack)
|
||||||
|
endif()
|
||||||
7
LICENSE
Executable file
|
|
@ -0,0 +1,7 @@
|
||||||
|
Copyright (c) 2025 Yousef Khadadeh
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
1
NOTICE
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
Third party libraries are used in this project. The licenses for these libraries are included in data/third_party_licenses. This directory includes licenses for direct dependencies, as well as for some of the dependencies for libraries used by this project.
|
||||||
42
README
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
#  InfiniPaint
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
InfiniPaint is a **collaborative, infinite** canvas note-taking/drawing app. Unlike many other infinite canvas apps, although there is a specific zoom-in level limit, there is **no zoom-out limit** (at least up until the point your computer runs out of memory). This means that this app is very good at things such as drawing sketches of the solar system to scale, or just drawing any massive objects with tiny details. Of course, even though this is a feature, this app is also perfectly well suited for use as a normal canvas.
|
||||||
|
|
||||||
|
You can try the web version of this app at [infinipaint.com](https://infinipaint.com) (requires a WebGL2 capable browser). The web version was compiled from C++ to Javascript using Emscripten, and may contain some bugs, so if possible, please consider downloading the native version for a better experience.
|
||||||
|
|
||||||
|
This program is a work in progress, so I cannot guarantee that files created in this version will open in future versions.
|
||||||
|
|
||||||
|
This app was inspired by [Lorien](https://github.com/mbrlabs/Lorien), another great infinite canvas program.
|
||||||
|
|
||||||
|
##Features
|
||||||
|
|
||||||
|
- Infinite canvas, with infinite zoom
|
||||||
|
- Open online lobbies for collaboration
|
||||||
|
- Text chat with others in the lobby
|
||||||
|
- Jump to the location of other players through the player list
|
||||||
|
- See other members draw in real time
|
||||||
|
- Although this is a feature, this app can also be used offline
|
||||||
|
- Graphics tablet support (Pressure sensitive brush and eraser detection)
|
||||||
|
- Saveable color palettes
|
||||||
|
- Quick menu usable by right clicking on the canvas, which can be used to:
|
||||||
|
- Quickly change brush colors using the currently selected color palette
|
||||||
|
- Rotate the canvas
|
||||||
|
- Place bookmarks on the canvas to jump to later
|
||||||
|
- Undo/Redo
|
||||||
|
- PNG, JPG, WEBP export of specific parts of the canvas at any resolution (Screenshot Tool)
|
||||||
|
- Transform (Move, Scale, Rotate) any object on the canvas (Rectangle Select Tool)
|
||||||
|
- Display Images and animated GIFs on the canvas
|
||||||
|
- Note: May take a lot of memory to store and display images compared to other objects, especially GIFs
|
||||||
|
- Hide (or unhide) the UI by pressing Tab
|
||||||
|
- Remappable keybinds
|
||||||
|
- Create custom UI themes
|
||||||
|
- Static square grid at initial zoom level
|
||||||
|
- Other tools: Textbox, Rectangle, Circle, Eye dropper/color picker, Edit/cursor
|
||||||
|
- Can copy/paste objects selected with the Rectangle Select tool (Ctrl-C Ctrl-V). This can also be done between different files, as long as they're open in different tabs in the same window.
|
||||||
|
- Any file can be placed on the canvas, and using the edit tool, you can download any file/image on the canvas to your computer. This can be used as a sort of file sharing mechanism in a collaborative canvas (should probably only use this for small files...)
|
||||||
|
|
||||||
|
##More Info
|
||||||
|
- [Usage Manual](docs/MANUAL.md)
|
||||||
|
- [Building from Source](docs/BUILDING.md)
|
||||||
24
conan/conan-skia/LICENSE
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
This is free and unencumbered software released into the public domain.
|
||||||
|
|
||||||
|
Anyone is free to copy, modify, publish, use, compile, sell, or
|
||||||
|
distribute this software, either in source code form or as a compiled
|
||||||
|
binary, for any purpose, commercial or non-commercial, and by any
|
||||||
|
means.
|
||||||
|
|
||||||
|
In jurisdictions that recognize copyright laws, the author or authors
|
||||||
|
of this software dedicate any and all copyright interest in the
|
||||||
|
software to the public domain. We make this dedication for the benefit
|
||||||
|
of the public at large and to the detriment of our heirs and
|
||||||
|
successors. We intend this dedication to be an overt act of
|
||||||
|
relinquishment in perpetuity of all present and future rights to this
|
||||||
|
software under copyright law.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
|
||||||
|
OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
|
||||||
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
|
||||||
|
For more information, please refer to <https://unlicense.org>
|
||||||
52
conan/conan-skia/README.md
Normal file
|
|
@ -0,0 +1,52 @@
|
||||||
|
# Conan 2.0 recipe for Skia
|
||||||
|
|
||||||
|
Conan 2.0 recipe for Skia graphics library.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
|
||||||
|
You can add this repository as [Local Recipes Index Repository](https://docs.conan.io/2/tutorial/conan_repositories/setup_local_recipes_index.html), or manually `conan create` the recipe at `recipes/skia/all`.
|
||||||
|
|
||||||
|
## Version
|
||||||
|
|
||||||
|
Currently supports following versions:
|
||||||
|
|
||||||
|
* `chrome/m130`
|
||||||
|
* `130.20241118.0`
|
||||||
|
* `chrome/m131`
|
||||||
|
* `131.20250131.0`
|
||||||
|
* `chrome/m132`
|
||||||
|
* `132.20250131.0`
|
||||||
|
* `chrome/m133`
|
||||||
|
* `133.20250327.0`
|
||||||
|
* `chrome/m134`
|
||||||
|
* `134.20250327.0`
|
||||||
|
|
||||||
|
Version numbers are formatted as `(chrome milestone version).(checkout date).0`
|
||||||
|
|
||||||
|
If you need other versions, please open new issue on Github.
|
||||||
|
|
||||||
|
## Requirements
|
||||||
|
|
||||||
|
* Since `chrome/m100` Skia requires C++17.
|
||||||
|
|
||||||
|
## OS
|
||||||
|
|
||||||
|
Tested on following OS (with default options):
|
||||||
|
|
||||||
|
| OS | shared | static |
|
||||||
|
| ------------- | ------ | ------ |
|
||||||
|
| Windows |  |  |
|
||||||
|
| Macos |  |  |
|
||||||
|
| iOS |  |  |
|
||||||
|
| Linux |  |  |
|
||||||
|
| Android/arm64 |  |  |
|
||||||
|
| Android/arm32 |  |  |
|
||||||
|
| Emscripten | |  |
|
||||||
|
|
||||||
|
## Bug reports
|
||||||
|
|
||||||
|
Please open new issue on Github Issues.
|
||||||
|
|
||||||
|
## License
|
||||||
|
|
||||||
|
The Unlicense (Public Domain)
|
||||||
14
conan/conan-skia/profiles/android-r26d-armv7.profile
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
include(default)
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
os=Android
|
||||||
|
os.api_level=28
|
||||||
|
arch=armv7
|
||||||
|
compiler=clang
|
||||||
|
compiler.version=12
|
||||||
|
compiler.libcxx=c++_static
|
||||||
|
compiler.cppstd=17
|
||||||
|
|
||||||
|
[tool_requires]
|
||||||
|
android-ndk/r26d
|
||||||
|
make/4.4.1
|
||||||
14
conan/conan-skia/profiles/android-r26d-armv8.profile
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
include(default)
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
os=Android
|
||||||
|
os.api_level=28
|
||||||
|
arch=armv8
|
||||||
|
compiler=clang
|
||||||
|
compiler.version=12
|
||||||
|
compiler.libcxx=c++_static
|
||||||
|
compiler.cppstd=17
|
||||||
|
|
||||||
|
[tool_requires]
|
||||||
|
android-ndk/r26d
|
||||||
|
make/4.4.1
|
||||||
12
conan/conan-skia/profiles/emscripten.profile
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
include(default)
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
os=Emscripten
|
||||||
|
arch=wasm
|
||||||
|
compiler=clang
|
||||||
|
compiler.version=16
|
||||||
|
compiler.libcxx=libc++
|
||||||
|
compiler.cppstd=17
|
||||||
|
|
||||||
|
[tool_requires]
|
||||||
|
*: emsdk/3.1.50
|
||||||
11
conan/conan-skia/profiles/ios-armv8.profile
Normal file
|
|
@ -0,0 +1,11 @@
|
||||||
|
include(default)
|
||||||
|
|
||||||
|
[settings]
|
||||||
|
os=iOS
|
||||||
|
os.version=17.5
|
||||||
|
os.sdk=iphoneos
|
||||||
|
os.sdk_version=17.5
|
||||||
|
arch=armv8.3
|
||||||
|
compiler=apple-clang
|
||||||
|
compiler.version=15.0
|
||||||
|
compiler.libcxx=libc++
|
||||||
2
conan/conan-skia/profiles/sys_root_empty.ini
Normal file
|
|
@ -0,0 +1,2 @@
|
||||||
|
[properties]
|
||||||
|
sys_root = ''
|
||||||
37
conan/conan-skia/recipes/skia/all/conandata.yml
Normal file
|
|
@ -0,0 +1,37 @@
|
||||||
|
sources:
|
||||||
|
"126.20240526.0":
|
||||||
|
url:
|
||||||
|
- "https://github.com/google/skia/archive/69980ce8d04144b41adbc5cc194f29adbc12ceaa.zip"
|
||||||
|
sha256: "8096a1f4317cac42e6f868af6cf7c22c5f75cd79e5217ff4be768bae9218168e"
|
||||||
|
"127.20240803.0":
|
||||||
|
url:
|
||||||
|
- "https://github.com/google/skia/archive/1c8089adffdabe3790cc4ca4fb36e24c2f6ab792.zip"
|
||||||
|
sha256: "d00e9d3c00b23cb057ce9a3afccbe8cee15d85135def375265488f974b273290"
|
||||||
|
"128.20241118.0":
|
||||||
|
url:
|
||||||
|
- "https://github.com/google/skia/archive/5cc7e24d986e9c1ba3d44c4a36353b393305a79b.zip"
|
||||||
|
sha256: "bcaf85d84d96e25d3b03aa55a3835ac01c1d24df90982869d23db11706cd4794"
|
||||||
|
"129.20241118.0":
|
||||||
|
url:
|
||||||
|
- "https://github.com/google/skia/archive/80be572399d10cec68fd971a64984b2b0feb5f66.zip"
|
||||||
|
sha256: "1f8fdc4c78499d9b1daa0b832ddb99f06206ebfd2d472d66e75284d6310509eb"
|
||||||
|
"130.20241118.0":
|
||||||
|
url:
|
||||||
|
- "https://github.com/google/skia/archive/d41eba845cdb7ade07e68f20676675c25e2734fc.zip"
|
||||||
|
sha256: "9e0662def5a76c95b5c43b50be052dab965ae30188a40e8926f19823ae113d03"
|
||||||
|
"131.20250131.0":
|
||||||
|
url:
|
||||||
|
- "https://github.com/google/skia/archive/f14f6b1ab7cf544c0190074488d17821281cfa4d.zip"
|
||||||
|
sha256: "05cee9a0051af3f62cf72dcc9f19151ad17eef3e8e7bac46f8f539d04fce327f"
|
||||||
|
"132.20250131.0":
|
||||||
|
url:
|
||||||
|
- "https://github.com/google/skia/archive/ee9db7d1348f76780fd0184b9b0243d653e36411.zip"
|
||||||
|
sha256: "47285853c86a2a7a0f2ee6cede13043b79a71c0ba1302b70ef63e335d07e8192"
|
||||||
|
"133.20250327.0":
|
||||||
|
url:
|
||||||
|
- "https://github.com/google/skia/archive/ecebe831881cdf52c65df518777210071f7970dd.zip"
|
||||||
|
sha256: "3595d8e00f06b77b7636f3ef31b04ac5a2ca5bdba872528e460b9cfe80ef4433"
|
||||||
|
"134.20250327.0":
|
||||||
|
url:
|
||||||
|
- "https://github.com/google/skia/archive/aefbd9403c1b3032ad4cd0281ef312ed262c7125.zip"
|
||||||
|
sha256: "e10c67a96828b9f36364e2459cdee3e3b381a3875ff78db2b30e7b6fe69509bb"
|
||||||
967
conan/conan-skia/recipes/skia/all/conanfile.py
Normal file
|
|
@ -0,0 +1,967 @@
|
||||||
|
from conan import ConanFile
|
||||||
|
from conan.tools.files import apply_conandata_patches, export_conandata_patches, get, copy, rename, mkdir, rmdir, save, replace_in_file
|
||||||
|
from conan.tools.build.flags import cppstd_flag
|
||||||
|
from conan.tools.build import check_min_cppstd
|
||||||
|
from conan.tools.microsoft import is_msvc
|
||||||
|
from conan.tools.microsoft.visual import msvc_runtime_flag
|
||||||
|
from conan.tools.apple import is_apple_os, XCRun
|
||||||
|
from conan.tools.gnu import AutotoolsToolchain
|
||||||
|
from conan.tools.env import VirtualBuildEnv
|
||||||
|
from conan.errors import ConanInvalidConfiguration
|
||||||
|
|
||||||
|
from os.path import join
|
||||||
|
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
import json
|
||||||
|
|
||||||
|
class ConanSkia(ConanFile):
|
||||||
|
name = "skia"
|
||||||
|
package_type = "library"
|
||||||
|
|
||||||
|
# Optional metadata
|
||||||
|
license = "<Put the package license here>"
|
||||||
|
author = "<Put your name here> <And your email here>"
|
||||||
|
url = "<Package recipe repository url here, for issues about the package>"
|
||||||
|
description = "<Description of skia package here>"
|
||||||
|
topics = ("<Put some tag here>", "<here>", "<and here>")
|
||||||
|
|
||||||
|
# Binary configuration
|
||||||
|
settings = "os", "compiler", "build_type", "arch"
|
||||||
|
|
||||||
|
_skia_options = {
|
||||||
|
# configurable dependencies
|
||||||
|
"use_expat" : [True, False],
|
||||||
|
"use_freetype" : [True, False],
|
||||||
|
"use_harfbuzz" : [True, False],
|
||||||
|
"use_icu" : [True, False],
|
||||||
|
"use_libjpeg_turbo_encode" : [True, False],
|
||||||
|
"use_libjpeg_turbo_decode" : [True, False],
|
||||||
|
"use_libpng_encode" : [True, False],
|
||||||
|
"use_libpng_decode" : [True, False],
|
||||||
|
"use_libwebp_encode" : [True, False],
|
||||||
|
"use_libwebp_decode" : [True, False],
|
||||||
|
"use_zlib" : [True, False],
|
||||||
|
# system library options
|
||||||
|
"use_system_expat" : [True, False],
|
||||||
|
"use_system_freetype": [True, False],
|
||||||
|
"use_system_harfbuzz" : [True, False],
|
||||||
|
"use_system_icu" :[True, False],
|
||||||
|
"use_system_libjpeg_turbo" : [True, False],
|
||||||
|
"use_system_libpng" : [True, False],
|
||||||
|
"use_system_libwebp" : [True, False],
|
||||||
|
"use_system_zlib" : [True, False],
|
||||||
|
# conan library options
|
||||||
|
"use_conan_expat" : [True, False],
|
||||||
|
"use_conan_freetype": [True, False],
|
||||||
|
"use_conan_fontconfig": [True, False],
|
||||||
|
"use_conan_harfbuzz" : [True, False],
|
||||||
|
"use_conan_icu" :[True, False],
|
||||||
|
"use_conan_libjpeg_turbo" : [True, False],
|
||||||
|
"use_conan_libpng" : [True, False],
|
||||||
|
"use_conan_libwebp" : [True, False],
|
||||||
|
"use_conan_zlib" : [True, False],
|
||||||
|
# backend options
|
||||||
|
"use_angle" : [True, False],
|
||||||
|
"use_gl" : [True, False],
|
||||||
|
"use_vulkan" : [True, False],
|
||||||
|
"use_metal" : [True, False],
|
||||||
|
"use_webgl" : [True, False],
|
||||||
|
"use_webgpu" : [True, False],
|
||||||
|
"use_dawn" : [True, False],
|
||||||
|
"use_direct3d" :[True, False],
|
||||||
|
"use_piex" : [True, False],
|
||||||
|
"use_wuffs" : [True, False],
|
||||||
|
"use_libavif" : [True, False],
|
||||||
|
"use_libjxl_decode" : [True, False],
|
||||||
|
"use_ndk_images" : [True, False],
|
||||||
|
"use_x11" : [True, False],
|
||||||
|
"use_xps" : [True, False],
|
||||||
|
"use_dng_sdk" : [True, False],
|
||||||
|
"use_fontconfig" : [True, False],
|
||||||
|
"use_fonthost_mac" : [True, False],
|
||||||
|
"use_perfetto" : [True, False],
|
||||||
|
# backend toggles
|
||||||
|
"enable_ganesh" : [True, False],
|
||||||
|
"enable_graphite" : [True, False],
|
||||||
|
"enable_pdf" : [True, False],
|
||||||
|
"enable_winuwp" : [True, False],
|
||||||
|
"enable_fontmgr_android" : [True, False],
|
||||||
|
"enable_fontmgr_custom_directory" : [True, False],
|
||||||
|
"enable_fontmgr_custom_embedded" : [True, False],
|
||||||
|
"enable_fontmgr_custom_empty" : [True, False],
|
||||||
|
"enable_fontmgr_fontconfig" : [True, False],
|
||||||
|
"enable_fontmgr_win" : [True, False],
|
||||||
|
"enable_fontmgr_win_gdi" : [True, False],
|
||||||
|
"enable_fontmgr_FontConfigInterface" : [True, False],
|
||||||
|
# modules
|
||||||
|
"enable_svg" : [True, False],
|
||||||
|
"enable_skottie" : [True, False],
|
||||||
|
"enable_skunicode" : [True, False],
|
||||||
|
"enable_skshaper" : [True, False],
|
||||||
|
"enable_bentleyottmann" : [True, False],
|
||||||
|
"enable_skparagraph" : [True, False],
|
||||||
|
# canvaskit
|
||||||
|
"canvaskit_enable_alias_font" : [True, False],
|
||||||
|
"canvaskit_enable_canvas_bindings" : [True, False],
|
||||||
|
"canvaskit_enable_effects_deserialization" : [True, False],
|
||||||
|
"canvaskit_enable_embedded_font" : [True, False],
|
||||||
|
"canvaskit_enable_font" : [True, False],
|
||||||
|
"canvaskit_enable_matrix_helper" : [True, False],
|
||||||
|
"canvaskit_enable_pathops" : [True, False],
|
||||||
|
"canvaskit_enable_rt_shader" : [True, False],
|
||||||
|
"canvaskit_enable_skp_serialization" : [True, False],
|
||||||
|
"canvaskit_enable_sksl_trace" : [True, False],
|
||||||
|
"canvaskit_enable_paragraph" : [True, False],
|
||||||
|
"canvaskit_enable_webgpu" : [True, False],
|
||||||
|
"canvaskit_enable_webgl" : [True, False],
|
||||||
|
# other options
|
||||||
|
"enable_precompile" : [True, False],
|
||||||
|
"enable_optimize_size" : [True, False],
|
||||||
|
"enable_api_available_macro" : [True, False],
|
||||||
|
"gl_standard" : ["gl", "gles", "webgl", ""],
|
||||||
|
}
|
||||||
|
|
||||||
|
_skia_default_options = {
|
||||||
|
# configurable dependencies
|
||||||
|
"use_icu" : True,
|
||||||
|
"use_libjpeg_turbo_encode" : True,
|
||||||
|
"use_libjpeg_turbo_decode" : True,
|
||||||
|
"use_libpng_encode" : True,
|
||||||
|
"use_libpng_decode" : True,
|
||||||
|
"use_libwebp_encode" : True,
|
||||||
|
"use_libwebp_decode" : True,
|
||||||
|
"use_zlib" : True,
|
||||||
|
# system library options
|
||||||
|
"use_system_expat" : True,
|
||||||
|
"use_system_freetype": True,
|
||||||
|
"use_system_harfbuzz" : True,
|
||||||
|
"use_system_icu" : True,
|
||||||
|
"use_system_libjpeg_turbo" : True,
|
||||||
|
"use_system_libpng" : True,
|
||||||
|
"use_system_libwebp" : True,
|
||||||
|
"use_system_zlib" : True,
|
||||||
|
# conan library options
|
||||||
|
"use_conan_expat" : True,
|
||||||
|
"use_conan_freetype": True,
|
||||||
|
"use_conan_fontconfig": True,
|
||||||
|
"use_conan_harfbuzz" : True,
|
||||||
|
"use_conan_icu" : True,
|
||||||
|
"use_conan_libjpeg_turbo" : True,
|
||||||
|
"use_conan_libpng" : True,
|
||||||
|
"use_conan_libwebp" : True,
|
||||||
|
"use_conan_zlib" : True,
|
||||||
|
# backend options
|
||||||
|
"use_angle" : False,
|
||||||
|
"use_gl" : True,
|
||||||
|
"use_vulkan" : False,
|
||||||
|
"use_metal" : False,
|
||||||
|
"use_dawn" : False,
|
||||||
|
"use_direct3d" : False,
|
||||||
|
"use_xps" : True,
|
||||||
|
"use_wuffs" : True,
|
||||||
|
"use_libavif" : False,
|
||||||
|
"use_libjxl_decode" : False,
|
||||||
|
# backend toggles
|
||||||
|
"enable_ganesh" : True,
|
||||||
|
"enable_graphite" : False,
|
||||||
|
"enable_winuwp" : False,
|
||||||
|
# modules
|
||||||
|
"enable_skshaper" : True,
|
||||||
|
"enable_bentleyottmann" : True,
|
||||||
|
# canvaskit
|
||||||
|
"canvaskit_enable_alias_font" : True,
|
||||||
|
"canvaskit_enable_canvas_bindings" : True,
|
||||||
|
"canvaskit_enable_effects_deserialization" : True,
|
||||||
|
"canvaskit_enable_embedded_font" : True,
|
||||||
|
"canvaskit_enable_font" : True,
|
||||||
|
"canvaskit_enable_matrix_helper" : True,
|
||||||
|
"canvaskit_enable_pathops" : True,
|
||||||
|
"canvaskit_enable_rt_shader" : True,
|
||||||
|
"canvaskit_enable_skp_serialization" : True,
|
||||||
|
"canvaskit_enable_sksl_trace" : True,
|
||||||
|
"canvaskit_enable_webgpu " : False,
|
||||||
|
"canvaskit_enable_webgl " : False,
|
||||||
|
# other options
|
||||||
|
"enable_precompile" : True,
|
||||||
|
"enable_optimize_size" : False,
|
||||||
|
"enable_api_available_macro" : True,
|
||||||
|
}
|
||||||
|
|
||||||
|
options = {
|
||||||
|
"shared" : [True, False],
|
||||||
|
"fPIC" : [True, False],
|
||||||
|
} | _skia_options
|
||||||
|
|
||||||
|
default_options = {
|
||||||
|
"shared": False,
|
||||||
|
"fPIC": True,
|
||||||
|
} | _skia_default_options
|
||||||
|
|
||||||
|
def _is_ios_variant(self):
|
||||||
|
os = self.settings.os
|
||||||
|
return (os == "iOS" or os == "watchOS" or os == "tvOS" or os == "visionOS")
|
||||||
|
|
||||||
|
def _is_ios_variant_simulator(self):
|
||||||
|
os = self.settings.os
|
||||||
|
if os == "iOS" and os.sdk == "iphonesimulator":
|
||||||
|
return True
|
||||||
|
elif os == "watchOS" and os.sdk == "watchsimulator":
|
||||||
|
return True
|
||||||
|
elif os == "tvOS" and os.sdk == "appletvsimulator":
|
||||||
|
return True
|
||||||
|
elif os == "visionOS" and os.sdk == "xrsimulator":
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
def config_options(self):
|
||||||
|
if self.settings.os == "Windows":
|
||||||
|
self.options.rm_safe("fPIC")
|
||||||
|
|
||||||
|
|
||||||
|
def validate(self):
|
||||||
|
if self.settings.compiler.cppstd:
|
||||||
|
check_min_cppstd(self, 17)
|
||||||
|
|
||||||
|
if self.settings.arch == "x86":
|
||||||
|
pass
|
||||||
|
elif self.settings.arch == "x86_64":
|
||||||
|
pass
|
||||||
|
elif self.settings.arch == "wasm":
|
||||||
|
pass
|
||||||
|
elif re.match(r'armv7.*', self.settings.arch.value):
|
||||||
|
pass
|
||||||
|
elif re.match(r'armv8.*', self.settings.arch.value):
|
||||||
|
pass
|
||||||
|
else:
|
||||||
|
raise ConanInvalidConfiguration("Unsupported settings.arch")
|
||||||
|
|
||||||
|
def configure(self):
|
||||||
|
os = self.settings.os
|
||||||
|
arch = self.settings.arch
|
||||||
|
|
||||||
|
if self.options.shared:
|
||||||
|
self.options.rm_safe("fPIC")
|
||||||
|
|
||||||
|
if self.options.use_harfbuzz == None:
|
||||||
|
# Disabled on Emscripten due to false-positive of HAVE_MPROTECT.
|
||||||
|
# Will revisit once 9.0.0 is added to conancenter.
|
||||||
|
enabled = (os != "Emscripten")
|
||||||
|
self.options.use_harfbuzz = enabled
|
||||||
|
|
||||||
|
if self.options.use_expat == None:
|
||||||
|
enabled = (arch != "wasm")
|
||||||
|
self.options.use_expat = enabled
|
||||||
|
|
||||||
|
if self.options.use_freetype == None:
|
||||||
|
enabled = (os == "Android" or os == "Linux" or arch == "wasm")
|
||||||
|
self.options.use_freetype = enabled
|
||||||
|
|
||||||
|
if self.options.use_webgl == None:
|
||||||
|
enabled = (arch == "wasm")
|
||||||
|
self.options.use_webgl = enabled
|
||||||
|
|
||||||
|
if self.options.use_webgpu == None:
|
||||||
|
enabled = (arch == "wasm")
|
||||||
|
self.options.use_webgpu = enabled
|
||||||
|
|
||||||
|
if self.options.use_x11 == None:
|
||||||
|
enabled = (os == "Linux")
|
||||||
|
self.options.use_x11 = enabled
|
||||||
|
|
||||||
|
if self.options.use_fontconfig == None:
|
||||||
|
enabled = (os == "Linux")
|
||||||
|
self.options.use_fontconfig = enabled
|
||||||
|
|
||||||
|
if self.options.use_fonthost_mac == None:
|
||||||
|
enabled = (os == "Macos" or self._is_ios_variant())
|
||||||
|
self.options.use_fonthost_mac = enabled
|
||||||
|
|
||||||
|
if self.options.use_perfetto == None:
|
||||||
|
enabled = (os == "Macos" or os == "Android" or os == "Linux")
|
||||||
|
self.options.use_perfetto = enabled
|
||||||
|
|
||||||
|
if self.options.enable_pdf == None:
|
||||||
|
enabled = arch != "wasm"
|
||||||
|
self.options.enable_pdf = enabled
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_android == None:
|
||||||
|
enabled = self.options.use_freetype and self.options.use_expat
|
||||||
|
self.options.enable_fontmgr_android = enabled
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_custom_directory == None:
|
||||||
|
enabled = self.options.use_freetype and arch != "wasm"
|
||||||
|
self.options.enable_fontmgr_custom_directory = enabled
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_custom_embedded == None:
|
||||||
|
enabled = self.options.use_freetype
|
||||||
|
self.options.enable_fontmgr_custom_embedded = enabled
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_custom_empty == None:
|
||||||
|
enabled = self.options.use_freetype
|
||||||
|
self.options.enable_fontmgr_custom_empty = enabled
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_fontconfig == None:
|
||||||
|
enabled = self.options.use_freetype and self.options.use_fontconfig
|
||||||
|
self.options.enable_fontmgr_fontconfig = enabled
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_win == None:
|
||||||
|
enabled = (os == "Windows")
|
||||||
|
self.options.enable_fontmgr_win = enabled
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_win_gdi == None:
|
||||||
|
enabled = (os == "Windows") and not self.options.enable_winuwp
|
||||||
|
self.options.enable_fontmgr_win_gdi = enabled
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_FontConfigInterface == None:
|
||||||
|
enabled = self.options.use_freetype and self.options.use_fontconfig
|
||||||
|
self.options.enable_fontmgr_FontConfigInterface = enabled
|
||||||
|
|
||||||
|
if self.options.use_piex == None:
|
||||||
|
enabled = os != "Windows" and arch != "wasm"
|
||||||
|
self.options.use_piex = enabled
|
||||||
|
|
||||||
|
if self.options.use_dng_sdk == None:
|
||||||
|
enabled = arch != "wasm" and self.options.use_libjpeg_turbo_decode and self.options.use_zlib
|
||||||
|
self.options.use_dng_sdk = enabled
|
||||||
|
|
||||||
|
if self.options.use_ndk_images == None:
|
||||||
|
enabled = os == "Android" and int(os.api_level.value) >= 30
|
||||||
|
self.options.use_ndk_images = enabled
|
||||||
|
|
||||||
|
if self.options.enable_svg == None:
|
||||||
|
enabled = not self.options.shared
|
||||||
|
self.options.enable_svg = enabled
|
||||||
|
|
||||||
|
if self.options.enable_skottie == None:
|
||||||
|
enabled = not self.options.shared
|
||||||
|
self.options.enable_skottie = enabled
|
||||||
|
|
||||||
|
if self.options.enable_skunicode == None:
|
||||||
|
enabled = self.options.use_icu
|
||||||
|
self.options.enable_skunicode = enabled
|
||||||
|
|
||||||
|
if self.options.enable_skparagraph == None:
|
||||||
|
enabled = self.options.enable_skshaper and self.options.enable_skunicode and self.options.use_harfbuzz
|
||||||
|
self.options.enable_skparagraph = enabled
|
||||||
|
|
||||||
|
if self.options.canvaskit_enable_paragraph == None:
|
||||||
|
enabled = self.options.enable_skparagraph
|
||||||
|
self.options.canvaskit_enable_paragraph = enabled
|
||||||
|
|
||||||
|
if self.options.gl_standard == None:
|
||||||
|
if os == "Macos":
|
||||||
|
self.options.gl_standard = "gl"
|
||||||
|
elif self._is_ios_variant():
|
||||||
|
self.options.gl_standard = "gles"
|
||||||
|
elif arch == "wasm":
|
||||||
|
self.options.gl_standard = "webgl"
|
||||||
|
else:
|
||||||
|
self.options.gl_standard = ""
|
||||||
|
|
||||||
|
# Remove unnecessary system library options.
|
||||||
|
|
||||||
|
if self.options.use_expat == False:
|
||||||
|
self.options.rm_safe("use_system_expat")
|
||||||
|
elif not self.options.use_system_expat:
|
||||||
|
self.options.rm_safe("use_conan_expat")
|
||||||
|
|
||||||
|
if self.options.use_freetype == False:
|
||||||
|
self.options.rm_safe("use_system_freetype")
|
||||||
|
elif not self.options.use_system_freetype:
|
||||||
|
self.options.rm_safe("use_conan_freetype")
|
||||||
|
|
||||||
|
if self.options.use_icu == False:
|
||||||
|
self.options.rm_safe("use_system_icu")
|
||||||
|
elif not self.options.use_system_icu:
|
||||||
|
self.options.rm_safe("use_conan_icu")
|
||||||
|
|
||||||
|
if self.options.use_harfbuzz == False:
|
||||||
|
self.options.rm_safe("use_system_harfbuzz")
|
||||||
|
elif not self.options.use_system_harfbuzz:
|
||||||
|
self.options.rm_safe("use_conan_harfbuzz")
|
||||||
|
|
||||||
|
if self.options.use_libjpeg_turbo_encode == False and self.options.use_libjpeg_turbo_decode == False:
|
||||||
|
self.options.rm_safe("use_system_libjpeg_turbo")
|
||||||
|
elif not self.options.use_system_libjpeg_turbo:
|
||||||
|
self.options.rm_safe("use_conan_libjpeg_turbo")
|
||||||
|
|
||||||
|
if self.options.use_libpng_encode == False and self.options.use_libpng_decode == False:
|
||||||
|
self.options.rm_safe("use_system_libpng")
|
||||||
|
elif not self.options.use_system_libpng:
|
||||||
|
self.options.rm_safe("use_conan_libpng")
|
||||||
|
|
||||||
|
if self.options.use_libwebp_encode == False and self.options.use_libwebp_decode == False:
|
||||||
|
self.options.rm_safe("use_system_libwebp")
|
||||||
|
elif not self.options.use_system_libwebp:
|
||||||
|
self.options.rm_safe("use_conan_libwebp")
|
||||||
|
|
||||||
|
if self.options.use_zlib == False:
|
||||||
|
self.options.rm_safe("use_system_zlib")
|
||||||
|
elif not self.options.use_system_zlib:
|
||||||
|
self.options.rm_safe("use_conan_zlib")
|
||||||
|
|
||||||
|
def export_sources(self):
|
||||||
|
export_conandata_patches(self)
|
||||||
|
|
||||||
|
def source(self):
|
||||||
|
get(self, **self.conan_data["sources"][self.version], destination=self.source_folder, strip_root=True)
|
||||||
|
apply_conandata_patches(self)
|
||||||
|
|
||||||
|
def requirements(self):
|
||||||
|
self.tool_requires("depot_tools/[>=20200407]")
|
||||||
|
self.tool_requires("ninja/[>=1.11.0]")
|
||||||
|
|
||||||
|
if self.options.use_harfbuzz and self.options.use_system_harfbuzz and self.options.use_conan_harfbuzz:
|
||||||
|
self.requires("harfbuzz/[>=7.3.0]", options = {"with_subset":True, "with_glib":False})
|
||||||
|
|
||||||
|
if self.options.use_freetype and self.options.use_system_freetype and self.options.use_conan_freetype:
|
||||||
|
self.requires("freetype/[>=2.11.1]")
|
||||||
|
|
||||||
|
if self.options.use_fontconfig and self.options.use_conan_fontconfig:
|
||||||
|
self.requires("fontconfig/[>=2.14.2]")
|
||||||
|
|
||||||
|
if self.options.use_expat and self.options.use_system_expat and self.options.use_conan_expat:
|
||||||
|
self.requires("expat/[>=2.5.0]")
|
||||||
|
|
||||||
|
if self.options.use_icu and self.options.use_system_icu and self.options.use_conan_icu:
|
||||||
|
if self.settings.os == "Emscripten":
|
||||||
|
self.requires("icu/[74.2]")
|
||||||
|
else:
|
||||||
|
self.requires("icu/[>=74.2]")
|
||||||
|
|
||||||
|
if (self.options.use_libpng_decode or self.options.use_libpng_encode) and self.options.use_system_libpng and self.options.use_conan_libpng:
|
||||||
|
self.requires("libpng/[>=1.6.32]")
|
||||||
|
|
||||||
|
if (self.options.use_libjpeg_turbo_decode or self.options.use_libjpeg_turbo_encode) and self.options.use_system_libjpeg_turbo and self.options.use_conan_libjpeg_turbo:
|
||||||
|
self.requires("libjpeg-turbo/[>=3.0.0]")
|
||||||
|
|
||||||
|
if (self.options.use_libwebp_decode or self.options.use_libwebp_encode) and self.options.use_system_libwebp and self.options.use_conan_libwebp:
|
||||||
|
self.requires("libwebp/[>=1.2.4]", options = {"swap_16bit_csp":True})
|
||||||
|
|
||||||
|
if self.options.use_zlib and self.options.use_system_zlib and self.options.use_conan_zlib:
|
||||||
|
self.requires("zlib/[>=1.2.11]")
|
||||||
|
|
||||||
|
def layout(self):
|
||||||
|
src_folder = "src"
|
||||||
|
build_folder = src_folder
|
||||||
|
generators_folder = self.folders.generators or "conan"
|
||||||
|
subproject = self.folders.subproject
|
||||||
|
self.folders.source = src_folder if not subproject else join(subproject, src_folder)
|
||||||
|
self.folders.build = build_folder if not subproject else join(subproject, build_folder)
|
||||||
|
self.folders.generators = join(self.folders.build, generators_folder)
|
||||||
|
|
||||||
|
def _get_lower_bool_str(self, cond):
|
||||||
|
return "true" if cond else "false"
|
||||||
|
|
||||||
|
def _collect_link_libs(self, dependency, components):
|
||||||
|
libs = []
|
||||||
|
libs += dependency.cpp_info.libs
|
||||||
|
libs += dependency.cpp_info.system_libs
|
||||||
|
|
||||||
|
# The order of components affects link order.
|
||||||
|
# TODO: Sould we handle inter-component dependencies?
|
||||||
|
for component in components:
|
||||||
|
libs += dependency.cpp_info.components[component].libs
|
||||||
|
libs += dependency.cpp_info.components[component].system_libs
|
||||||
|
|
||||||
|
for transitiveDependency in dependency.dependencies.host.values():
|
||||||
|
libs += transitiveDependency.cpp_info.libs
|
||||||
|
libs += transitiveDependency.cpp_info.system_libs
|
||||||
|
|
||||||
|
# TODO: Is there proper way to determine link order of those components?
|
||||||
|
for dep in transitiveDependency.cpp_info.components.values():
|
||||||
|
libs += dep.libs
|
||||||
|
libs += dep.system_libs
|
||||||
|
|
||||||
|
return libs
|
||||||
|
|
||||||
|
def _collect_link_frameworks(self, dependency, components):
|
||||||
|
frameworks = []
|
||||||
|
frameworks += dependency.cpp_info.frameworks
|
||||||
|
|
||||||
|
for component in components:
|
||||||
|
frameworks += dependency.cpp_info.components[component].frameworks
|
||||||
|
|
||||||
|
for transitiveDependency in dependency.dependencies.host.values():
|
||||||
|
frameworks += transitiveDependency.cpp_info.frameworks
|
||||||
|
|
||||||
|
for dep in transitiveDependency.cpp_info.components.values():
|
||||||
|
frameworks += dep.frameworks
|
||||||
|
|
||||||
|
return frameworks
|
||||||
|
|
||||||
|
def _link_libs(self, name, components=[]):
|
||||||
|
libs = []
|
||||||
|
libs += self._collect_link_libs(self.dependencies[name], components)
|
||||||
|
|
||||||
|
ext = ""
|
||||||
|
if self.settings.os == "Windows":
|
||||||
|
ext = ".lib"
|
||||||
|
|
||||||
|
return [lib + ext for lib in libs]
|
||||||
|
|
||||||
|
def _link_frameworks(self, name, components=[]):
|
||||||
|
frameworks = self._collect_link_frameworks(self.dependencies[name], components)
|
||||||
|
return [fw + ".framework" for fw in frameworks]
|
||||||
|
|
||||||
|
def build(self):
|
||||||
|
# activate-emsdk fails on Windows for some reason.
|
||||||
|
os.environ["GIT_SYNC_DEPS_SKIP_EMSDK"] = "1"
|
||||||
|
self.run("python3 tools/git-sync-deps")
|
||||||
|
del os.environ["GIT_SYNC_DEPS_SKIP_EMSDK"]
|
||||||
|
|
||||||
|
if self.options.use_expat and self.options.use_system_expat and self.options.use_conan_expat:
|
||||||
|
replace_in_file(self, join(self.source_folder, "third_party", "expat", "BUILD.gn"),
|
||||||
|
"libs = [ \"expat\" ]", f"libs = {json.dumps(self._link_libs('expat'))}",
|
||||||
|
strict=False)
|
||||||
|
|
||||||
|
if self.options.use_harfbuzz and self.options.use_system_harfbuzz and self.options.use_conan_harfbuzz:
|
||||||
|
replace_in_file(self, join(self.source_folder, "third_party", "harfbuzz", "BUILD.gn"),
|
||||||
|
"libs = [ \"harfbuzz\" ]",
|
||||||
|
f"libs = {json.dumps(self._link_libs('harfbuzz'))}\n " +
|
||||||
|
f"frameworks = {json.dumps(self._link_frameworks('harfbuzz'))}",
|
||||||
|
strict=False)
|
||||||
|
replace_in_file(self, join(self.source_folder, "third_party", "harfbuzz", "BUILD.gn"),
|
||||||
|
"include_dirs = [ \"/usr/include/harfbuzz\" ]", "include_dirs = [ ]",
|
||||||
|
strict=False)
|
||||||
|
replace_in_file(self, join(self.source_folder, "third_party", "harfbuzz", "BUILD.gn"),
|
||||||
|
"libs += [ \"harfbuzz-subset\" ]", "libs += [ ]",
|
||||||
|
strict=False)
|
||||||
|
|
||||||
|
if self.options.use_freetype and self.options.use_system_freetype and self.options.use_conan_freetype:
|
||||||
|
replace_in_file(self, join(self.source_folder, "third_party", "freetype2", "BUILD.gn"),
|
||||||
|
"libs = [ skia_system_freetype2_lib ]", f"libs = {json.dumps(self._link_libs('freetype'))}",
|
||||||
|
strict=False)
|
||||||
|
replace_in_file(self, join(self.source_folder, "third_party", "freetype2", "BUILD.gn"),
|
||||||
|
"include_dirs = [ skia_system_freetype2_include_path ]", "include_dirs = [ ]",
|
||||||
|
strict=False)
|
||||||
|
|
||||||
|
if self.options.use_icu and self.options.use_system_icu and self.options.use_conan_icu:
|
||||||
|
replace_in_file(self, join(self.source_folder, "third_party", "icu", "BUILD.gn"),
|
||||||
|
# icu-data must come after other components, otherwise it leaves an undefined symbol in shared library.
|
||||||
|
"libs = [ \"icuuc\" ]", f"libs = {json.dumps(self._link_libs('icu', components=['icu-uc','icu-data']))}",
|
||||||
|
strict=False)
|
||||||
|
|
||||||
|
if (self.options.use_libjpeg_turbo_encode or self.options.use_libjpeg_turbo_decode) and self.options.use_system_libjpeg_turbo and self.options.use_conan_libjpeg_turbo:
|
||||||
|
replace_in_file(self, join(self.source_folder, "third_party", "libjpeg-turbo", "BUILD.gn"),
|
||||||
|
"libs = [ \"jpeg\" ]", f"libs = {json.dumps(self._link_libs('libjpeg-turbo', components=['jpeg']))}",
|
||||||
|
strict=False)
|
||||||
|
|
||||||
|
if (self.options.use_libpng_encode or self.options.use_libpng_decode) and self.options.use_system_libpng and self.options.use_conan_libpng:
|
||||||
|
replace_in_file(self, join(self.source_folder, "third_party", "libpng", "BUILD.gn"),
|
||||||
|
"libs = [ \"png\" ]", f"libs = {json.dumps(self._link_libs('libpng'))}",
|
||||||
|
strict=False)
|
||||||
|
|
||||||
|
if self.options.use_zlib and self.options.use_system_zlib and self.options.use_conan_zlib:
|
||||||
|
replace_in_file(self, join(self.source_folder, "third_party", "zlib", "BUILD.gn"),
|
||||||
|
"libs = [ \"z\" ]", f"libs = {json.dumps(self._link_libs('zlib'))}",
|
||||||
|
strict=False)
|
||||||
|
|
||||||
|
if (self.options.use_libwebp_decode or self.options.use_libwebp_encode) and self.options.use_system_libwebp and self.options.use_conan_libwebp:
|
||||||
|
replace_in_file(self, join(self.source_folder, "third_party", "libwebp", "BUILD.gn"),
|
||||||
|
" libs = [\n \"webp\",\n \"webpdemux\",\n \"webpmux\",\n ]",
|
||||||
|
f" libs = {json.dumps(self._link_libs('libwebp',components=['webp','webpmux','webpdemux','sharpyuv']))}",
|
||||||
|
strict=False)
|
||||||
|
|
||||||
|
if self._is_ios_variant():
|
||||||
|
if self.settings.arch == "armv8":
|
||||||
|
replace_in_file(self, join(self.source_folder, "gn", "skia", "BUILD.gn"),
|
||||||
|
"\"-arch\",\n \"arm64e\",",
|
||||||
|
"#\"-arch\",\n #\"arm64e\",",
|
||||||
|
strict=False)
|
||||||
|
elif self.settings.arch == "armv8.3":
|
||||||
|
replace_in_file(self, join(self.source_folder, "gn", "skia", "BUILD.gn"),
|
||||||
|
"\"-arch\",\n \"arm64\",",
|
||||||
|
"#\"-arch\",\n #\"arm64\",",
|
||||||
|
strict=False)
|
||||||
|
|
||||||
|
args = ""
|
||||||
|
args += "is_official_build=true\n"
|
||||||
|
args += f"is_component_build={self._get_lower_bool_str(self.options.shared)}\n"
|
||||||
|
|
||||||
|
buildenv = VirtualBuildEnv(self).vars()
|
||||||
|
|
||||||
|
if cc := buildenv.get("CC", default=None):
|
||||||
|
args += f"cc=\"{cc}\"\n"
|
||||||
|
if cxx := buildenv.get("CXX", default=None):
|
||||||
|
args += f"cxx=\"{cxx}\"\n"
|
||||||
|
if ar := buildenv.get("AR", default=None):
|
||||||
|
args += f"ar=\"{ar}\"\n"
|
||||||
|
|
||||||
|
if self.settings.os == "Emscripten":
|
||||||
|
if emsdk := buildenv.get("EMSDK", default=None):
|
||||||
|
args += f"skia_emsdk_dir=\"{emsdk}\"\n"
|
||||||
|
|
||||||
|
if self.settings.os == "Windows":
|
||||||
|
winsdk_version = self.conf.get("tools.microsoft:winsdk_version", default=None)
|
||||||
|
if winsdk_version != None:
|
||||||
|
args += f"win_sdk_version=\"{winsdk_version}\"\n"
|
||||||
|
|
||||||
|
if self.settings.os == "Android":
|
||||||
|
ndk_path = self.conf.get("tools.android:ndk_path", default=None)
|
||||||
|
if ndk_path != None:
|
||||||
|
args += f"ndk = \"{ndk_path}\"\n"
|
||||||
|
args += f"ndk_api = {self.settings.os.api_level}\n"
|
||||||
|
|
||||||
|
if self.settings.os == "iOS":
|
||||||
|
args += f"target_os = \"ios\"\n"
|
||||||
|
elif self.settings.os == "tvOS":
|
||||||
|
args += f"target_os = \"tvos\"\n"
|
||||||
|
elif self._is_ios_variant():
|
||||||
|
args += f"target_os = \"ios\"\n"
|
||||||
|
|
||||||
|
if self._is_ios_variant_simulator():
|
||||||
|
args += f"ios_use_simulator = true\n"
|
||||||
|
|
||||||
|
if self.settings.arch == "x86":
|
||||||
|
args += "target_cpu = \"x86\"\n"
|
||||||
|
elif self.settings.arch == "x86_64":
|
||||||
|
args += "target_cpu = \"x64\"\n"
|
||||||
|
elif self.settings.arch == "wasm":
|
||||||
|
args += "target_cpu = \"wasm\"\n"
|
||||||
|
elif self.settings.arch == "armv7":
|
||||||
|
args += "target_cpu = \"arm\"\n"
|
||||||
|
elif self.settings.arch == "armv8":
|
||||||
|
args += "target_cpu = \"arm64\"\n"
|
||||||
|
elif self._is_ios_variant() and self.settings.arch == "armv8.3":
|
||||||
|
args += "target_cpu = \"arm64\"\n"
|
||||||
|
else:
|
||||||
|
raise RuntimeError("Unexpected settings.arch")
|
||||||
|
|
||||||
|
cflags = []
|
||||||
|
ldflags = []
|
||||||
|
asmflags = []
|
||||||
|
for dep in self.dependencies.host.values():
|
||||||
|
cflags += [f"-I{dir}" for dir in dep.cpp_info.includedirs]
|
||||||
|
cflags += [f"-D{define}" for define in dep.cpp_info.defines]
|
||||||
|
if is_msvc(self):
|
||||||
|
ldflags += [f"/LIBPATH:{dir}" for dir in dep.cpp_info.libdirs]
|
||||||
|
else:
|
||||||
|
ldflags += [f"-L{dir}" for dir in dep.cpp_info.libdirs]
|
||||||
|
|
||||||
|
for component in dep.cpp_info.components.values():
|
||||||
|
cflags += [f"-I{dir}" for dir in component.includedirs]
|
||||||
|
cflags += [f"-D{define}" for define in component.defines]
|
||||||
|
if is_msvc(self):
|
||||||
|
ldflags += [f"/LIBPATH:{dir}" for dir in component.libdirs]
|
||||||
|
else:
|
||||||
|
ldflags += [f"-L{dir}" for dir in component.libdirs]
|
||||||
|
|
||||||
|
if is_msvc(self):
|
||||||
|
cflags += [f"/{msvc_runtime_flag(self)}"]
|
||||||
|
|
||||||
|
if not self.options.shared and self.settings.compiler != "msvc":
|
||||||
|
fpic = self.options.get_safe("fPIC")
|
||||||
|
if fpic != None:
|
||||||
|
cflags += ["-fPIC"]
|
||||||
|
|
||||||
|
if is_apple_os(self):
|
||||||
|
min_version_flag = AutotoolsToolchain(self).apple_min_version_flag
|
||||||
|
cflags += [min_version_flag]
|
||||||
|
ldflags += [min_version_flag]
|
||||||
|
asmflags += [min_version_flag]
|
||||||
|
|
||||||
|
cflags += [f"-D{define}" for define in self.conf.get("tools.build:defines", default=[], check_type=list)]
|
||||||
|
ldflags += self.conf.get("tools.build:sharedlinkflags", default=[], check_type=list)
|
||||||
|
ldflags += self.conf.get("tools.build:exelinkflags", default=[], check_type=list)
|
||||||
|
|
||||||
|
linker_scripts = self.conf.get("tools.build:linker_scripts", default=[], check_type=list)
|
||||||
|
ldflags += ["-T'" + linker_script + "'" for linker_script in linker_scripts]
|
||||||
|
|
||||||
|
cflags += self.conf.get("tools.build:cflags", default=[], check_type=list)
|
||||||
|
cflags_c = []
|
||||||
|
cflags_cc = self.conf.get("tools.build:cxxflags", default=[], check_type=list)
|
||||||
|
cflags_cc += [cppstd_flag(self)]
|
||||||
|
|
||||||
|
args += f"extra_cflags={json.dumps(cflags)}\n"
|
||||||
|
args += f"extra_cflags_c={json.dumps(cflags_c)}\n"
|
||||||
|
args += f"extra_cflags_cc={json.dumps(cflags_cc)}\n"
|
||||||
|
args += f"extra_ldflags={json.dumps(ldflags)}\n"
|
||||||
|
args += f"extra_asmflags={json.dumps(asmflags)}\n"
|
||||||
|
|
||||||
|
if self.settings.os == "Macos" or self._is_ios_variant():
|
||||||
|
sdk_path = self.conf.get("tools.apple:sdk_path", default=None)
|
||||||
|
if not sdk_path:
|
||||||
|
sdk_path = XCRun(self).sdk_path
|
||||||
|
if sdk_path:
|
||||||
|
args += f"xcode_sysroot=\"{sdk_path}\"\n"
|
||||||
|
|
||||||
|
if self._is_ios_variant():
|
||||||
|
args += f"skia_ios_use_signing = false\n"
|
||||||
|
|
||||||
|
for key in self._skia_options.keys():
|
||||||
|
value = self.options.get_safe(key)
|
||||||
|
if value != None and not key.startswith("use_conan"):
|
||||||
|
b = self._get_lower_bool_str(value)
|
||||||
|
k = "use_system_freetype2" if key == "use_system_freetype" else key
|
||||||
|
args += f"skia_{k}={b}\n"
|
||||||
|
|
||||||
|
rmdir(self, "out/conan")
|
||||||
|
mkdir(self, "out/conan")
|
||||||
|
save(self, "out/conan/args.gn", args)
|
||||||
|
|
||||||
|
if self.settings.os == "Windows":
|
||||||
|
self.run("bin\gn gen out/conan")
|
||||||
|
else:
|
||||||
|
self.run("bin/gn gen out/conan")
|
||||||
|
|
||||||
|
self.run("ninja -C out/conan")
|
||||||
|
|
||||||
|
def package(self):
|
||||||
|
source_folder_include = join(self.source_folder, "include")
|
||||||
|
source_folder_modules = join(self.source_folder, "modules")
|
||||||
|
package_folder_include = join(self.package_folder, "include")
|
||||||
|
package_folder_include_modules = join(package_folder_include, "modules")
|
||||||
|
package_folder_lib = join(self.package_folder, "lib")
|
||||||
|
package_folder_bin = join(self.package_folder, "bin")
|
||||||
|
build_folder_out = join(self.build_folder, "out", "conan")
|
||||||
|
|
||||||
|
# Skia headers have to be included relative to root of Skia repository (for example, #include <include/core/SkCanvas.h>).
|
||||||
|
# So we have to create another 'include' folder inside include directory...
|
||||||
|
|
||||||
|
# Include the entire skia root folder as an include (only copy includes)
|
||||||
|
|
||||||
|
copy(self, "*.h", self.source_folder, package_folder_include)
|
||||||
|
|
||||||
|
#copy(self, "*.h", source_folder_include, join(package_folder_include, "include"))
|
||||||
|
|
||||||
|
## removed sksg from this list
|
||||||
|
#for mod in ["skottie", "skresource", "sksg", "skshaper", "skunicode", "svg"]:
|
||||||
|
# copy(self, "*.h", join(source_folder_modules, mod, "include"), join(package_folder_include_modules, mod, "include"))
|
||||||
|
|
||||||
|
## skcms doesn't have include folder for some reason.
|
||||||
|
#copy(self, "*.h", join(source_folder_modules, "skcms"), join(package_folder_include_modules, "skcms"))
|
||||||
|
|
||||||
|
if self.settings.os == "Windows":
|
||||||
|
if self.options.shared:
|
||||||
|
copy(self, "*.dll", build_folder_out, package_folder_bin, keep_path=False)
|
||||||
|
copy(self, "*.dll.lib", build_folder_out, package_folder_lib, keep_path=False)
|
||||||
|
# rename: *.dll.lib -> *.lib
|
||||||
|
for filename in os.listdir(package_folder_lib):
|
||||||
|
if filename.endswith(".dll.lib"):
|
||||||
|
new_filename = filename.replace(".dll.lib", ".lib")
|
||||||
|
rename(self, join(package_folder_lib, filename), join(package_folder_lib, new_filename))
|
||||||
|
else:
|
||||||
|
copy(self, "*.lib", build_folder_out, package_folder_lib, keep_path=False)
|
||||||
|
else:
|
||||||
|
if self.options.shared:
|
||||||
|
copy(self, "*.so", build_folder_out, package_folder_lib, keep_path=False)
|
||||||
|
copy(self, "*.dylib", build_folder_out, package_folder_lib, keep_path=False)
|
||||||
|
else:
|
||||||
|
copy(self, "*.a", build_folder_out, package_folder_lib, keep_path=False)
|
||||||
|
|
||||||
|
if self.settings.os == "Emscripten" and self.settings.arch == "wasm":
|
||||||
|
copy(self, "canvaskit.js", build_folder_out, package_folder_bin)
|
||||||
|
copy(self, "canvaskit.wasm", build_folder_out, package_folder_bin)
|
||||||
|
|
||||||
|
def package_info(self):
|
||||||
|
|
||||||
|
# As of Conan 2.3.1, CMake generators cannot propagate transitive dependencies when you use components.
|
||||||
|
# So we have to put evetything into root cpp_info...
|
||||||
|
# https://github.com/conan-io/conan/issues/14888
|
||||||
|
|
||||||
|
# component: skia
|
||||||
|
|
||||||
|
self.cpp_info.defines += ["SK_CODEC_DEFINES_BMP"]
|
||||||
|
self.cpp_info.defines += ["SK_CODEC_DEFINES_WBMP"]
|
||||||
|
self.cpp_info.defines += ["SK_DISABLE_TRACING"] # assuming is_official_build
|
||||||
|
|
||||||
|
if self.options.use_gl:
|
||||||
|
self.cpp_info.defines += ["SK_GL"]
|
||||||
|
|
||||||
|
if self.options.use_dawn:
|
||||||
|
self.cpp_info.defines += ["SK_DAWN"]
|
||||||
|
|
||||||
|
if self.options.use_direct3d:
|
||||||
|
self.cpp_info.defines += ["SK_ENABLE_SPIRV_CROSS"]
|
||||||
|
self.cpp_info.defines += ["SK_DIRECT3D"]
|
||||||
|
self.cpp_info.system_libs += ["d3d12", "dxgi", "d3dcompiler"]
|
||||||
|
|
||||||
|
if self.options.use_vulkan:
|
||||||
|
self.cpp_info.defines += ["SK_VULKAN"]
|
||||||
|
|
||||||
|
if self.options.use_metal:
|
||||||
|
self.cpp_info.defines += ["SK_METAL"]
|
||||||
|
|
||||||
|
if self.options.shared:
|
||||||
|
self.cpp_info.defines += ["SKIA_DLL"]
|
||||||
|
|
||||||
|
if self.settings.os == "Linux":
|
||||||
|
self.cpp_info.defines += ["SK_R32_SHIFT=16"]
|
||||||
|
|
||||||
|
if self.settings.os == "Android":
|
||||||
|
self.cpp_info.system_libs += ["log"]
|
||||||
|
|
||||||
|
if self.options.enable_optimize_size:
|
||||||
|
self.cpp_info.defines += ["SK_ENABLE_OPTIMIZE_SIZE"]
|
||||||
|
|
||||||
|
if self.options.enable_precompile:
|
||||||
|
self.cpp_info.defines += ["SK_ENABLE_PRECOMPILE"]
|
||||||
|
|
||||||
|
if self.options.enable_ganesh:
|
||||||
|
self.cpp_info.defines += ["SK_GANESH"]
|
||||||
|
|
||||||
|
if self.options.enable_graphite:
|
||||||
|
self.cpp_info.defines += ["SK_GRAPHITE"]
|
||||||
|
|
||||||
|
if self.options.use_perfetto:
|
||||||
|
self.cpp_info.defines += ["SK_USE_PERFETTO"]
|
||||||
|
|
||||||
|
if self.settings.os == "Macos" or self._is_ios_variant():
|
||||||
|
if self.options.enable_api_available_macro:
|
||||||
|
self.cpp_info.defines += ["SK_ENABLE_API_AVAILABLE"]
|
||||||
|
else:
|
||||||
|
self.cpp_info.cflags += ["-Wno-unguarded-availability"]
|
||||||
|
|
||||||
|
if self.options.gl_standard == "gl":
|
||||||
|
self.cpp_info.defines += ["SKIA_ASSUME_GL=1"]
|
||||||
|
|
||||||
|
if self.options.gl_standard == "gles":
|
||||||
|
self.cpp_info.defines += ["SKIA_ASSUME_GL_ES=1"]
|
||||||
|
|
||||||
|
if self.options.gl_standard == "webgl":
|
||||||
|
self.cpp_info.defines += ["SKIA_ASSUME_WEBGL=1"]
|
||||||
|
|
||||||
|
if self.options.enable_pdf:
|
||||||
|
if self.options.use_zlib and self.options.use_libjpeg_turbo_decode and self.options.use_libjpeg_turbo_encode:
|
||||||
|
self.cpp_info.defines += ["SK_SUPPORT_PDF"]
|
||||||
|
|
||||||
|
if self.options.use_xps:
|
||||||
|
self.cpp_info.defines += ["SK_SUPPORT_XPS"]
|
||||||
|
|
||||||
|
if self.options.use_wuffs and not self.options.shared:
|
||||||
|
self.cpp_info.defines += ["SK_HAS_WUFFS_LIBRARY"]
|
||||||
|
self.cpp_info.defines += ["SK_CODEC_DECODES_GIF"]
|
||||||
|
self.cpp_info.libs += ["wuffs"]
|
||||||
|
|
||||||
|
if self.options.use_piex and not self.options.shared:
|
||||||
|
self.cpp_info.libs += ["piex"]
|
||||||
|
|
||||||
|
if self.options.use_dng_sdk and self.options.use_libjpeg_turbo_decode and self.options.use_piex and not self.options.shared:
|
||||||
|
self.cpp_info.defines += ["qDNGBigEndian=0"]
|
||||||
|
self.cpp_info.libs += ["dng_sdk"]
|
||||||
|
|
||||||
|
if self.options.use_libpng_decode:
|
||||||
|
self.cpp_info.defines += ["SK_CODEC_DECODES_ICO"]
|
||||||
|
self.cpp_info.defines += ["SK_CODEC_DECODES_PNG"]
|
||||||
|
|
||||||
|
if self.options.use_libpng_decode:
|
||||||
|
self.cpp_info.defines += ["SK_CODEC_DECODES_WEBP"]
|
||||||
|
|
||||||
|
if self.options.use_libavif:
|
||||||
|
self.cpp_info.defines += ["SK_CODEC_DECODES_AVIF"]
|
||||||
|
|
||||||
|
if self.options.use_libjpeg_turbo_decode:
|
||||||
|
self.cpp_info.defines += ["SK_CODEC_DECODES_JPEG"]
|
||||||
|
|
||||||
|
if self.options.use_libjxl_decode:
|
||||||
|
self.cpp_info.defines += ["SK_CODEC_DECODE_JPEGXL"]
|
||||||
|
|
||||||
|
if self.options.use_ndk_images:
|
||||||
|
self.cpp_info.defines += ["SK_ENABLE_NDK_IMAGES"]
|
||||||
|
|
||||||
|
if self.options.use_expat:
|
||||||
|
self.cpp_info.defines += ["SK_XML"]
|
||||||
|
|
||||||
|
if self.options.use_dng_sdk and self.options.use_libjpeg_turbo_decode and self.options.use_piex:
|
||||||
|
self.cpp_info.defines += ["SK_CODEC_DECODES_RAW"]
|
||||||
|
|
||||||
|
if self.options.use_fonthost_mac:
|
||||||
|
self.cpp_info.defines += ["SK_TYPEFACE_FACTORY_CORETEXT", "SK_FONTMGR_CORETEXT_AVAILABLE"]
|
||||||
|
if self.settings.os == "Macos":
|
||||||
|
self.cpp_info.frameworks += ["AppKit", "ApplicationServices"]
|
||||||
|
elif self._is_ios_variant():
|
||||||
|
self.cpp_info.frameworks += ["CoreFoundation", "CoreGraphics", "CoreText", "UIKit"]
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_android:
|
||||||
|
self.cpp_info.defines += ["SK_FONTMGR_ANDROID_AVAILABLE"]
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_custom_directory:
|
||||||
|
self.cpp_info.defines += ["SK_FONTMGR_FREETYPE_DIRECTORY_AVAILABLE"]
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_custom_embedded:
|
||||||
|
self.cpp_info.defines += ["SK_FONTMGR_FREETYPE_EMBEDDED_AVAILABLE"]
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_custom_empty:
|
||||||
|
self.cpp_info.defines += ["SK_FONTMGR_FREETYPE_EMPTY_AVAILABLE"]
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_fontconfig:
|
||||||
|
self.cpp_info.defines += ["SK_FONTMGR_FONTCONFIG_AVAILABLE"]
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_win:
|
||||||
|
self.cpp_info.defines += ["SK_TYPEFACE_FACTORY_DIRECTWRITE", "SK_FONTMGR_DIRECTWRITE_AVAILABLE"]
|
||||||
|
|
||||||
|
if self.options.enable_fontmgr_win_gdi:
|
||||||
|
self.cpp_info.defines += ["SK_FONTMGR_GDI_AVAILABLE"]
|
||||||
|
self.cpp_info.system_libs += ["gdi32"]
|
||||||
|
|
||||||
|
# component: pathkit
|
||||||
|
|
||||||
|
if not self.options.shared:
|
||||||
|
self.cpp_info.libs += ["pathkit"]
|
||||||
|
|
||||||
|
# component: skcms
|
||||||
|
|
||||||
|
if not self.options.shared:
|
||||||
|
self.cpp_info.libs += ["skcms"]
|
||||||
|
|
||||||
|
# component: sksg
|
||||||
|
|
||||||
|
# sksg doesn't exist in the program's build, so it'll be commented for now
|
||||||
|
# if not self.options.shared:
|
||||||
|
# self.cpp_info.libs += ["sksg"]
|
||||||
|
|
||||||
|
|
||||||
|
# component: svg
|
||||||
|
|
||||||
|
if self.options.enable_svg and self.options.use_expat:
|
||||||
|
self.cpp_info.defines += ["SK_SVG"]
|
||||||
|
self.cpp_info.libs += ["svg"]
|
||||||
|
|
||||||
|
# component: skresource
|
||||||
|
|
||||||
|
if not self.options.shared:
|
||||||
|
self.cpp_info.libs += ["skresources"]
|
||||||
|
|
||||||
|
self.cpp_info.libs += ["skia"] # Placed this after some components due to library order being important on some systems
|
||||||
|
|
||||||
|
# component: skunicode
|
||||||
|
|
||||||
|
if self.options.enable_skunicode:
|
||||||
|
self.cpp_info.defines += ["SK_UNICODE_AVAILABLE"]
|
||||||
|
self.cpp_info.defines += ["SK_UNICODE_ICU_IMPLEMENTATION"]
|
||||||
|
self.cpp_info.libs += ["skunicode_icu", "skunicode_core"] # Swapped order
|
||||||
|
|
||||||
|
# component: skparagraph
|
||||||
|
|
||||||
|
if self.options.enable_skparagraph:
|
||||||
|
if not (self.settings.os == "Windows" and self.options.shared):
|
||||||
|
self.cpp_info.libs += ["skparagraph"]
|
||||||
|
self.cpp_info.defines += ["SK_ENABLE_PARAGRAPH"]
|
||||||
|
|
||||||
|
# component: skshaper
|
||||||
|
|
||||||
|
if self.options.enable_skshaper:
|
||||||
|
self.cpp_info.libs += ["skshaper"]
|
||||||
|
self.cpp_info.defines += ["SK_SHAPER_PRIMITIVE_AVAILABLE"]
|
||||||
|
if self.options.use_fonthost_mac:
|
||||||
|
self.cpp_info.defines += ["SK_SHAPER_CORETEXT_AVAILABLE"]
|
||||||
|
if self.options.use_harfbuzz:
|
||||||
|
self.cpp_info.defines += ["SK_SHAPER_HARFBUZZ_AVAILABLE"]
|
||||||
|
if self.options.shared:
|
||||||
|
self.cpp_info.defines += ["SK_SHAPER_UNICODE_AVAILABLE"]
|
||||||
|
|
||||||
|
# component: skottie
|
||||||
|
|
||||||
|
if self.options.enable_skottie:
|
||||||
|
self.cpp_info.libs += ["skottie"]
|
||||||
|
self.cpp_info.defines += ["SK_ENABLE_SKOTTIE", "SK_ENABLE_SKSLEFFECT"]
|
||||||
|
|
||||||
|
# component: bentleyottmann
|
||||||
|
|
||||||
|
if self.options.enable_bentleyottmann:
|
||||||
|
if not (self.settings.os == "Windows" and self.options.shared):
|
||||||
|
self.cpp_info.libs += ["bentleyottmann"]
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -0,0 +1,9 @@
|
||||||
|
cmake_minimum_required(VERSION 3.15)
|
||||||
|
project(PackageTest CXX)
|
||||||
|
|
||||||
|
find_package(skia CONFIG REQUIRED)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
add_executable(example src/example.cpp)
|
||||||
|
target_link_libraries(example skia::skia)
|
||||||
26
conan/conan-skia/recipes/skia/all/test_package/conanfile.py
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
from conan import ConanFile
|
||||||
|
from conan.tools.cmake import CMake, cmake_layout
|
||||||
|
from conan.tools.build import can_run
|
||||||
|
|
||||||
|
|
||||||
|
class skiaTestConan(ConanFile):
|
||||||
|
settings = "os", "compiler", "build_type", "arch"
|
||||||
|
generators = "CMakeDeps", "CMakeToolchain"
|
||||||
|
|
||||||
|
def requirements(self):
|
||||||
|
self.requires(self.tested_reference_str)
|
||||||
|
|
||||||
|
def build(self):
|
||||||
|
cmake = CMake(self)
|
||||||
|
cmake.configure()
|
||||||
|
cmake.build()
|
||||||
|
|
||||||
|
def layout(self):
|
||||||
|
cmake_layout(self)
|
||||||
|
|
||||||
|
def test(self):
|
||||||
|
if can_run(self):
|
||||||
|
cmd = os.path.join(self.cpp.build.bindir, "example")
|
||||||
|
self.run(cmd, env="conanrun")
|
||||||
|
|
@ -0,0 +1,17 @@
|
||||||
|
#include "include/core/SkCanvas.h"
|
||||||
|
#include "include/core/SkSurface.h"
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
sk_sp<SkSurface> surface = SkSurfaces::Raster(SkImageInfo::MakeN32Premul({1280, 720}));
|
||||||
|
|
||||||
|
SkCanvas* canvas = surface->getCanvas();
|
||||||
|
|
||||||
|
SkPaint p;
|
||||||
|
p.setColor(SK_ColorRED);
|
||||||
|
p.setAntiAlias(true);
|
||||||
|
p.setStyle(SkPaint::kStroke_Style);
|
||||||
|
p.setStrokeWidth(10);
|
||||||
|
|
||||||
|
canvas->drawLine(20, 20, 100, 100, p);
|
||||||
|
}
|
||||||
19
conan/conan-skia/recipes/skia/config.yml
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
versions:
|
||||||
|
"126.20240526.0":
|
||||||
|
folder: all
|
||||||
|
"127.20240803.0":
|
||||||
|
folder: all
|
||||||
|
"128.20241118.0":
|
||||||
|
folder: all
|
||||||
|
"129.20241118.0":
|
||||||
|
folder: all
|
||||||
|
"130.20241118.0":
|
||||||
|
folder: all
|
||||||
|
"131.20250131.0":
|
||||||
|
folder: all
|
||||||
|
"132.20250131.0":
|
||||||
|
folder: all
|
||||||
|
"133.20250327.0":
|
||||||
|
folder: all
|
||||||
|
"134.20250327.0":
|
||||||
|
folder: all
|
||||||
5
conan/conan_skia_command.sh
Executable file
|
|
@ -0,0 +1,5 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
cd conan-skia/recipes/skia/all
|
||||||
|
conan create . -o use_system_expat=False -o use_system_freetype=False -o use_system_harfbuzz=False -o use_system_icu=False -o use_system_libjpeg_turbo=False -o use_system_libpng=False -o use_system_libwebp=False -o use_system_zlib=False --build=missing --version=134.20250327.0
|
||||||
|
cd ../../../..
|
||||||
3
conan/export_libs.bat
Executable file
|
|
@ -0,0 +1,3 @@
|
||||||
|
conan export %0/../libjuice/all/conanfile.py --version=1.6.1
|
||||||
|
conan export %0/../libdatachannel/all/conanfile.py --version=0.23.1
|
||||||
|
conan export %0/../conan-skia/recipes/skia/all/conanfile.py --version=134.20250327.0
|
||||||
10
conan/export_libs.sh
Executable file
|
|
@ -0,0 +1,10 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
|
||||||
|
|
||||||
|
conan export "$(dirname "$0")/libjuice/all/conanfile.py" --version=1.6.1
|
||||||
|
conan export "$(dirname "$0")/libdatachannel/all/conanfile.py" --version=0.23.1
|
||||||
|
conan export "$(dirname "$0")/mpg123/all/conanfile.py" --version=1.32.10
|
||||||
|
conan export "$(dirname "$0")/conan-skia/recipes/skia/all/conanfile.py" --version=134.20250327.0
|
||||||
|
#conan create . -o use_system_expat=False -o use_system_freetype=False -o use_system_harfbuzz=False -o use_system_icu=False -o use_system_libjpeg_turbo=False -o use_system_libpng=False -o use_system_libwebp=False -o use_system_zlib=False --build=missing --version=134.20250327.0
|
||||||
|
#cd ../../../..
|
||||||
7
conan/libdatachannel/all/conandata.yml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
sources:
|
||||||
|
"0.23.1":
|
||||||
|
url: "https://github.com/paullouisageneau/libdatachannel/archive/refs/tags/v0.23.1.tar.gz"
|
||||||
|
sha256: "63e14d619ac4d9cc310a0c7620b80e6da88abf878f27ccc78cd099f95d47b121"
|
||||||
|
"0.22.2":
|
||||||
|
url: "https://github.com/paullouisageneau/libdatachannel/archive/refs/tags/v0.22.2.tar.gz"
|
||||||
|
sha256: "8431ba62a3c83fbee05257226fb8bcb256b1a5ce48b449a718e3be5dbe9b2226"
|
||||||
142
conan/libdatachannel/all/conanfile.py
Normal file
|
|
@ -0,0 +1,142 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
from conan import ConanFile
|
||||||
|
from conan.errors import ConanInvalidConfiguration
|
||||||
|
from conan.tools.build import check_min_cppstd
|
||||||
|
from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout, CMakeDeps
|
||||||
|
from conan.tools.files import copy, get, rm, rmdir, replace_in_file
|
||||||
|
from conan.tools.microsoft import is_msvc
|
||||||
|
from conan.tools.apple import fix_apple_shared_install_name
|
||||||
|
|
||||||
|
required_conan_version = ">=2.1"
|
||||||
|
|
||||||
|
class libdatachannelConan(ConanFile):
|
||||||
|
name = "libdatachannel"
|
||||||
|
description = "C/C++ WebRTC network library featuring Data Channels, Media Transport, and WebSockets."
|
||||||
|
license = "MPL-2.0"
|
||||||
|
topics = ("webrtc", "rtc", "datachannel", "websocket")
|
||||||
|
url = "https://github.com/conan-io/conan-center-index"
|
||||||
|
homepage = "https://github.com/paullouisageneau/libdatachannel"
|
||||||
|
settings = "os", "compiler", "build_type", "arch"
|
||||||
|
package_type = "library"
|
||||||
|
options = {
|
||||||
|
"shared": [True, False],
|
||||||
|
"fPIC": [True, False],
|
||||||
|
"with_websocket": [True, False],
|
||||||
|
"with_nice": [True, False],
|
||||||
|
"with_ssl": ["openssl", "mbedtls", "gnutls"]
|
||||||
|
}
|
||||||
|
default_options = {
|
||||||
|
"shared": False,
|
||||||
|
"fPIC": True,
|
||||||
|
"with_websocket": True,
|
||||||
|
"with_nice": False,
|
||||||
|
"with_ssl": "openssl"
|
||||||
|
}
|
||||||
|
|
||||||
|
implements = ["auto_shared_fpic"]
|
||||||
|
|
||||||
|
def requirements(self):
|
||||||
|
if self.options.with_ssl == "openssl":
|
||||||
|
self.requires("openssl/[>=1.1 <4]")
|
||||||
|
elif self.options.with_ssl == "mbedtls":
|
||||||
|
self.requires("mbedtls/3.6.2")
|
||||||
|
elif self.options.with_ssl == "gnutls":
|
||||||
|
self.requires("gnutls/3.8.7")
|
||||||
|
if self.options.with_websocket:
|
||||||
|
self.requires("nettle/3.9.1")
|
||||||
|
self.requires("plog/1.1.10")
|
||||||
|
self.requires("usrsctp/0.9.5.0")
|
||||||
|
self.requires("libsrtp/2.6.0")
|
||||||
|
if self.options.with_nice:
|
||||||
|
self.requires("libnice/0.1.21")
|
||||||
|
else:
|
||||||
|
self.requires("libjuice/1.6.1", transitive_headers=True, transitive_libs=True)
|
||||||
|
|
||||||
|
def validate(self):
|
||||||
|
check_min_cppstd(self, 17)
|
||||||
|
if self.options.with_ssl == "mbedtls":
|
||||||
|
# dtlstransport.cpp:414:3: error: use of undeclared identifier 'mbedtls_ssl_conf_dtls_srtp_protection_profiles'
|
||||||
|
raise ConanInvalidConfiguration("Compilation error with mbedtls. Contributions are welcome.")
|
||||||
|
|
||||||
|
def layout(self):
|
||||||
|
cmake_layout(self, src_folder="src")
|
||||||
|
|
||||||
|
def source(self):
|
||||||
|
get(self, **self.conan_data["sources"][self.version], strip_root=True)
|
||||||
|
# Let Conan handle fpic
|
||||||
|
replace_in_file(self, os.path.join(self.source_folder, "CMakeLists.txt"),
|
||||||
|
"set(CMAKE_POSITION_INDEPENDENT_CODE ON)", "")
|
||||||
|
|
||||||
|
def generate(self):
|
||||||
|
tc = CMakeToolchain(self)
|
||||||
|
tc.cache_variables["PREFER_SYSTEM_LIB"] = True
|
||||||
|
tc.cache_variables["USE_SYSTEM_SRTP"] = True
|
||||||
|
tc.cache_variables["USE_SYSTEM_USRSCTP"] = True
|
||||||
|
tc.cache_variables["USE_SYSTEM_PLOG"] = True
|
||||||
|
tc.cache_variables["USE_SYSTEM_JSON"] = True
|
||||||
|
tc.cache_variables["NO_EXAMPLES"] = True
|
||||||
|
tc.cache_variables["NO_TESTS"] = True
|
||||||
|
tc.cache_variables["NO_WEBSOCKET"] = not self.options.with_websocket
|
||||||
|
tc.cache_variables["USE_NICE"] = self.options.with_nice
|
||||||
|
tc.cache_variables["USE_SYSTEM_JUICE"] = not self.options.with_nice
|
||||||
|
if self.options.with_ssl == "gnutls":
|
||||||
|
tc.cache_variables["USE_GNUTLS"] = True
|
||||||
|
elif self.options.with_ssl == "mbedtls":
|
||||||
|
tc.cache_variables["USE_MBEDTLS"] = True
|
||||||
|
tc.generate()
|
||||||
|
deps = CMakeDeps(self)
|
||||||
|
deps.set_property("usrsctp", "cmake_target_name", "Usrsctp::Usrsctp")
|
||||||
|
deps.set_property("libsrtp", "cmake_file_name", "libSRTP")
|
||||||
|
deps.set_property("libsrtp", "cmake_target_name", "libSRTP::srtp2")
|
||||||
|
if self.options.with_ssl == "mbedtls":
|
||||||
|
deps.set_property("mbedtls", "cmake_target_name", "MbedTLS::MbedTLS")
|
||||||
|
elif self.options.with_ssl == "gnutls" and self.options.with_websocket:
|
||||||
|
deps.set_property("nettle", "cmake_file_name", "Nettle")
|
||||||
|
deps.set_property("nettle", "cmake_target_name", "Nettle::Nettle")
|
||||||
|
if self.options.with_nice:
|
||||||
|
deps.set_property("libnice", "cmake_file_name", "LibNice")
|
||||||
|
deps.set_property("libnice", "cmake_target_name", "LibNice::LibNice")
|
||||||
|
elif not self.options.shared:
|
||||||
|
# Targetname is LibJuice::LibJuiceStatic for static, but upstream makes no distinction
|
||||||
|
deps.set_property("libjuice", "cmake_target_name", "LibJuice::LibJuice")
|
||||||
|
deps.generate()
|
||||||
|
|
||||||
|
def build(self):
|
||||||
|
cmake = CMake(self)
|
||||||
|
cmake.configure()
|
||||||
|
cmake.build()
|
||||||
|
|
||||||
|
def package(self):
|
||||||
|
copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses"))
|
||||||
|
cmake = CMake(self)
|
||||||
|
cmake.install()
|
||||||
|
fix_apple_shared_install_name(self)
|
||||||
|
|
||||||
|
rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
|
||||||
|
rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
|
||||||
|
rmdir(self, os.path.join(self.package_folder, "share"))
|
||||||
|
rm(self, "*.la", os.path.join(self.package_folder, "lib"))
|
||||||
|
rm(self, "*.pdb", os.path.join(self.package_folder, "lib"))
|
||||||
|
rm(self, "*.pdb", os.path.join(self.package_folder, "bin"))
|
||||||
|
|
||||||
|
def package_info(self):
|
||||||
|
suffix = ""
|
||||||
|
if is_msvc(self) and self.settings.build_type == "Debug":
|
||||||
|
suffix = "d"
|
||||||
|
self.cpp_info.libs = ["datachannel" + suffix]
|
||||||
|
self.cpp_info.set_property("cmake_file_name", "LibDataChannel")
|
||||||
|
self.cpp_info.set_property("cmake_target_name", "LibDataChannel::LibDataChannel")
|
||||||
|
|
||||||
|
if self.settings.os in ["Linux", "FreeBSD"]:
|
||||||
|
self.cpp_info.system_libs.extend(["m", "pthread", "dl"])
|
||||||
|
elif self.settings.os == "Windows":
|
||||||
|
self.cpp_info.system_libs.append("ws2_32")
|
||||||
|
|
||||||
|
if not self.options.shared:
|
||||||
|
self.cpp_info.defines.append("RTC_STATIC")
|
||||||
|
|
||||||
|
self.cpp_info.defines.append("RTC_ENABLE_WEBSOCKET=" + ("1" if self.options.with_websocket else "0"))
|
||||||
|
# This is True by default, and the recipe currently does not model it
|
||||||
|
self.cpp_info.defines.append("RTC_ENABLE_MEDIA=1")
|
||||||
|
|
||||||
9
conan/libdatachannel/all/test_package/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
cmake_minimum_required(VERSION 3.15)
|
||||||
|
|
||||||
|
project(test_package LANGUAGES CXX) # if the project uses c++
|
||||||
|
|
||||||
|
find_package(LibDataChannel REQUIRED CONFIG)
|
||||||
|
|
||||||
|
add_executable(${PROJECT_NAME} test_package.cpp)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE LibDataChannel::LibDataChannel)
|
||||||
|
#target_compile_features(${PROJECT_NAME} PRIVATE cxx_std_17)
|
||||||
27
conan/libdatachannel/all/test_package/conanfile.py
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
from conan import ConanFile
|
||||||
|
from conan.tools.build import can_run
|
||||||
|
from conan.tools.cmake import cmake_layout, CMake
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
# It will become the standard on Conan 2.x
|
||||||
|
class TestPackageConan(ConanFile):
|
||||||
|
settings = "os", "arch", "compiler", "build_type"
|
||||||
|
generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
|
||||||
|
test_type = "explicit"
|
||||||
|
|
||||||
|
def requirements(self):
|
||||||
|
self.requires(self.tested_reference_str)
|
||||||
|
|
||||||
|
def layout(self):
|
||||||
|
cmake_layout(self)
|
||||||
|
|
||||||
|
def build(self):
|
||||||
|
cmake = CMake(self)
|
||||||
|
cmake.configure()
|
||||||
|
cmake.build()
|
||||||
|
|
||||||
|
def test(self):
|
||||||
|
if can_run(self):
|
||||||
|
bin_path = os.path.join(self.cpp.build.bindir, "test_package")
|
||||||
|
self.run(bin_path, env="conanrun")
|
||||||
9
conan/libdatachannel/all/test_package/test_package.cpp
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <rtc/rtc.hpp>
|
||||||
|
#include <iostream>
|
||||||
|
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
rtc::InitLogger(rtc::LogLevel::Debug);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
5
conan/libdatachannel/config.yml
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
versions:
|
||||||
|
"0.23.1":
|
||||||
|
folder: all
|
||||||
|
"0.22.2":
|
||||||
|
folder: all
|
||||||
7
conan/libjuice/all/conandata.yml
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
sources:
|
||||||
|
"1.6.1":
|
||||||
|
url: "https://github.com/paullouisageneau/libjuice/archive/refs/tags/v1.6.1.tar.gz"
|
||||||
|
sha256: "14d7cfc1a541843c1678828ad52d860d043bd82ed39ff076b260565796e4e4ee"
|
||||||
|
"1.5.7":
|
||||||
|
url: "https://github.com/paullouisageneau/libjuice/archive/refs/tags/v1.5.7.tar.gz"
|
||||||
|
sha256: "6385c574f3c33f766ed25cddf919625b0ae8ca0d76871f70301e5a0cf2c93dc8"
|
||||||
80
conan/libjuice/all/conanfile.py
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
import os
|
||||||
|
|
||||||
|
from conan import ConanFile
|
||||||
|
from conan.tools.build import check_min_cppstd
|
||||||
|
from conan.tools.cmake import CMake, CMakeToolchain, cmake_layout
|
||||||
|
from conan.tools.files import copy, get, rm, rmdir
|
||||||
|
from conan.tools.microsoft import is_msvc
|
||||||
|
from conan.tools.apple import fix_apple_shared_install_name
|
||||||
|
|
||||||
|
required_conan_version = ">=2.4"
|
||||||
|
|
||||||
|
class libjuiceConan(ConanFile):
|
||||||
|
name = "libjuice"
|
||||||
|
description = "JUICE is a UDP Interactive Connectivity Establishment library."
|
||||||
|
license = "MPL-2.0"
|
||||||
|
topics = ("webrtc", "ice")
|
||||||
|
url = "https://github.com/conan-io/conan-center-index"
|
||||||
|
homepage = "https://github.com/paullouisageneau/libjuice"
|
||||||
|
settings = "os", "compiler", "build_type", "arch"
|
||||||
|
package_type = "library"
|
||||||
|
options = {
|
||||||
|
"shared": [True, False],
|
||||||
|
"fPIC": [True, False],
|
||||||
|
}
|
||||||
|
default_options = {
|
||||||
|
"shared": False,
|
||||||
|
"fPIC": True,
|
||||||
|
}
|
||||||
|
|
||||||
|
languages = "C"
|
||||||
|
implements = ["auto_shared_fpic"]
|
||||||
|
|
||||||
|
def layout(self):
|
||||||
|
cmake_layout(self, src_folder="src")
|
||||||
|
|
||||||
|
def source(self):
|
||||||
|
get(self, **self.conan_data["sources"][self.version], strip_root=True)
|
||||||
|
|
||||||
|
def generate(self):
|
||||||
|
tc = CMakeToolchain(self)
|
||||||
|
tc.variables["NO_TESTS"] = True
|
||||||
|
tc.generate()
|
||||||
|
|
||||||
|
def build(self):
|
||||||
|
cmake = CMake(self)
|
||||||
|
cmake.configure()
|
||||||
|
cmake.build()
|
||||||
|
|
||||||
|
def package(self):
|
||||||
|
copy(self, "LICENSE", self.source_folder, os.path.join(self.package_folder, "licenses"))
|
||||||
|
cmake = CMake(self)
|
||||||
|
cmake.install()
|
||||||
|
fix_apple_shared_install_name(self)
|
||||||
|
|
||||||
|
rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
|
||||||
|
rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
|
||||||
|
rmdir(self, os.path.join(self.package_folder, "share"))
|
||||||
|
rm(self, "*.la", os.path.join(self.package_folder, "lib"))
|
||||||
|
rm(self, "*.pdb", os.path.join(self.package_folder, "lib"))
|
||||||
|
rm(self, "*.pdb", os.path.join(self.package_folder, "bin"))
|
||||||
|
|
||||||
|
def package_info(self):
|
||||||
|
self.cpp_info.libs = ["juice"]
|
||||||
|
self.cpp_info.set_property("cmake_file_name", "LibJuice")
|
||||||
|
if self.options.shared:
|
||||||
|
self.cpp_info.set_property("cmake_target_name", "LibJuice::LibJuice")
|
||||||
|
else:
|
||||||
|
self.cpp_info.set_property("cmake_target_name", "LibJuice::LibJuiceStatic")
|
||||||
|
self.cpp_info.defines.append("JUICE_STATIC")
|
||||||
|
|
||||||
|
if self.settings.os in ["Linux", "FreeBSD"]:
|
||||||
|
self.cpp_info.system_libs.append("m")
|
||||||
|
self.cpp_info.system_libs.append("pthread")
|
||||||
|
self.cpp_info.system_libs.append("dl")
|
||||||
|
|
||||||
|
if self.settings.os == "Windows":
|
||||||
|
self.cpp_info.system_libs.extend(["ws2_32", "bcrypt"])
|
||||||
|
|
||||||
|
if is_msvc(self):
|
||||||
|
self.cpp_info.cxxflags.append("/bigobj")
|
||||||
13
conan/libjuice/all/test_package/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,13 @@
|
||||||
|
cmake_minimum_required(VERSION 3.15)
|
||||||
|
|
||||||
|
project(test_package LANGUAGES CXX) # if the project uses c++
|
||||||
|
|
||||||
|
find_package(LibJuice REQUIRED CONFIG)
|
||||||
|
|
||||||
|
add_executable(${PROJECT_NAME} test_package.cpp)
|
||||||
|
|
||||||
|
if (BUILD_SHARED_LIBS)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE LibJuice::LibJuice)
|
||||||
|
else()
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE LibJuice::LibJuiceStatic)
|
||||||
|
endif()
|
||||||
32
conan/libjuice/all/test_package/conanfile.py
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
from conan import ConanFile
|
||||||
|
from conan.tools.build import can_run
|
||||||
|
from conan.tools.cmake import cmake_layout, CMake, CMakeToolchain
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
# It will become the standard on Conan 2.x
|
||||||
|
class TestPackageConan(ConanFile):
|
||||||
|
settings = "os", "arch", "compiler", "build_type"
|
||||||
|
generators = "CMakeDeps", "VirtualRunEnv"
|
||||||
|
test_type = "explicit"
|
||||||
|
|
||||||
|
def requirements(self):
|
||||||
|
self.requires(self.tested_reference_str)
|
||||||
|
|
||||||
|
def layout(self):
|
||||||
|
cmake_layout(self)
|
||||||
|
|
||||||
|
def generate(self):
|
||||||
|
tc = CMakeToolchain(self)
|
||||||
|
tc.variables["BUILD_SHARED_LIBS"] = self.dependencies[self.tested_reference_str].options.shared
|
||||||
|
tc.generate()
|
||||||
|
|
||||||
|
def build(self):
|
||||||
|
cmake = CMake(self)
|
||||||
|
cmake.configure()
|
||||||
|
cmake.build()
|
||||||
|
|
||||||
|
def test(self):
|
||||||
|
if can_run(self):
|
||||||
|
bin_path = os.path.join(self.cpp.build.bindir, "test_package")
|
||||||
|
self.run(bin_path, env="conanrun")
|
||||||
8
conan/libjuice/all/test_package/test_package.cpp
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
#include <cstdlib>
|
||||||
|
#include <juice/juice.h>
|
||||||
|
|
||||||
|
int main(void) {
|
||||||
|
juice_config config;
|
||||||
|
juice_set_log_level(JUICE_LOG_LEVEL_WARN);
|
||||||
|
return EXIT_SUCCESS;
|
||||||
|
}
|
||||||
5
conan/libjuice/config.yml
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
versions:
|
||||||
|
"1.6.1":
|
||||||
|
folder: all
|
||||||
|
"1.5.7":
|
||||||
|
folder: all
|
||||||
29
conan/linux_runtime_deploy.py
Normal file
|
|
@ -0,0 +1,29 @@
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import re
|
||||||
|
|
||||||
|
def _get_files_from_folder(search_dir, output_folder):
|
||||||
|
if not os.path.isdir(search_dir):
|
||||||
|
return []
|
||||||
|
files = []
|
||||||
|
for f in os.listdir(search_dir):
|
||||||
|
src = os.path.join(search_dir, f)
|
||||||
|
if os.access(src, os.X_OK) or bool(re.search(r"lib.*\.so(\.\d+)*$", f)):
|
||||||
|
if os.path.isfile(src):
|
||||||
|
dst = os.path.join(output_folder, f)
|
||||||
|
shutil.copy2(src, dst)
|
||||||
|
files.append(dst)
|
||||||
|
else:
|
||||||
|
files += _get_files_from_folder(src, output_folder)
|
||||||
|
return files
|
||||||
|
|
||||||
|
def deploy(graph, output_folder, **kwargs):
|
||||||
|
conanfile = graph.root.conanfile
|
||||||
|
files = []
|
||||||
|
for r, d in conanfile.dependencies.items():
|
||||||
|
if d.package_folder is None:
|
||||||
|
continue
|
||||||
|
search_dirs = (d.cpp_info.libdirs or [])
|
||||||
|
for dir in search_dirs:
|
||||||
|
search_dir = os.path.join(d.package_folder, dir)
|
||||||
|
files += _get_files_from_folder(search_dir, output_folder)
|
||||||
30
conan/mpg123/all/conandata.yml
Normal file
|
|
@ -0,0 +1,30 @@
|
||||||
|
sources:
|
||||||
|
"1.32.10":
|
||||||
|
url:
|
||||||
|
- "https://sourceforge.net/projects/mpg123/files/mpg123/1.32.10/mpg123-1.32.10.tar.bz2"
|
||||||
|
- "https://www.mpg123.de/download/mpg123-1.32.10.tar.bz2"
|
||||||
|
sha256: "87b2c17fe0c979d3ef38eeceff6362b35b28ac8589fbf1854b5be75c9ab6557c"
|
||||||
|
"1.31.2":
|
||||||
|
url:
|
||||||
|
- "https://sourceforge.net/projects/mpg123/files/mpg123/1.31.2/mpg123-1.31.2.tar.bz2"
|
||||||
|
- "https://www.mpg123.de/download/mpg123-1.31.2.tar.bz2"
|
||||||
|
sha256: "b17f22905e31f43b6b401dfdf6a71ed11bb7d056f68db449d70b9f9ae839c7de"
|
||||||
|
"1.29.3":
|
||||||
|
url:
|
||||||
|
- "https://sourceforge.net/projects/mpg123/files/mpg123/1.29.3/mpg123-1.29.3.tar.bz2"
|
||||||
|
- "https://www.mpg123.de/download/mpg123-1.29.3.tar.bz2"
|
||||||
|
sha256: "963885d8cc77262f28b77187c7d189e32195e64244de2530b798ddf32183e847"
|
||||||
|
"1.26.4":
|
||||||
|
url:
|
||||||
|
- "https://sourceforge.net/projects/mpg123/files/mpg123/1.26.4/mpg123-1.26.4.tar.bz2"
|
||||||
|
- "https://www.mpg123.de/download/mpg123-1.26.4.tar.bz2"
|
||||||
|
sha256: "081991540df7a666b29049ad870f293cfa28863b36488ab4d58ceaa7b5846454"
|
||||||
|
|
||||||
|
patches:
|
||||||
|
"1.31.2":
|
||||||
|
- patch_file: "patches/0001-msvc-export-symbols.patch"
|
||||||
|
"1.26.4":
|
||||||
|
- patch_file: "patches/0001-msvc-export-symbols.patch"
|
||||||
|
"1.29.3":
|
||||||
|
- patch_file: "patches/0001-msvc-export-symbols.patch"
|
||||||
|
- patch_file: "patches/0002-cmake-read_api_version-fix.patch"
|
||||||
222
conan/mpg123/all/conanfile.py
Normal file
|
|
@ -0,0 +1,222 @@
|
||||||
|
from conan import ConanFile
|
||||||
|
from conan.errors import ConanInvalidConfiguration
|
||||||
|
from conan.tools.apple import is_apple_os, fix_apple_shared_install_name
|
||||||
|
from conan.tools.cmake import cmake_layout, CMake, CMakeDeps, CMakeToolchain
|
||||||
|
from conan.tools.layout import basic_layout
|
||||||
|
from conan.tools.gnu import Autotools, AutotoolsDeps, AutotoolsToolchain
|
||||||
|
from conan.tools.files import get, copy, export_conandata_patches, apply_conandata_patches, replace_in_file, rmdir, rm
|
||||||
|
from conan.tools.microsoft import is_msvc
|
||||||
|
from conan.tools.env import VirtualBuildEnv, VirtualRunEnv
|
||||||
|
from conan.tools.build import cross_building
|
||||||
|
import os
|
||||||
|
|
||||||
|
required_conan_version = ">=1.53.0"
|
||||||
|
|
||||||
|
|
||||||
|
class Mpg123Conan(ConanFile):
|
||||||
|
name = "mpg123"
|
||||||
|
description = "Fast console MPEG Audio Player and decoder library"
|
||||||
|
topics = ("mpeg", "audio", "player", "decoder")
|
||||||
|
url = "https://github.com/conan-io/conan-center-index"
|
||||||
|
homepage = "http://mpg123.org/"
|
||||||
|
license = "LGPL-2.1-or-later", "GPL-2.0-or-later"
|
||||||
|
settings = "os", "compiler", "build_type", "arch"
|
||||||
|
options = {
|
||||||
|
"shared": [True, False],
|
||||||
|
"fPIC": [True, False],
|
||||||
|
"flexible_resampling": [True, False],
|
||||||
|
"network": [True, False],
|
||||||
|
"icy": [True, False],
|
||||||
|
"id3v2": [True, False],
|
||||||
|
"ieeefloat": [True, False],
|
||||||
|
"layer1": [True, False],
|
||||||
|
"layer2": [True, False],
|
||||||
|
"layer3": [True, False],
|
||||||
|
"moreinfo": [True, False],
|
||||||
|
"seektable": [None, "ANY"],
|
||||||
|
"module": ["dummy", "libalsa", "tinyalsa", "win32"],
|
||||||
|
}
|
||||||
|
default_options = {
|
||||||
|
"shared": False,
|
||||||
|
"fPIC": True,
|
||||||
|
"flexible_resampling": True,
|
||||||
|
"network": True,
|
||||||
|
"icy": True,
|
||||||
|
"id3v2": True,
|
||||||
|
"ieeefloat": True,
|
||||||
|
"layer1": True,
|
||||||
|
"layer2": True,
|
||||||
|
"layer3": True,
|
||||||
|
"moreinfo": True,
|
||||||
|
"seektable": "1000",
|
||||||
|
"module": "dummy",
|
||||||
|
}
|
||||||
|
|
||||||
|
@property
|
||||||
|
def _audio_module(self):
|
||||||
|
return {
|
||||||
|
"libalsa": "alsa",
|
||||||
|
}.get(str(self.options.module), str(self.options.module))
|
||||||
|
|
||||||
|
def export_sources(self):
|
||||||
|
export_conandata_patches(self)
|
||||||
|
|
||||||
|
def config_options(self):
|
||||||
|
if self.settings.os == "Windows":
|
||||||
|
self.options.rm_safe("fPIC")
|
||||||
|
|
||||||
|
def configure(self):
|
||||||
|
self.settings.rm_safe("compiler.libcxx")
|
||||||
|
self.settings.rm_safe("compiler.cppstd")
|
||||||
|
if self.options.shared:
|
||||||
|
self.options.rm_safe("fPIC")
|
||||||
|
|
||||||
|
def layout(self):
|
||||||
|
if is_msvc(self):
|
||||||
|
cmake_layout(self, src_folder="src")
|
||||||
|
else:
|
||||||
|
basic_layout(self, src_folder="src")
|
||||||
|
|
||||||
|
def requirements(self):
|
||||||
|
if self.options.module == "libalsa":
|
||||||
|
self.requires("libalsa/1.2.10")
|
||||||
|
if self.options.module == "tinyalsa":
|
||||||
|
self.requires("tinyalsa/2.0.0")
|
||||||
|
|
||||||
|
def validate(self):
|
||||||
|
if not str(self.options.seektable).isdigit():
|
||||||
|
raise ConanInvalidConfiguration(f"The option -o {self.ref.name}:seektable must be an integer number.")
|
||||||
|
if self.settings.os != "Windows" and self.options.module == "win32":
|
||||||
|
raise ConanInvalidConfiguration(f"The option -o {self.ref.name}:module should not use 'win32' for non-Windows OS")
|
||||||
|
|
||||||
|
|
||||||
|
def build_requirements(self):
|
||||||
|
if not self.conf.get("tools.gnu:pkg_config", default=False, check_type=str):
|
||||||
|
self.tool_requires("pkgconf/2.0.3")
|
||||||
|
if self.settings.arch in ["x86", "x86_64"]:
|
||||||
|
self.tool_requires("yasm/1.3.0")
|
||||||
|
if self.settings_build.os == "Windows" and not is_msvc(self):
|
||||||
|
self.win_bash = True
|
||||||
|
if not self.conf.get("tools.microsoft.bash:path", default=False, check_type=str):
|
||||||
|
self.tool_requires("msys2/cci.latest")
|
||||||
|
|
||||||
|
def source(self):
|
||||||
|
get(self, **self.conan_data["sources"][self.version], strip_root=True)
|
||||||
|
|
||||||
|
def generate(self):
|
||||||
|
env = VirtualBuildEnv(self)
|
||||||
|
env.generate()
|
||||||
|
if not cross_building(self):
|
||||||
|
env = VirtualRunEnv(self)
|
||||||
|
env.generate(scope="build")
|
||||||
|
if is_msvc(self):
|
||||||
|
tc = CMakeToolchain(self)
|
||||||
|
tc.variables["NO_MOREINFO"] = not self.options.moreinfo
|
||||||
|
tc.variables["NETWORK"] = self.options.network
|
||||||
|
tc.variables["NO_NTOM"] = not self.options.flexible_resampling
|
||||||
|
tc.variables["NO_ICY"] = not self.options.icy
|
||||||
|
tc.variables["NO_ID3V2"] = not self.options.id3v2
|
||||||
|
tc.variables["IEEE_FLOAT"] = self.options.ieeefloat
|
||||||
|
tc.variables["NO_LAYER1"] = not self.options.layer1
|
||||||
|
tc.variables["NO_LAYER2"] = not self.options.layer2
|
||||||
|
tc.variables["NO_LAYER3"] = not self.options.layer3
|
||||||
|
tc.variables["USE_MODULES"] = False
|
||||||
|
tc.variables["CHECK_MODULES"] = self._audio_module
|
||||||
|
tc.variables["WITH_SEEKTABLE"] = self.options.seektable
|
||||||
|
tc.generate()
|
||||||
|
tc = CMakeDeps(self)
|
||||||
|
tc.generate()
|
||||||
|
else:
|
||||||
|
yes_no = lambda v: "yes" if v else "no"
|
||||||
|
tc = AutotoolsToolchain(self)
|
||||||
|
tc.configure_args.extend([
|
||||||
|
f"--enable-moreinfo={yes_no(self.options.moreinfo)}",
|
||||||
|
f"--enable-network={yes_no(self.options.network)}",
|
||||||
|
f"--enable-ntom={yes_no(self.options.flexible_resampling)}",
|
||||||
|
f"--enable-icy={yes_no(self.options.icy)}",
|
||||||
|
f"--enable-id3v2={yes_no(self.options.id3v2)}",
|
||||||
|
f"--enable-ieeefloat={yes_no(self.options.ieeefloat)}",
|
||||||
|
f"--enable-layer1={yes_no(self.options.layer1)}",
|
||||||
|
f"--enable-layer2={yes_no(self.options.layer2)}",
|
||||||
|
f"--enable-layer3={yes_no(self.options.layer3)}",
|
||||||
|
f"--with-audio={self._audio_module}",
|
||||||
|
f"--with-default-audio={self._audio_module}",
|
||||||
|
f"--with-seektable={self.options.seektable}",
|
||||||
|
f"--enable-modules=no",
|
||||||
|
f"--enable-shared={yes_no(self.options.shared)}",
|
||||||
|
f"--enable-static={yes_no(not self.options.shared)}",
|
||||||
|
])
|
||||||
|
if is_apple_os(self):
|
||||||
|
# Needed for fix_apple_shared_install_name invocation in package method
|
||||||
|
tc.extra_cflags += ["-headerpad_max_install_names"]
|
||||||
|
# The finite-math-only optimization has no effect and will cause linking errors
|
||||||
|
# when linked against glibc >= 2.31
|
||||||
|
tc.extra_cflags += ["-fno-finite-math-only"]
|
||||||
|
tc.generate()
|
||||||
|
tc = AutotoolsDeps(self)
|
||||||
|
tc.generate()
|
||||||
|
|
||||||
|
def build(self):
|
||||||
|
apply_conandata_patches(self)
|
||||||
|
if is_msvc(self):
|
||||||
|
cmake = CMake(self)
|
||||||
|
cmake.configure(build_script_folder=os.path.join(self.source_folder, "ports", "cmake"))
|
||||||
|
cmake.build()
|
||||||
|
else:
|
||||||
|
if self.settings.compiler == "apple-clang" and cross_building(self):
|
||||||
|
# when testing if the assembler supports avx - propagate cflags (CFLAGS) to the assembler
|
||||||
|
# (which should contain "-arch x86_64" when crossbuilding with appleclang)
|
||||||
|
replace_in_file(self, os.path.join(self.source_folder, "configure"),
|
||||||
|
"$CCAS -c -o conftest.o",
|
||||||
|
"$CCAS $CFLAGS -c -o conftest.o")
|
||||||
|
autotools = Autotools(self)
|
||||||
|
autotools.configure()
|
||||||
|
autotools.make()
|
||||||
|
|
||||||
|
def package(self):
|
||||||
|
copy(self, "COPYING", src=self.source_folder, dst=os.path.join(self.package_folder, "licenses"))
|
||||||
|
if is_msvc(self):
|
||||||
|
cmake = CMake(self)
|
||||||
|
cmake.install()
|
||||||
|
rmdir(self, os.path.join(self.package_folder, "lib", "cmake"))
|
||||||
|
else:
|
||||||
|
autotools = Autotools(self)
|
||||||
|
autotools.install()
|
||||||
|
rm(self, "*.la", os.path.join(self.package_folder, "lib"))
|
||||||
|
rmdir(self, os.path.join(self.package_folder, "lib", "pkgconfig"))
|
||||||
|
rmdir(self, os.path.join(self.package_folder, "share"))
|
||||||
|
|
||||||
|
fix_apple_shared_install_name(self)
|
||||||
|
|
||||||
|
def package_info(self):
|
||||||
|
self.cpp_info.set_property("cmake_file_name", "mpg123")
|
||||||
|
|
||||||
|
self.cpp_info.components["libmpg123"].libs = ["mpg123"]
|
||||||
|
self.cpp_info.components["libmpg123"].set_property("pkg_config_name", "libmpg123")
|
||||||
|
self.cpp_info.components["libmpg123"].set_property("cmake_target_name", "MPG123::libmpg123")
|
||||||
|
if self.settings.os == "Windows" and self.options.shared:
|
||||||
|
self.cpp_info.components["libmpg123"].defines.append("LINK_MPG123_DLL")
|
||||||
|
|
||||||
|
self.cpp_info.components["libout123"].libs = ["out123"]
|
||||||
|
self.cpp_info.components["libout123"].set_property("pkg_config_name", "libout123")
|
||||||
|
self.cpp_info.components["libout123"].set_property("cmake_target_name", "MPG123::libout123")
|
||||||
|
self.cpp_info.components["libout123"].requires = ["libmpg123"]
|
||||||
|
|
||||||
|
self.cpp_info.components["libsyn123"].libs = ["syn123"]
|
||||||
|
self.cpp_info.components["libsyn123"].set_property("pkg_config_name", "libsyn123")
|
||||||
|
self.cpp_info.components["libsyn123"].set_property("cmake_target_name", "MPG123::libsyn123")
|
||||||
|
self.cpp_info.components["libsyn123"].requires = ["libmpg123"]
|
||||||
|
|
||||||
|
if self.settings.os == "Linux":
|
||||||
|
self.cpp_info.components["libmpg123"].system_libs = ["m"]
|
||||||
|
if self.settings.arch in ["x86", "x86_64"]:
|
||||||
|
self.cpp_info.components["libsyn123"].system_libs = ["mvec"]
|
||||||
|
elif self.settings.os == "Windows":
|
||||||
|
self.cpp_info.components["libmpg123"].system_libs = ["shlwapi"]
|
||||||
|
|
||||||
|
if self.options.module == "libalsa":
|
||||||
|
self.cpp_info.components["libout123"].requires.append("libalsa::libalsa")
|
||||||
|
if self.options.module == "tinyalsa":
|
||||||
|
self.cpp_info.components["libout123"].requires.append("tinyalsa::tinyalsa")
|
||||||
|
if self.options.module == "win32":
|
||||||
|
self.cpp_info.components["libout123"].system_libs.append("winmm")
|
||||||
22
conan/mpg123/all/patches/0001-msvc-export-symbols.patch
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
--- a/ports/cmake/src/libout123/CMakeLists.txt
|
||||||
|
+++ b/ports/cmake/src/libout123/CMakeLists.txt
|
||||||
|
@@ -18,7 +18,7 @@ add_library(${TARGET}
|
||||||
|
$<TARGET_OBJECTS:compat>
|
||||||
|
$<$<BOOL:${USE_MODULES}>:$<TARGET_OBJECTS:compat_dl>>)
|
||||||
|
|
||||||
|
-set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME out123)
|
||||||
|
+set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME out123 WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
||||||
|
|
||||||
|
target_link_libraries(${TARGET} PRIVATE
|
||||||
|
$<TARGET_NAME_IF_EXISTS:defaultmodule>
|
||||||
|
--- a/ports/cmake/src/libsyn123/CMakeLists.txt
|
||||||
|
+++ b/ports/cmake/src/libsyn123/CMakeLists.txt
|
||||||
|
@@ -15,7 +15,7 @@ add_library(${TARGET}
|
||||||
|
"${CMAKE_CURRENT_SOURCE_DIR}/../../../../src/libsyn123/sampleconv.c"
|
||||||
|
$<TARGET_OBJECTS:compat_str>)
|
||||||
|
|
||||||
|
-set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME syn123)
|
||||||
|
+set_target_properties(${TARGET} PROPERTIES OUTPUT_NAME syn123 WINDOWS_EXPORT_ALL_SYMBOLS ON)
|
||||||
|
|
||||||
|
target_include_directories(${TARGET} INTERFACE
|
||||||
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>"
|
||||||
|
|
@ -0,0 +1,10 @@
|
||||||
|
--- a/ports/cmake/cmake/read_api_version.cmake
|
||||||
|
+++ b/ports/cmake/cmake/read_api_version.cmake
|
||||||
|
@@ -1,6 +1,6 @@
|
||||||
|
function(read_api_version project_version api_version outapi_version synapi_version )
|
||||||
|
|
||||||
|
- file( READ "${CMAKE_SOURCE_DIR}/../../configure.ac" configure_ac )
|
||||||
|
+ file( READ "${CMAKE_CURRENT_SOURCE_DIR}/../../configure.ac" configure_ac )
|
||||||
|
|
||||||
|
string( REGEX MATCH "AC_INIT\\(\\[mpg123\\], \\[([0-9\\.]+)" result ${configure_ac} )
|
||||||
|
set( ${project_version} ${CMAKE_MATCH_1} PARENT_SCOPE )
|
||||||
7
conan/mpg123/all/test_package/CMakeLists.txt
Normal file
|
|
@ -0,0 +1,7 @@
|
||||||
|
cmake_minimum_required(VERSION 3.8)
|
||||||
|
project(test_package LANGUAGES C)
|
||||||
|
|
||||||
|
find_package(mpg123 REQUIRED CONFIG)
|
||||||
|
|
||||||
|
add_executable(${PROJECT_NAME} test_package.c)
|
||||||
|
target_link_libraries(${PROJECT_NAME} PRIVATE MPG123::libmpg123)
|
||||||
26
conan/mpg123/all/test_package/conanfile.py
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
from conan import ConanFile
|
||||||
|
from conan.tools.build import can_run
|
||||||
|
from conan.tools.cmake import cmake_layout, CMake
|
||||||
|
import os
|
||||||
|
|
||||||
|
|
||||||
|
class TestPackageConan(ConanFile):
|
||||||
|
settings = "os", "arch", "compiler", "build_type"
|
||||||
|
generators = "CMakeDeps", "CMakeToolchain", "VirtualRunEnv"
|
||||||
|
test_type = "explicit"
|
||||||
|
|
||||||
|
def requirements(self):
|
||||||
|
self.requires(self.tested_reference_str)
|
||||||
|
|
||||||
|
def layout(self):
|
||||||
|
cmake_layout(self)
|
||||||
|
|
||||||
|
def build(self):
|
||||||
|
cmake = CMake(self)
|
||||||
|
cmake.configure()
|
||||||
|
cmake.build()
|
||||||
|
|
||||||
|
def test(self):
|
||||||
|
if can_run(self):
|
||||||
|
bin_path = os.path.join(self.cpp.build.bindirs[0], "test_package")
|
||||||
|
self.run(bin_path, env="conanrun")
|
||||||
12
conan/mpg123/all/test_package/test_package.c
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
#include "mpg123.h"
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int error;
|
||||||
|
mpg123_pars *pars;
|
||||||
|
|
||||||
|
pars = mpg123_new_pars(&error);
|
||||||
|
mpg123_fmt_all(pars);
|
||||||
|
mpg123_delete_pars(pars);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
9
conan/mpg123/config.yml
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
versions:
|
||||||
|
"1.32.10":
|
||||||
|
folder: "all"
|
||||||
|
"1.31.2":
|
||||||
|
folder: "all"
|
||||||
|
"1.29.3":
|
||||||
|
folder: "all"
|
||||||
|
"1.26.4":
|
||||||
|
folder: "all"
|
||||||
12
conan/profiles/emscripten
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
[settings]
|
||||||
|
os=Emscripten
|
||||||
|
arch=wasm
|
||||||
|
compiler=clang
|
||||||
|
compiler.version=15
|
||||||
|
compiler.cppstd=23
|
||||||
|
compiler.libcxx=libc++
|
||||||
|
build_type=Release
|
||||||
|
|
||||||
|
[tool_requires]
|
||||||
|
cmake/3.27.0
|
||||||
|
emsdk/3.1.73
|
||||||
15
conan/profiles/linux-x86_64
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
[settings]
|
||||||
|
arch=x86_64
|
||||||
|
build_type=Release
|
||||||
|
compiler=gcc
|
||||||
|
compiler.cppstd=gnu23
|
||||||
|
compiler.libcxx=libstdc++11
|
||||||
|
compiler.version=15
|
||||||
|
os=Linux
|
||||||
|
|
||||||
|
[tool_requires]
|
||||||
|
cmake/3.27.0
|
||||||
|
|
||||||
|
[replace_requires]
|
||||||
|
libiconv/*: libiconv/1.18
|
||||||
|
mpg123/*: mpg123/1.32.10
|
||||||
11
conan/profiles/macOS-arm64
Executable file
|
|
@ -0,0 +1,11 @@
|
||||||
|
[settings]
|
||||||
|
arch=armv8
|
||||||
|
build_type=Release
|
||||||
|
compiler=apple-clang
|
||||||
|
compiler.cppstd=gnu23
|
||||||
|
compiler.libcxx=libc++
|
||||||
|
compiler.version=17
|
||||||
|
os=Macos
|
||||||
|
|
||||||
|
[tool_requires]
|
||||||
|
cmake/3.27.0
|
||||||
8
conan/profiles/win-x86_64
Executable file
|
|
@ -0,0 +1,8 @@
|
||||||
|
[settings]
|
||||||
|
arch=x86_64
|
||||||
|
build_type=Release
|
||||||
|
compiler=msvc
|
||||||
|
compiler.cppstd=23
|
||||||
|
compiler.runtime=dynamic
|
||||||
|
compiler.version=194
|
||||||
|
os=Windows
|
||||||
60
conanfile.py
Normal file
|
|
@ -0,0 +1,60 @@
|
||||||
|
from conan import ConanFile
|
||||||
|
from conan.tools.cmake import cmake_layout
|
||||||
|
|
||||||
|
class CompressorRecipe(ConanFile):
|
||||||
|
settings = "os", "compiler", "build_type", "arch"
|
||||||
|
generators = "CMakeToolchain", "CMakeDeps"
|
||||||
|
|
||||||
|
def requirements(self):
|
||||||
|
if self.settings.os == "Emscripten":
|
||||||
|
self.requires("skia/134.20250327.0", options = {
|
||||||
|
"enable_svg": True,
|
||||||
|
"use_expat": True,
|
||||||
|
"use_harfbuzz": True,
|
||||||
|
"use_system_harfbuzz":False,
|
||||||
|
"use_conan_harfbuzz":True,
|
||||||
|
"enable_skshaper": True
|
||||||
|
})
|
||||||
|
else:
|
||||||
|
self.requires("skia/134.20250327.0", options = {
|
||||||
|
"use_system_expat":False,
|
||||||
|
"use_system_freetype":False,
|
||||||
|
"use_system_harfbuzz":False,
|
||||||
|
"use_system_icu":False,
|
||||||
|
"use_system_libjpeg_turbo":False,
|
||||||
|
"use_system_libpng":False,
|
||||||
|
"use_system_libwebp":False,
|
||||||
|
"use_system_zlib":False,
|
||||||
|
"enable_svg": True,
|
||||||
|
"enable_skottie": False,
|
||||||
|
"enable_skunicode": True,
|
||||||
|
"enable_skshaper": True,
|
||||||
|
"enable_bentleyottmann": True, # for some reason, setting this to False results in an error when creating the project
|
||||||
|
"enable_skparagraph": True,
|
||||||
|
"use_freetype": True
|
||||||
|
})
|
||||||
|
|
||||||
|
|
||||||
|
if self.settings.os == "Linux":
|
||||||
|
self.requires("sdl/3.2.14", options = {
|
||||||
|
"wayland": False,
|
||||||
|
"pulseaudio": False,
|
||||||
|
"alsa": False,
|
||||||
|
"sndio": False,
|
||||||
|
"vulkan": False,
|
||||||
|
"opengles": False
|
||||||
|
})
|
||||||
|
else:
|
||||||
|
self.requires("sdl/3.2.14")
|
||||||
|
|
||||||
|
if self.settings.os != "Emscripten" and self.settings.os != "Macos":
|
||||||
|
self.requires("onetbb/2022.0.0")
|
||||||
|
|
||||||
|
if self.settings.os != "Emscripten":
|
||||||
|
self.requires("libdatachannel/0.23.1")
|
||||||
|
|
||||||
|
def build_requirements(self):
|
||||||
|
self.tool_requires("cmake/3.27.0")
|
||||||
|
|
||||||
|
def layout(self):
|
||||||
|
cmake_layout(self)
|
||||||
10
data/config/p2p.json
Normal file
|
|
@ -0,0 +1,10 @@
|
||||||
|
{
|
||||||
|
"signalingServer": "wss://signalserver.infinipaint.com:8000",
|
||||||
|
"stunList": [
|
||||||
|
"stun.l.google.com:19302",
|
||||||
|
"stun1.l.google.com:19302",
|
||||||
|
"stun2.l.google.com:19302",
|
||||||
|
"stun3.l.google.com:19302",
|
||||||
|
"stun4.l.google.com:19302"
|
||||||
|
]
|
||||||
|
}
|
||||||
BIN
data/fonts/Roboto-variable.ttf
Normal file
74
data/icons/backarrow.svg
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="backarrow.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="23.020096"
|
||||||
|
inkscape:cx="5.0390754"
|
||||||
|
inkscape:cy="10.621155"
|
||||||
|
inkscape:window-width="2533"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 7.6729163,4.2333331 H 0.79374996 Z m -5.8208333,0"
|
||||||
|
id="path5-5"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 2.9104165,6.614583 0.79374996,4.2333331 Z"
|
||||||
|
id="path5-5-5"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 0.79374996,4.2333331 2.9104165,1.8520832 Z"
|
||||||
|
id="path5-5-5-2"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
63
data/icons/bookmark.svg
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
sodipodi:docname="bookmark.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="11.510048"
|
||||||
|
inkscape:cx="4.4309111"
|
||||||
|
inkscape:cy="15.986032"
|
||||||
|
inkscape:window-width="2686"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="M 1.8520832,7.1437496 V 1.3229166 H 6.614583 v 5.820833 L 4.2333331,5.2916664 Z"
|
||||||
|
id="path1" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.8 KiB |
69
data/icons/brush.svg
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="brush.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="32.55533"
|
||||||
|
inkscape:cx="13.745829"
|
||||||
|
inkscape:cy="15.650279"
|
||||||
|
inkscape:window-width="2168"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="m 7.4083329,1.0583333 c 0.79375,0.79375 -3.3072916,4.8947914 -3.3072916,4.8947914 L 3.042708,4.8947915 c 0,0 3.5718749,-4.63020815 4.3656249,-3.8364582 z"
|
||||||
|
id="path3"
|
||||||
|
sodipodi:nodetypes="sccs" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="m 2.1166666,5.820833 1.0583332,1.0583333 c 0,0 -0.1661743,0.2645832 -0.5291666,0.5291666 -0.3629922,0.2645833 -1.5874999,0 -1.5874999,0 z"
|
||||||
|
id="path4"
|
||||||
|
sodipodi:nodetypes="ccscc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.3 KiB |
132
data/icons/camera.svg
Normal file
|
|
@ -0,0 +1,132 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="camera.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="23.020095"
|
||||||
|
inkscape:cx="8.3839792"
|
||||||
|
inkscape:cy="25.412579"
|
||||||
|
inkscape:window-width="1940"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showguides="true">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
<sodipodi:guide
|
||||||
|
position="4.2333331,6.7393849"
|
||||||
|
orientation="1,0"
|
||||||
|
id="guide1"
|
||||||
|
inkscape:locked="false" />
|
||||||
|
<sodipodi:guide
|
||||||
|
position="7.9997569,3.1750002"
|
||||||
|
orientation="0,-1"
|
||||||
|
id="guide2"
|
||||||
|
inkscape:locked="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1">
|
||||||
|
<mask
|
||||||
|
maskUnits="userSpaceOnUse"
|
||||||
|
id="mask10">
|
||||||
|
<g
|
||||||
|
id="g10">
|
||||||
|
<rect
|
||||||
|
style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="rect10"
|
||||||
|
width="10.318749"
|
||||||
|
height="9.7895832"
|
||||||
|
x="-0.79374993"
|
||||||
|
y="-0.52916664"
|
||||||
|
rx="0.26819724"
|
||||||
|
ry="0.26458332" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="path10"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="4.2333331"
|
||||||
|
sodipodi:cy="5.2916665"
|
||||||
|
sodipodi:rx="1.3229166"
|
||||||
|
sodipodi:ry="1.3229166"
|
||||||
|
sodipodi:start="0"
|
||||||
|
sodipodi:end="6.2759855"
|
||||||
|
sodipodi:arc-type="arc"
|
||||||
|
d="M 5.5562497,5.2916665 A 1.3229166,1.3229166 0 0 1 4.2357143,6.614581 1.3229166,1.3229166 0 0 1 2.9104251,5.2964289 1.3229166,1.3229166 0 0 1 4.2261896,3.9687692 1.3229166,1.3229166 0 0 1 5.5562154,5.2821418"
|
||||||
|
sodipodi:open="true" />
|
||||||
|
</g>
|
||||||
|
</mask>
|
||||||
|
</defs>
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<g
|
||||||
|
id="g3"
|
||||||
|
mask="url(#mask10)">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
id="rect6"
|
||||||
|
width="6.8791661"
|
||||||
|
height="4.2333331"
|
||||||
|
x="0.79375029"
|
||||||
|
y="3.1749997"
|
||||||
|
rx="0.29054701"
|
||||||
|
ry="0.25242093"
|
||||||
|
mask="none" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
id="rect7"
|
||||||
|
width="3.1749997"
|
||||||
|
height="1.0583333"
|
||||||
|
x="2.6458333"
|
||||||
|
y="2.3812499"
|
||||||
|
rx="0.26819724"
|
||||||
|
ry="0.26819724" />
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
id="rect8"
|
||||||
|
width="1.0583333"
|
||||||
|
height="0.52916664"
|
||||||
|
x="1.3229166"
|
||||||
|
y="2.9104164"
|
||||||
|
rx="0.26819724"
|
||||||
|
ry="0.26458332" />
|
||||||
|
</g>
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.1 KiB |
103
data/icons/chat.svg
Normal file
|
|
@ -0,0 +1,103 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
sodipodi:docname="chat.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="16.277666"
|
||||||
|
inkscape:cx="-1.1979604"
|
||||||
|
inkscape:cy="7.3413473"
|
||||||
|
inkscape:window-width="2446"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
d="M 1.0583333,1.3229166 V 6.0854163 H 3.439583 l 2.1166667,1.5875 v -1.5875 H 7.4083329 V 1.3229166 Z"
|
||||||
|
id="path1"
|
||||||
|
sodipodi:nodetypes="cccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
id="path2"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="2.645833"
|
||||||
|
sodipodi:cy="3.7041664"
|
||||||
|
sodipodi:rx="0.52916664"
|
||||||
|
sodipodi:ry="0.52916664"
|
||||||
|
sodipodi:start="4.7128653"
|
||||||
|
sodipodi:end="4.712389"
|
||||||
|
sodipodi:open="true"
|
||||||
|
sodipodi:arc-type="arc"
|
||||||
|
d="M 2.6460851,3.1749998 A 0.52916664,0.52916664 0 0 1 3.1749996,3.7043555 0.52916664,0.52916664 0 0 1 2.645707,4.233333 0.52916664,0.52916664 0 0 1 2.1166664,3.7041034 0.52916664,0.52916664 0 0 1 2.645833,3.1749998" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
id="path2-3"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="4.2333331"
|
||||||
|
sodipodi:cy="3.7041664"
|
||||||
|
sodipodi:rx="0.52916664"
|
||||||
|
sodipodi:ry="0.52916664"
|
||||||
|
sodipodi:start="4.7128653"
|
||||||
|
sodipodi:end="4.712389"
|
||||||
|
sodipodi:open="true"
|
||||||
|
sodipodi:arc-type="arc"
|
||||||
|
d="M 4.2335852,3.1749998 A 0.52916664,0.52916664 0 0 1 4.7624997,3.7043555 0.52916664,0.52916664 0 0 1 4.2332071,4.233333 0.52916664,0.52916664 0 0 1 3.7041665,3.7041034 0.52916664,0.52916664 0 0 1 4.2333331,3.1749998" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
id="path2-3-1"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="5.8208332"
|
||||||
|
sodipodi:cy="3.7041664"
|
||||||
|
sodipodi:rx="0.52916664"
|
||||||
|
sodipodi:ry="0.52916664"
|
||||||
|
sodipodi:start="4.7128653"
|
||||||
|
sodipodi:end="4.712389"
|
||||||
|
sodipodi:open="true"
|
||||||
|
sodipodi:arc-type="arc"
|
||||||
|
d="M 5.8210853,3.1749998 A 0.52916664,0.52916664 0 0 1 6.3499998,3.7043555 0.52916664,0.52916664 0 0 1 5.8207072,4.233333 0.52916664,0.52916664 0 0 1 5.2916666,3.7041034 0.52916664,0.52916664 0 0 1 5.8208332,3.1749998" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.8 KiB |
68
data/icons/circle.svg
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="circle.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="32.55533"
|
||||||
|
inkscape:cx="12.102473"
|
||||||
|
inkscape:cy="12.747529"
|
||||||
|
inkscape:window-width="3440"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="true" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
id="rect5"
|
||||||
|
width="5.8208327"
|
||||||
|
height="5.8208327"
|
||||||
|
x="1.3229166"
|
||||||
|
y="1.3229166"
|
||||||
|
ry="2.9104164"
|
||||||
|
rx="2.9004822" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
69
data/icons/close.svg
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="close.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="32.555332"
|
||||||
|
inkscape:cx="7.8481768"
|
||||||
|
inkscape:cy="16.018881"
|
||||||
|
inkscape:window-width="3440"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="m 1.3229166,1.3229166 5.820833,5.820833 z"
|
||||||
|
id="path5"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="m 7.1437496,1.3229166 -5.820833,5.820833 z"
|
||||||
|
id="path5-5"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
69
data/icons/cursor.svg
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="cursor.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="8.1388326"
|
||||||
|
inkscape:cx="-3.5631646"
|
||||||
|
inkscape:cy="25.310755"
|
||||||
|
inkscape:window-width="2112"
|
||||||
|
inkscape:window-height="1214"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 2.1166665,6.8791663 10e-8,-5.5562497 4.4979164,3.7041665"
|
||||||
|
id="path1"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 2.1166665,6.8791663 3.439583,6.3499997 4.3655093,7.4083329 5.1592592,7.0575477 5.027083,5.7229066 6.614583,5.0270831"
|
||||||
|
id="path4"
|
||||||
|
sodipodi:nodetypes="cccccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
63
data/icons/droparrow.svg
Normal file
|
|
@ -0,0 +1,63 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="droparrow.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="23.020096"
|
||||||
|
inkscape:cx="5.3648777"
|
||||||
|
inkscape:cy="19.352656"
|
||||||
|
inkscape:window-width="2286"
|
||||||
|
inkscape:window-height="1214"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 1.0583333,2.3812499 H 7.408333 L 4.2333331,6.0854164 Z"
|
||||||
|
id="path1" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.8 KiB |
86
data/icons/eraser.svg
Normal file
|
|
@ -0,0 +1,86 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="eraser.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="16.277666"
|
||||||
|
inkscape:cx="1.5972806"
|
||||||
|
inkscape:cy="12.778245"
|
||||||
|
inkscape:window-width="1822"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4"
|
||||||
|
d="M 5.5562497,1.1906249 7.408333,3.0427082 5.0270831,5.423958 3.1749998,3.5718748 Z"
|
||||||
|
id="path5"
|
||||||
|
sodipodi:nodetypes="ccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 3.1749998,3.5718748 1.0583333,5.6885413"
|
||||||
|
id="path6"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 1.0583333,5.6885413 2.3812499,7.0114579"
|
||||||
|
id="path7" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 5.0270831,5.423958 3.439583,7.0114579"
|
||||||
|
id="path8"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 3.439583,7.0114579 H 2.3812499"
|
||||||
|
id="path9" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 2.3812499,7.0114579 H 5.2916663"
|
||||||
|
id="path10" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.9 KiB |
80
data/icons/eyedropper.svg
Normal file
|
|
@ -0,0 +1,80 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4.1 (93de688d07, 2025-03-30)"
|
||||||
|
sodipodi:docname="eyedropper.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="11.510047"
|
||||||
|
inkscape:cx="-13.987779"
|
||||||
|
inkscape:cy="8.3839794"
|
||||||
|
inkscape:window-width="2649"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="M 7.816167,0.65049936 C 8.6099169,1.4442493 7.2870004,2.2379992 7.2870004,2.2379992 L 6.2286671,1.179666 c 0,0 0.7937499,-1.3229166 1.5874999,-0.52916664 z"
|
||||||
|
id="path17"
|
||||||
|
sodipodi:nodetypes="sccs" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="M 5.5562497,0.7937501 7.6729163,2.9104167 6.8791663,3.7041665 4.7624997,1.5875001 Z"
|
||||||
|
id="path18" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="M 1.1906249,6.2177082 5.4239579,1.984375"
|
||||||
|
id="path19" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="M 2.2489581,7.2760415 6.4822913,3.0427082"
|
||||||
|
id="path20" />
|
||||||
|
<path
|
||||||
|
style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="M 1.1906249,6.2177082 0.92604157,7.5406248 2.2489582,7.2760414"
|
||||||
|
id="path21" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.9 KiB |
68
data/icons/file.svg
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="file.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="23.020096"
|
||||||
|
inkscape:cx="15.768831"
|
||||||
|
inkscape:cy="15.095506"
|
||||||
|
inkscape:window-width="2089"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.5874999,7.4083329 V 1.0583333 Z m 5.2916663,0 H 1.5874999 Z m 0,-3.9687497 V 7.4083329 Z M 4.4979164,1.0583333 H 1.5874999 Z"
|
||||||
|
id="path5-5"
|
||||||
|
sodipodi:nodetypes="cccccccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="m 4.4979163,1.0583333 2.38125,2.3812497 -2.3812499,2e-7 V 1.0583333"
|
||||||
|
id="path1" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.2 KiB |
91
data/icons/folder.svg
Normal file
|
|
@ -0,0 +1,91 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="folder.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="16.277666"
|
||||||
|
inkscape:cx="6.9420272"
|
||||||
|
inkscape:cy="7.8942522"
|
||||||
|
inkscape:window-width="2089"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 1.3229166,2.1166665 V 6.8791663"
|
||||||
|
id="path1" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 1.3229166,6.8791663 h 5.820833 V 2.1166665"
|
||||||
|
id="path2" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 1.3229166,2.1166665 h 1.5875"
|
||||||
|
id="path9" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 2.9104166,2.1166665 3.439583,1.3229166"
|
||||||
|
id="path10" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 3.439583,1.3229166 H 6.3499997"
|
||||||
|
id="path11" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 6.3499997,1.3229166 7.1437496,2.1166665"
|
||||||
|
id="path12" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 2.9104166,2.1166665 3.439583,2.6458332"
|
||||||
|
id="path13" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 3.439583,2.6458332 H 7.1437496"
|
||||||
|
id="path14" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3 KiB |
64
data/icons/jump.svg
Normal file
|
|
@ -0,0 +1,64 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
sodipodi:docname="jump.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="32.555332"
|
||||||
|
inkscape:cx="15.281675"
|
||||||
|
inkscape:cy="14.92843"
|
||||||
|
inkscape:window-width="2057"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 1.3229167,7.1437497 c 0,0 0.7937499,-4.4979165 3.9687497,-4.4979165 -8.731e-4,-0.8732066 10e-8,-1.5874999 10e-8,-1.5874999 l 2.1166665,2.1166666 -2.1166666,1.8520832 -1e-7,-1.3229165 C 2.7551171,3.6870296 1.3229167,7.1437497 1.3229167,7.1437497 Z"
|
||||||
|
id="path1"
|
||||||
|
sodipodi:nodetypes="ccccccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2 KiB |
113
data/icons/list.svg
Normal file
|
|
@ -0,0 +1,113 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
sodipodi:docname="list.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="32.555329"
|
||||||
|
inkscape:cx="12.394284"
|
||||||
|
inkscape:cy="16.986466"
|
||||||
|
inkscape:window-width="2635"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="m 2.6458332,2.1166666 4.7624996,-10e-8 z"
|
||||||
|
id="path6"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 2.6458332,6.3499997 H 7.4083328 Z"
|
||||||
|
id="path6-2"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 2.6458332,4.2333331 H 7.4083324 Z"
|
||||||
|
id="path6-5"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.374177;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
id="path1"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="1.3229166"
|
||||||
|
sodipodi:cy="2.1166663"
|
||||||
|
sodipodi:rx="0.52916664"
|
||||||
|
sodipodi:ry="0.52916658"
|
||||||
|
sodipodi:start="4.7128653"
|
||||||
|
sodipodi:end="4.712389"
|
||||||
|
sodipodi:open="true"
|
||||||
|
sodipodi:arc-type="arc"
|
||||||
|
d="M 1.3231687,1.5874998 A 0.52916664,0.52916658 0 0 1 1.8520832,2.1168554 0.52916664,0.52916658 0 0 1 1.3227906,2.6458329 0.52916664,0.52916658 0 0 1 0.79374999,2.1166033 0.52916664,0.52916658 0 0 1 1.3229166,1.5874997" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.374177;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
id="path1-3"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="1.3229166"
|
||||||
|
sodipodi:cy="4.2333331"
|
||||||
|
sodipodi:rx="0.52916664"
|
||||||
|
sodipodi:ry="0.52916658"
|
||||||
|
sodipodi:start="4.7128653"
|
||||||
|
sodipodi:end="4.712389"
|
||||||
|
sodipodi:open="true"
|
||||||
|
sodipodi:arc-type="arc"
|
||||||
|
d="M 1.3231687,3.7041666 A 0.52916664,0.52916658 0 0 1 1.8520832,4.2335222 0.52916664,0.52916658 0 0 1 1.3227906,4.7624997 0.52916664,0.52916658 0 0 1 0.79374999,4.2332701 0.52916664,0.52916658 0 0 1 1.3229166,3.7041665" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.374177;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
id="path1-3-1"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="1.3229166"
|
||||||
|
sodipodi:cy="6.3499999"
|
||||||
|
sodipodi:rx="0.52916664"
|
||||||
|
sodipodi:ry="0.52916658"
|
||||||
|
sodipodi:start="4.7128653"
|
||||||
|
sodipodi:end="4.712389"
|
||||||
|
sodipodi:open="true"
|
||||||
|
sodipodi:arc-type="arc"
|
||||||
|
d="M 1.3231687,5.8208334 A 0.52916664,0.52916658 0 0 1 1.8520832,6.3501889 0.52916664,0.52916658 0 0 1 1.3227906,6.8791665 0.52916664,0.52916658 0 0 1 0.79374999,6.3499369 0.52916664,0.52916658 0 0 1 1.3229166,5.8208333" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.3 KiB |
74
data/icons/menu.svg
Normal file
|
|
@ -0,0 +1,74 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="menu.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="16.277665"
|
||||||
|
inkscape:cx="-0.12286774"
|
||||||
|
inkscape:cy="8.8464775"
|
||||||
|
inkscape:window-width="2280"
|
||||||
|
inkscape:window-height="1214"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.3229167,2.1166665 H 7.1437495 Z"
|
||||||
|
id="path6"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.3229167,6.3499997 H 7.1437495 Z"
|
||||||
|
id="path6-2"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.3229166,4.2333331 H 7.1437491 Z"
|
||||||
|
id="path6-5"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
87
data/icons/network.svg
Normal file
|
|
@ -0,0 +1,87 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="network.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="11.313708"
|
||||||
|
inkscape:cx="11.623068"
|
||||||
|
inkscape:cy="7.6455924"
|
||||||
|
inkscape:window-width="3440"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="m 0.64675936,2.5184412 c 0,0 1.79328694,-1.1955246 3.58657374,-1.1955246 1.7932871,0 3.5865741,1.1955246 3.5865741,1.1955246"
|
||||||
|
id="path21"
|
||||||
|
sodipodi:nodetypes="csc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="m 1.8422839,4.0128469 c 0,0 1.1955245,-0.8966434 2.3910492,-0.8966434 1.1955247,0 2.3910494,0.8966434 2.3910494,0.8966434"
|
||||||
|
id="path21-7"
|
||||||
|
sodipodi:nodetypes="csc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.79374999;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="m 3.0378084,5.5072527 c 0,0 0.5977624,-0.4705953 1.1955247,-0.4705953 0.5977623,0 1.1955247,0.4705953 1.1955247,0.4705953"
|
||||||
|
id="path21-7-6"
|
||||||
|
sodipodi:nodetypes="csc" />
|
||||||
|
<path
|
||||||
|
style="fill:none;stroke:#000000;stroke-width:0.8011;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
id="path22"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="4.2333331"
|
||||||
|
sodipodi:cy="7.0794411"
|
||||||
|
sodipodi:rx="0.20027478"
|
||||||
|
sodipodi:ry="0.20027478"
|
||||||
|
sodipodi:start="0"
|
||||||
|
sodipodi:end="6.2817431"
|
||||||
|
sodipodi:open="true"
|
||||||
|
sodipodi:arc-type="arc"
|
||||||
|
d="M 4.4336079,7.0794411 A 0.20027478,0.20027478 0 0 1 4.2334053,7.2797158 0.20027478,0.20027478 0 0 1 4.0330584,7.0795855 0.20027478,0.20027478 0 0 1 4.2331165,6.8791664 0.20027478,0.20027478 0 0 1 4.4336077,7.0791522" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.2 KiB |
69
data/icons/plus.svg
Normal file
|
|
@ -0,0 +1,69 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
sodipodi:docname="plus.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="32.555332"
|
||||||
|
inkscape:cx="7.8788937"
|
||||||
|
inkscape:cy="16.018881"
|
||||||
|
inkscape:window-width="2882"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.0583333,4.2333331 H 7.4083329 Z"
|
||||||
|
id="path5"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="m 4.2333331,1.0583333 0,6.3499996 z"
|
||||||
|
id="path5-5"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.1 KiB |
68
data/icons/rectangle.svg
Normal file
|
|
@ -0,0 +1,68 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="rectangle.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="32.555331"
|
||||||
|
inkscape:cx="16.633221"
|
||||||
|
inkscape:cy="17.616162"
|
||||||
|
inkscape:window-width="3440"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="true" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<rect
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
id="rect5"
|
||||||
|
width="6.3499999"
|
||||||
|
height="6.3499999"
|
||||||
|
x="1.0583333"
|
||||||
|
y="1.0583333"
|
||||||
|
ry="0.26819724"
|
||||||
|
rx="0.26819724" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.9 KiB |
101
data/icons/rectselect.svg
Normal file
|
|
@ -0,0 +1,101 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="rectselect.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="32.555331"
|
||||||
|
inkscape:cx="11.672436"
|
||||||
|
inkscape:cy="16.126391"
|
||||||
|
inkscape:window-width="3440"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.0583333,2.3812499 V 1.0583333 h 1.3229166"
|
||||||
|
id="path1" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.0583333,7.408333 V 6.0854163 Z"
|
||||||
|
id="path2" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.0583333,7.408333 H 2.3812499 Z"
|
||||||
|
id="path3" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.0583333,3.7041664 V 4.7624997 Z"
|
||||||
|
id="path4" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 7.4083329,2.3812499 V 1.0583333 H 6.0854163"
|
||||||
|
id="path1-5" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="m 7.4083329,7.4083329 0,-1.3229166 z"
|
||||||
|
id="path2-3"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 7.4083329,7.4083329 H 6.0854163 Z"
|
||||||
|
id="path3-5"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 7.4083329,3.7041665 V 4.7624998 Z"
|
||||||
|
id="path4-6" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 3.7041664,1.0583333 H 4.7624997 Z"
|
||||||
|
id="path5" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 3.7041664,7.408333 H 4.7624997 Z"
|
||||||
|
id="path6" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4 KiB |
82
data/icons/redo.svg
Normal file
|
|
@ -0,0 +1,82 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
sodipodi:docname="redo.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="23.020096"
|
||||||
|
inkscape:cx="15.182387"
|
||||||
|
inkscape:cy="17.289242"
|
||||||
|
inkscape:window-width="2635"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
id="path1"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="-4.2333322"
|
||||||
|
sodipodi:cy="5.0270829"
|
||||||
|
sodipodi:rx="2.3812513"
|
||||||
|
sodipodi:ry="2.3812499"
|
||||||
|
sodipodi:start="4.7128653"
|
||||||
|
sodipodi:end="3.1400395"
|
||||||
|
sodipodi:open="true"
|
||||||
|
sodipodi:arc-type="arc"
|
||||||
|
d="m -4.2321979,2.6458333 a 2.3812513,2.3812499 0 0 1 2.380117,2.380773 2.3812513,2.3812499 0 0 1 -2.3791637,2.3817256 2.3812513,2.3812499 0 0 1 -2.383336,-2.3775505"
|
||||||
|
transform="scale(-1,1)" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="M 3.968749,1.3229166 5.5562497,2.6458332"
|
||||||
|
id="path2" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 3.9687489,3.9687497 5.5562497,2.6458332"
|
||||||
|
id="path3"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.7 KiB |
73
data/icons/save.svg
Normal file
|
|
@ -0,0 +1,73 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="save.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="23.020095"
|
||||||
|
inkscape:cx="5.1911167"
|
||||||
|
inkscape:cy="10.838357"
|
||||||
|
inkscape:window-width="2168"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="true" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="M 1.0583333,1.0583333 H 2.6458332 V 2.6458332 H 4.4979164 V 1.0583333 l 1.5874999,0 1.3229166,1.3229166 v 5.027083 H 1.0583333 Z"
|
||||||
|
id="path1"
|
||||||
|
sodipodi:nodetypes="cccccccccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="M 2.6458332,1.0583333 H 4.4979163 Z"
|
||||||
|
id="path2" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="m 2.3812499,4.7624997 0,1.3229166 h 3.7041664 l 0,-1.3229166 z"
|
||||||
|
id="path3"
|
||||||
|
sodipodi:nodetypes="ccccc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.4 KiB |
117
data/icons/text.svg
Normal file
|
|
@ -0,0 +1,117 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4 (e7c3feb100, 2024-10-09)"
|
||||||
|
sodipodi:docname="text2.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="11.510048"
|
||||||
|
inkscape:cx="-6.0816429"
|
||||||
|
inkscape:cy="7.9930164"
|
||||||
|
inkscape:window-width="3440"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1"
|
||||||
|
showguides="true">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
<sodipodi:guide
|
||||||
|
position="4.2333331,7.4083333"
|
||||||
|
orientation="1,0"
|
||||||
|
id="guide1"
|
||||||
|
inkscape:locked="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.0583333,2.3812499 V 1.0583333 h 1.3229166"
|
||||||
|
id="path1" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.0583333,7.408333 V 6.0854163 Z"
|
||||||
|
id="path2" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.0583333,7.408333 H 2.3812499 Z"
|
||||||
|
id="path3" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 1.0583333,3.7041664 V 4.7624997 Z"
|
||||||
|
id="path4" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 7.4083329,2.3812499 V 1.0583333 H 6.0854163"
|
||||||
|
id="path1-5" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="m 7.4083329,7.4083329 0,-1.3229166 z"
|
||||||
|
id="path2-3"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 7.4083329,7.4083329 H 6.0854163 Z"
|
||||||
|
id="path3-5"
|
||||||
|
sodipodi:nodetypes="ccc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 7.4083329,3.7041665 V 4.7624998 Z"
|
||||||
|
id="path4-6" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 3.7041664,1.0583333 H 4.7624997 Z"
|
||||||
|
id="path5" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none;stroke-dashoffset:0"
|
||||||
|
d="M 3.7041664,7.408333 H 4.7624997 Z"
|
||||||
|
id="path6" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 5.2916664,2.6458332 -2.1166666,0"
|
||||||
|
id="path7"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;stroke:#000000;stroke-width:0.79375;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="m 4.233333,2.6458332 1e-7,3.1749998"
|
||||||
|
id="path8"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.6 KiB |
81
data/icons/undo.svg
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="32"
|
||||||
|
height="32"
|
||||||
|
viewBox="0 0 8.4666666 8.4666666"
|
||||||
|
version="1.1"
|
||||||
|
id="svg1"
|
||||||
|
inkscape:version="1.4.2 (ebf0e940d0, 2025-05-08)"
|
||||||
|
sodipodi:docname="undo.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview1"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#000000"
|
||||||
|
borderopacity="0.25"
|
||||||
|
inkscape:showpageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:deskcolor="#d1d1d1"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="true"
|
||||||
|
inkscape:zoom="23.020096"
|
||||||
|
inkscape:cx="15.182387"
|
||||||
|
inkscape:cy="17.289242"
|
||||||
|
inkscape:window-width="2635"
|
||||||
|
inkscape:window-height="1354"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="0"
|
||||||
|
inkscape:current-layer="layer1">
|
||||||
|
<inkscape:grid
|
||||||
|
id="grid1"
|
||||||
|
units="px"
|
||||||
|
originx="0"
|
||||||
|
originy="0"
|
||||||
|
spacingx="0.26458333"
|
||||||
|
spacingy="0.26458333"
|
||||||
|
empcolor="#0099e5"
|
||||||
|
empopacity="0.30196078"
|
||||||
|
color="#0099e5"
|
||||||
|
opacity="0.14901961"
|
||||||
|
empspacing="5"
|
||||||
|
enabled="true"
|
||||||
|
visible="true"
|
||||||
|
dotted="false" />
|
||||||
|
</sodipodi:namedview>
|
||||||
|
<defs
|
||||||
|
id="defs1" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1">
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
id="path1"
|
||||||
|
sodipodi:type="arc"
|
||||||
|
sodipodi:cx="4.2333293"
|
||||||
|
sodipodi:cy="5.0270829"
|
||||||
|
sodipodi:rx="2.3812549"
|
||||||
|
sodipodi:ry="2.3812497"
|
||||||
|
sodipodi:start="4.7128653"
|
||||||
|
sodipodi:end="3.1400395"
|
||||||
|
sodipodi:open="true"
|
||||||
|
sodipodi:arc-type="arc"
|
||||||
|
d="M 4.2344635,2.6458335 A 2.3812549,2.3812497 0 0 1 6.6145842,5.0266063 2.3812549,2.3812497 0 0 1 4.2354169,7.4083317 2.3812549,2.3812497 0 0 1 1.8520773,5.0307814" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:none"
|
||||||
|
d="M 4.4979128,1.322917 2.9104097,2.6458334"
|
||||||
|
id="path2" />
|
||||||
|
<path
|
||||||
|
style="fill:#000000;fill-opacity:0;stroke:#000000;stroke-width:1.05833;stroke-linecap:round;stroke-linejoin:round"
|
||||||
|
d="M 4.4979129,3.9687497 2.9104097,2.6458334"
|
||||||
|
id="path3"
|
||||||
|
sodipodi:nodetypes="cc" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 2.6 KiB |
BIN
data/progicons/icon.png
Normal file
|
After Width: | Height: | Size: 2.9 KiB |
22
data/third_party_licenses/BezierEasing
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
Copyright (c) 2014 Gaëtan Renaudeau
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person
|
||||||
|
obtaining a copy of this software and associated documentation
|
||||||
|
files (the "Software"), to deal in the Software without
|
||||||
|
restriction, including without limitation the rights to use,
|
||||||
|
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the
|
||||||
|
Software is furnished to do so, subject to the following
|
||||||
|
conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
||||||
|
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
||||||
|
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
||||||
|
OTHER DEALINGS IN THE SOFTWARE.
|
||||||
23
data/third_party_licenses/Boost
Normal file
|
|
@ -0,0 +1,23 @@
|
||||||
|
Boost Software License - Version 1.0 - August 17th, 2003
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person or organization
|
||||||
|
obtaining a copy of the software and accompanying documentation covered by
|
||||||
|
this license (the "Software") to use, reproduce, display, distribute,
|
||||||
|
execute, and transmit the Software, and to prepare derivative works of the
|
||||||
|
Software, and to permit third-parties to whom the Software is furnished to
|
||||||
|
do so, all subject to the following:
|
||||||
|
|
||||||
|
The copyright notices in the Software and this entire statement, including
|
||||||
|
the above license grant, this restriction and the following disclaimer,
|
||||||
|
must be included in all copies of the Software, in whole or in part, and
|
||||||
|
all derivative works of the Software, unless such copies or derivative
|
||||||
|
works are solely in the form of machine-executable object code generated by
|
||||||
|
a source language processor.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE, TITLE AND NON-INFRINGEMENT. IN NO EVENT
|
||||||
|
SHALL THE COPYRIGHT HOLDERS OR ANYONE DISTRIBUTING THE SOFTWARE BE LIABLE
|
||||||
|
FOR ANY DAMAGES OR OTHER LIABILITY, WHETHER IN CONTRACT, TORT OR OTHERWISE,
|
||||||
|
ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
|
||||||
|
DEALINGS IN THE SOFTWARE.
|
||||||
373
data/third_party_licenses/Eigen
Normal file
|
|
@ -0,0 +1,373 @@
|
||||||
|
Mozilla Public License Version 2.0
|
||||||
|
==================================
|
||||||
|
|
||||||
|
1. Definitions
|
||||||
|
--------------
|
||||||
|
|
||||||
|
1.1. "Contributor"
|
||||||
|
means each individual or legal entity that creates, contributes to
|
||||||
|
the creation of, or owns Covered Software.
|
||||||
|
|
||||||
|
1.2. "Contributor Version"
|
||||||
|
means the combination of the Contributions of others (if any) used
|
||||||
|
by a Contributor and that particular Contributor's Contribution.
|
||||||
|
|
||||||
|
1.3. "Contribution"
|
||||||
|
means Covered Software of a particular Contributor.
|
||||||
|
|
||||||
|
1.4. "Covered Software"
|
||||||
|
means Source Code Form to which the initial Contributor has attached
|
||||||
|
the notice in Exhibit A, the Executable Form of such Source Code
|
||||||
|
Form, and Modifications of such Source Code Form, in each case
|
||||||
|
including portions thereof.
|
||||||
|
|
||||||
|
1.5. "Incompatible With Secondary Licenses"
|
||||||
|
means
|
||||||
|
|
||||||
|
(a) that the initial Contributor has attached the notice described
|
||||||
|
in Exhibit B to the Covered Software; or
|
||||||
|
|
||||||
|
(b) that the Covered Software was made available under the terms of
|
||||||
|
version 1.1 or earlier of the License, but not also under the
|
||||||
|
terms of a Secondary License.
|
||||||
|
|
||||||
|
1.6. "Executable Form"
|
||||||
|
means any form of the work other than Source Code Form.
|
||||||
|
|
||||||
|
1.7. "Larger Work"
|
||||||
|
means a work that combines Covered Software with other material, in
|
||||||
|
a separate file or files, that is not Covered Software.
|
||||||
|
|
||||||
|
1.8. "License"
|
||||||
|
means this document.
|
||||||
|
|
||||||
|
1.9. "Licensable"
|
||||||
|
means having the right to grant, to the maximum extent possible,
|
||||||
|
whether at the time of the initial grant or subsequently, any and
|
||||||
|
all of the rights conveyed by this License.
|
||||||
|
|
||||||
|
1.10. "Modifications"
|
||||||
|
means any of the following:
|
||||||
|
|
||||||
|
(a) any file in Source Code Form that results from an addition to,
|
||||||
|
deletion from, or modification of the contents of Covered
|
||||||
|
Software; or
|
||||||
|
|
||||||
|
(b) any new file in Source Code Form that contains any Covered
|
||||||
|
Software.
|
||||||
|
|
||||||
|
1.11. "Patent Claims" of a Contributor
|
||||||
|
means any patent claim(s), including without limitation, method,
|
||||||
|
process, and apparatus claims, in any patent Licensable by such
|
||||||
|
Contributor that would be infringed, but for the grant of the
|
||||||
|
License, by the making, using, selling, offering for sale, having
|
||||||
|
made, import, or transfer of either its Contributions or its
|
||||||
|
Contributor Version.
|
||||||
|
|
||||||
|
1.12. "Secondary License"
|
||||||
|
means either the GNU General Public License, Version 2.0, the GNU
|
||||||
|
Lesser General Public License, Version 2.1, the GNU Affero General
|
||||||
|
Public License, Version 3.0, or any later versions of those
|
||||||
|
licenses.
|
||||||
|
|
||||||
|
1.13. "Source Code Form"
|
||||||
|
means the form of the work preferred for making modifications.
|
||||||
|
|
||||||
|
1.14. "You" (or "Your")
|
||||||
|
means an individual or a legal entity exercising rights under this
|
||||||
|
License. For legal entities, "You" includes any entity that
|
||||||
|
controls, is controlled by, or is under common control with You. For
|
||||||
|
purposes of this definition, "control" means (a) the power, direct
|
||||||
|
or indirect, to cause the direction or management of such entity,
|
||||||
|
whether by contract or otherwise, or (b) ownership of more than
|
||||||
|
fifty percent (50%) of the outstanding shares or beneficial
|
||||||
|
ownership of such entity.
|
||||||
|
|
||||||
|
2. License Grants and Conditions
|
||||||
|
--------------------------------
|
||||||
|
|
||||||
|
2.1. Grants
|
||||||
|
|
||||||
|
Each Contributor hereby grants You a world-wide, royalty-free,
|
||||||
|
non-exclusive license:
|
||||||
|
|
||||||
|
(a) under intellectual property rights (other than patent or trademark)
|
||||||
|
Licensable by such Contributor to use, reproduce, make available,
|
||||||
|
modify, display, perform, distribute, and otherwise exploit its
|
||||||
|
Contributions, either on an unmodified basis, with Modifications, or
|
||||||
|
as part of a Larger Work; and
|
||||||
|
|
||||||
|
(b) under Patent Claims of such Contributor to make, use, sell, offer
|
||||||
|
for sale, have made, import, and otherwise transfer either its
|
||||||
|
Contributions or its Contributor Version.
|
||||||
|
|
||||||
|
2.2. Effective Date
|
||||||
|
|
||||||
|
The licenses granted in Section 2.1 with respect to any Contribution
|
||||||
|
become effective for each Contribution on the date the Contributor first
|
||||||
|
distributes such Contribution.
|
||||||
|
|
||||||
|
2.3. Limitations on Grant Scope
|
||||||
|
|
||||||
|
The licenses granted in this Section 2 are the only rights granted under
|
||||||
|
this License. No additional rights or licenses will be implied from the
|
||||||
|
distribution or licensing of Covered Software under this License.
|
||||||
|
Notwithstanding Section 2.1(b) above, no patent license is granted by a
|
||||||
|
Contributor:
|
||||||
|
|
||||||
|
(a) for any code that a Contributor has removed from Covered Software;
|
||||||
|
or
|
||||||
|
|
||||||
|
(b) for infringements caused by: (i) Your and any other third party's
|
||||||
|
modifications of Covered Software, or (ii) the combination of its
|
||||||
|
Contributions with other software (except as part of its Contributor
|
||||||
|
Version); or
|
||||||
|
|
||||||
|
(c) under Patent Claims infringed by Covered Software in the absence of
|
||||||
|
its Contributions.
|
||||||
|
|
||||||
|
This License does not grant any rights in the trademarks, service marks,
|
||||||
|
or logos of any Contributor (except as may be necessary to comply with
|
||||||
|
the notice requirements in Section 3.4).
|
||||||
|
|
||||||
|
2.4. Subsequent Licenses
|
||||||
|
|
||||||
|
No Contributor makes additional grants as a result of Your choice to
|
||||||
|
distribute the Covered Software under a subsequent version of this
|
||||||
|
License (see Section 10.2) or under the terms of a Secondary License (if
|
||||||
|
permitted under the terms of Section 3.3).
|
||||||
|
|
||||||
|
2.5. Representation
|
||||||
|
|
||||||
|
Each Contributor represents that the Contributor believes its
|
||||||
|
Contributions are its original creation(s) or it has sufficient rights
|
||||||
|
to grant the rights to its Contributions conveyed by this License.
|
||||||
|
|
||||||
|
2.6. Fair Use
|
||||||
|
|
||||||
|
This License is not intended to limit any rights You have under
|
||||||
|
applicable copyright doctrines of fair use, fair dealing, or other
|
||||||
|
equivalents.
|
||||||
|
|
||||||
|
2.7. Conditions
|
||||||
|
|
||||||
|
Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted
|
||||||
|
in Section 2.1.
|
||||||
|
|
||||||
|
3. Responsibilities
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
3.1. Distribution of Source Form
|
||||||
|
|
||||||
|
All distribution of Covered Software in Source Code Form, including any
|
||||||
|
Modifications that You create or to which You contribute, must be under
|
||||||
|
the terms of this License. You must inform recipients that the Source
|
||||||
|
Code Form of the Covered Software is governed by the terms of this
|
||||||
|
License, and how they can obtain a copy of this License. You may not
|
||||||
|
attempt to alter or restrict the recipients' rights in the Source Code
|
||||||
|
Form.
|
||||||
|
|
||||||
|
3.2. Distribution of Executable Form
|
||||||
|
|
||||||
|
If You distribute Covered Software in Executable Form then:
|
||||||
|
|
||||||
|
(a) such Covered Software must also be made available in Source Code
|
||||||
|
Form, as described in Section 3.1, and You must inform recipients of
|
||||||
|
the Executable Form how they can obtain a copy of such Source Code
|
||||||
|
Form by reasonable means in a timely manner, at a charge no more
|
||||||
|
than the cost of distribution to the recipient; and
|
||||||
|
|
||||||
|
(b) You may distribute such Executable Form under the terms of this
|
||||||
|
License, or sublicense it under different terms, provided that the
|
||||||
|
license for the Executable Form does not attempt to limit or alter
|
||||||
|
the recipients' rights in the Source Code Form under this License.
|
||||||
|
|
||||||
|
3.3. Distribution of a Larger Work
|
||||||
|
|
||||||
|
You may create and distribute a Larger Work under terms of Your choice,
|
||||||
|
provided that You also comply with the requirements of this License for
|
||||||
|
the Covered Software. If the Larger Work is a combination of Covered
|
||||||
|
Software with a work governed by one or more Secondary Licenses, and the
|
||||||
|
Covered Software is not Incompatible With Secondary Licenses, this
|
||||||
|
License permits You to additionally distribute such Covered Software
|
||||||
|
under the terms of such Secondary License(s), so that the recipient of
|
||||||
|
the Larger Work may, at their option, further distribute the Covered
|
||||||
|
Software under the terms of either this License or such Secondary
|
||||||
|
License(s).
|
||||||
|
|
||||||
|
3.4. Notices
|
||||||
|
|
||||||
|
You may not remove or alter the substance of any license notices
|
||||||
|
(including copyright notices, patent notices, disclaimers of warranty,
|
||||||
|
or limitations of liability) contained within the Source Code Form of
|
||||||
|
the Covered Software, except that You may alter any license notices to
|
||||||
|
the extent required to remedy known factual inaccuracies.
|
||||||
|
|
||||||
|
3.5. Application of Additional Terms
|
||||||
|
|
||||||
|
You may choose to offer, and to charge a fee for, warranty, support,
|
||||||
|
indemnity or liability obligations to one or more recipients of Covered
|
||||||
|
Software. However, You may do so only on Your own behalf, and not on
|
||||||
|
behalf of any Contributor. You must make it absolutely clear that any
|
||||||
|
such warranty, support, indemnity, or liability obligation is offered by
|
||||||
|
You alone, and You hereby agree to indemnify every Contributor for any
|
||||||
|
liability incurred by such Contributor as a result of warranty, support,
|
||||||
|
indemnity or liability terms You offer. You may include additional
|
||||||
|
disclaimers of warranty and limitations of liability specific to any
|
||||||
|
jurisdiction.
|
||||||
|
|
||||||
|
4. Inability to Comply Due to Statute or Regulation
|
||||||
|
---------------------------------------------------
|
||||||
|
|
||||||
|
If it is impossible for You to comply with any of the terms of this
|
||||||
|
License with respect to some or all of the Covered Software due to
|
||||||
|
statute, judicial order, or regulation then You must: (a) comply with
|
||||||
|
the terms of this License to the maximum extent possible; and (b)
|
||||||
|
describe the limitations and the code they affect. Such description must
|
||||||
|
be placed in a text file included with all distributions of the Covered
|
||||||
|
Software under this License. Except to the extent prohibited by statute
|
||||||
|
or regulation, such description must be sufficiently detailed for a
|
||||||
|
recipient of ordinary skill to be able to understand it.
|
||||||
|
|
||||||
|
5. Termination
|
||||||
|
--------------
|
||||||
|
|
||||||
|
5.1. The rights granted under this License will terminate automatically
|
||||||
|
if You fail to comply with any of its terms. However, if You become
|
||||||
|
compliant, then the rights granted under this License from a particular
|
||||||
|
Contributor are reinstated (a) provisionally, unless and until such
|
||||||
|
Contributor explicitly and finally terminates Your grants, and (b) on an
|
||||||
|
ongoing basis, if such Contributor fails to notify You of the
|
||||||
|
non-compliance by some reasonable means prior to 60 days after You have
|
||||||
|
come back into compliance. Moreover, Your grants from a particular
|
||||||
|
Contributor are reinstated on an ongoing basis if such Contributor
|
||||||
|
notifies You of the non-compliance by some reasonable means, this is the
|
||||||
|
first time You have received notice of non-compliance with this License
|
||||||
|
from such Contributor, and You become compliant prior to 30 days after
|
||||||
|
Your receipt of the notice.
|
||||||
|
|
||||||
|
5.2. If You initiate litigation against any entity by asserting a patent
|
||||||
|
infringement claim (excluding declaratory judgment actions,
|
||||||
|
counter-claims, and cross-claims) alleging that a Contributor Version
|
||||||
|
directly or indirectly infringes any patent, then the rights granted to
|
||||||
|
You by any and all Contributors for the Covered Software under Section
|
||||||
|
2.1 of this License shall terminate.
|
||||||
|
|
||||||
|
5.3. In the event of termination under Sections 5.1 or 5.2 above, all
|
||||||
|
end user license agreements (excluding distributors and resellers) which
|
||||||
|
have been validly granted by You or Your distributors under this License
|
||||||
|
prior to termination shall survive termination.
|
||||||
|
|
||||||
|
************************************************************************
|
||||||
|
* *
|
||||||
|
* 6. Disclaimer of Warranty *
|
||||||
|
* ------------------------- *
|
||||||
|
* *
|
||||||
|
* Covered Software is provided under this License on an "as is" *
|
||||||
|
* basis, without warranty of any kind, either expressed, implied, or *
|
||||||
|
* statutory, including, without limitation, warranties that the *
|
||||||
|
* Covered Software is free of defects, merchantable, fit for a *
|
||||||
|
* particular purpose or non-infringing. The entire risk as to the *
|
||||||
|
* quality and performance of the Covered Software is with You. *
|
||||||
|
* Should any Covered Software prove defective in any respect, You *
|
||||||
|
* (not any Contributor) assume the cost of any necessary servicing, *
|
||||||
|
* repair, or correction. This disclaimer of warranty constitutes an *
|
||||||
|
* essential part of this License. No use of any Covered Software is *
|
||||||
|
* authorized under this License except under this disclaimer. *
|
||||||
|
* *
|
||||||
|
************************************************************************
|
||||||
|
|
||||||
|
************************************************************************
|
||||||
|
* *
|
||||||
|
* 7. Limitation of Liability *
|
||||||
|
* -------------------------- *
|
||||||
|
* *
|
||||||
|
* Under no circumstances and under no legal theory, whether tort *
|
||||||
|
* (including negligence), contract, or otherwise, shall any *
|
||||||
|
* Contributor, or anyone who distributes Covered Software as *
|
||||||
|
* permitted above, be liable to You for any direct, indirect, *
|
||||||
|
* special, incidental, or consequential damages of any character *
|
||||||
|
* including, without limitation, damages for lost profits, loss of *
|
||||||
|
* goodwill, work stoppage, computer failure or malfunction, or any *
|
||||||
|
* and all other commercial damages or losses, even if such party *
|
||||||
|
* shall have been informed of the possibility of such damages. This *
|
||||||
|
* limitation of liability shall not apply to liability for death or *
|
||||||
|
* personal injury resulting from such party's negligence to the *
|
||||||
|
* extent applicable law prohibits such limitation. Some *
|
||||||
|
* jurisdictions do not allow the exclusion or limitation of *
|
||||||
|
* incidental or consequential damages, so this exclusion and *
|
||||||
|
* limitation may not apply to You. *
|
||||||
|
* *
|
||||||
|
************************************************************************
|
||||||
|
|
||||||
|
8. Litigation
|
||||||
|
-------------
|
||||||
|
|
||||||
|
Any litigation relating to this License may be brought only in the
|
||||||
|
courts of a jurisdiction where the defendant maintains its principal
|
||||||
|
place of business and such litigation shall be governed by laws of that
|
||||||
|
jurisdiction, without reference to its conflict-of-law provisions.
|
||||||
|
Nothing in this Section shall prevent a party's ability to bring
|
||||||
|
cross-claims or counter-claims.
|
||||||
|
|
||||||
|
9. Miscellaneous
|
||||||
|
----------------
|
||||||
|
|
||||||
|
This License represents the complete agreement concerning the subject
|
||||||
|
matter hereof. If any provision of this License is held to be
|
||||||
|
unenforceable, such provision shall be reformed only to the extent
|
||||||
|
necessary to make it enforceable. Any law or regulation which provides
|
||||||
|
that the language of a contract shall be construed against the drafter
|
||||||
|
shall not be used to construe this License against a Contributor.
|
||||||
|
|
||||||
|
10. Versions of the License
|
||||||
|
---------------------------
|
||||||
|
|
||||||
|
10.1. New Versions
|
||||||
|
|
||||||
|
Mozilla Foundation is the license steward. Except as provided in Section
|
||||||
|
10.3, no one other than the license steward has the right to modify or
|
||||||
|
publish new versions of this License. Each version will be given a
|
||||||
|
distinguishing version number.
|
||||||
|
|
||||||
|
10.2. Effect of New Versions
|
||||||
|
|
||||||
|
You may distribute the Covered Software under the terms of the version
|
||||||
|
of the License under which You originally received the Covered Software,
|
||||||
|
or under the terms of any subsequent version published by the license
|
||||||
|
steward.
|
||||||
|
|
||||||
|
10.3. Modified Versions
|
||||||
|
|
||||||
|
If you create software not governed by this License, and you want to
|
||||||
|
create a new license for such software, you may create and use a
|
||||||
|
modified version of this License if you rename the license and remove
|
||||||
|
any references to the name of the license steward (except to note that
|
||||||
|
such modified license differs from this License).
|
||||||
|
|
||||||
|
10.4. Distributing Source Code Form that is Incompatible With Secondary
|
||||||
|
Licenses
|
||||||
|
|
||||||
|
If You choose to distribute Source Code Form that is Incompatible With
|
||||||
|
Secondary Licenses under the terms of this version of the License, the
|
||||||
|
notice described in Exhibit B of this License must be attached.
|
||||||
|
|
||||||
|
Exhibit A - Source Code Form License Notice
|
||||||
|
-------------------------------------------
|
||||||
|
|
||||||
|
This Source Code Form is subject to the terms of the Mozilla Public
|
||||||
|
License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||||
|
file, You can obtain one at https://mozilla.org/MPL/2.0/.
|
||||||
|
|
||||||
|
If it is not possible or desirable to put the notice in a particular
|
||||||
|
file, then You may include the notice in a location (such as a LICENSE
|
||||||
|
file in a relevant directory) where a recipient would be likely to look
|
||||||
|
for such a notice.
|
||||||
|
|
||||||
|
You may add additional accurate notices of copyright ownership.
|
||||||
|
|
||||||
|
Exhibit B - "Incompatible With Secondary Licenses" Notice
|
||||||
|
---------------------------------------------------------
|
||||||
|
|
||||||
|
This Source Code Form is "Incompatible With Secondary Licenses", as
|
||||||
|
defined by the Mozilla Public License, v. 2.0.
|
||||||
21
data/third_party_licenses/EmscriptenClipboard
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2023 Armchair-Software
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
21
data/third_party_licenses/EmscriptenFile
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2023 Armchair-Software
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
201
data/third_party_licenses/OneTBB
Normal file
|
|
@ -0,0 +1,201 @@
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
22
data/third_party_licenses/PlatformFolders
Normal file
|
|
@ -0,0 +1,22 @@
|
||||||
|
The MIT License (MIT)
|
||||||
|
|
||||||
|
Copyright (c) 2015 Poul Sander
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
17
data/third_party_licenses/SDL3
Normal file
|
|
@ -0,0 +1,17 @@
|
||||||
|
Copyright (C) 1997-2025 Sam Lantinga <slouken@libsdl.org>
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied
|
||||||
|
warranty. In no event will the authors be held liable for any damages
|
||||||
|
arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any purpose,
|
||||||
|
including commercial applications, and to alter it and redistribute it
|
||||||
|
freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must not
|
||||||
|
claim that you wrote the original software. If you use this software
|
||||||
|
in a product, an acknowledgment in the product documentation would be
|
||||||
|
appreciated but is not required.
|
||||||
|
2. Altered source versions must be plainly marked as such, and must not be
|
||||||
|
misrepresented as being the original software.
|
||||||
|
3. This notice may not be removed or altered from any source distribution.
|
||||||
24
data/third_party_licenses/Skia
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
Copyright (c) 2011 Google Inc. All rights reserved.
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in
|
||||||
|
the documentation and/or other materials provided with the
|
||||||
|
distribution.
|
||||||
|
* Neither the name of the copyright holder nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
203
data/third_party_licenses/abseil-cpp
Normal file
|
|
@ -0,0 +1,203 @@
|
||||||
|
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
https://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
https://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
|
||||||
32
data/third_party_licenses/angle2
Normal file
|
|
@ -0,0 +1,32 @@
|
||||||
|
// Copyright 2018 The ANGLE Project Authors.
|
||||||
|
// All rights reserved.
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions
|
||||||
|
// are met:
|
||||||
|
//
|
||||||
|
// Redistributions of source code must retain the above copyright
|
||||||
|
// notice, this list of conditions and the following disclaimer.
|
||||||
|
//
|
||||||
|
// Redistributions in binary form must reproduce the above
|
||||||
|
// copyright notice, this list of conditions and the following
|
||||||
|
// disclaimer in the documentation and/or other materials provided
|
||||||
|
// with the distribution.
|
||||||
|
//
|
||||||
|
// Neither the name of TransGaming Inc., Google Inc., 3DLabs Inc.
|
||||||
|
// Ltd., nor the names of their contributors may be used to endorse
|
||||||
|
// or promote products derived from this software without specific
|
||||||
|
// prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
// FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
// COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
// INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||||
|
// BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
// LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
// LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
|
||||||
|
// ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||||
|
// POSSIBILITY OF SUCH DAMAGE.
|
||||||
19
data/third_party_licenses/brotli
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
24
data/third_party_licenses/cereal
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
Copyright (c) 2013-2022, Randolph Voorhies, Shane Grant
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are met:
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer in the
|
||||||
|
documentation and/or other materials provided with the distribution.
|
||||||
|
* Neither the name of the copyright holder nor the
|
||||||
|
names of its contributors may be used to endorse or promote products
|
||||||
|
derived from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||||
|
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY
|
||||||
|
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||||
|
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||||
|
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
18
data/third_party_licenses/clay
Normal file
|
|
@ -0,0 +1,18 @@
|
||||||
|
zlib/libpng license
|
||||||
|
|
||||||
|
Copyright (c) 2024 Nic Barker
|
||||||
|
|
||||||
|
This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
|
||||||
|
|
||||||
|
Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
|
||||||
|
|
||||||
|
1. The origin of this software must not be misrepresented; you must not
|
||||||
|
claim that you wrote the original software. If you use this software in a
|
||||||
|
product, an acknowledgment in the product documentation would be
|
||||||
|
appreciated but is not required.
|
||||||
|
|
||||||
|
2. Altered source versions must be plainly marked as such, and must not
|
||||||
|
be misrepresented as being the original software.
|
||||||
|
|
||||||
|
3. This notice may not be removed or altered from any source
|
||||||
|
distribution.
|
||||||
19
data/third_party_licenses/d3d12allocator
Normal file
|
|
@ -0,0 +1,19 @@
|
||||||
|
Copyright (c) 2019-2020 Advanced Micro Devices, Inc. All rights reserved.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in
|
||||||
|
all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
||||||
|
THE SOFTWARE.
|
||||||
20
data/third_party_licenses/datachannel-wasm
Normal file
|
|
@ -0,0 +1,20 @@
|
||||||
|
Copyright (c) 2017-2022 Paul-Louis Ageneau and others
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be
|
||||||
|
included in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
||||||
|
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
||||||
|
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
||||||
|
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
||||||
|
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
26
data/third_party_licenses/dawn
Normal file
|
|
@ -0,0 +1,26 @@
|
||||||
|
// Copyright 2017-2023 The Dawn & Tint Authors
|
||||||
|
//
|
||||||
|
// Redistribution and use in source and binary forms, with or without
|
||||||
|
// modification, are permitted provided that the following conditions are met:
|
||||||
|
//
|
||||||
|
// 1. Redistributions of source code must retain the above copyright notice, this
|
||||||
|
// list of conditions and the following disclaimer.
|
||||||
|
//
|
||||||
|
// 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||||
|
// this list of conditions and the following disclaimer in the documentation
|
||||||
|
// and/or other materials provided with the distribution.
|
||||||
|
//
|
||||||
|
// 3. Neither the name of the copyright holder nor the names of its
|
||||||
|
// contributors may be used to endorse or promote products derived from
|
||||||
|
// this software without specific prior written permission.
|
||||||
|
//
|
||||||
|
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||||
|
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||||
|
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
// DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
||||||
|
// FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
||||||
|
// DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
// SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
||||||
|
// CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
||||||
|
// OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
21
data/third_party_licenses/delaunator-cpp
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2018 Volodymyr Bilonenko
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
94
data/third_party_licenses/dng_sdk
Normal file
|
|
@ -0,0 +1,94 @@
|
||||||
|
This product includes DNG technology under license by Adobe Systems
|
||||||
|
Incorporated.
|
||||||
|
|
||||||
|
DNG SDK License Agreement
|
||||||
|
NOTICE TO USER:
|
||||||
|
Adobe Systems Incorporated provides the Software and Documentation for use under
|
||||||
|
the terms of this Agreement. Any download, installation, use, reproduction,
|
||||||
|
modification or distribution of the Software or Documentation, or any
|
||||||
|
derivatives or portions thereof, constitutes your acceptance of this Agreement.
|
||||||
|
|
||||||
|
As used in this Agreement, "Adobe" means Adobe Systems Incorporated. "Software"
|
||||||
|
means the software code, in any format, including sample code and source code,
|
||||||
|
accompanying this Agreement. "Documentation" means the documents, specifications
|
||||||
|
and all other items accompanying this Agreement other than the Software.
|
||||||
|
|
||||||
|
1. LICENSE GRANT
|
||||||
|
Software License. Subject to the restrictions below and other terms of this
|
||||||
|
Agreement, Adobe hereby grants you a non-exclusive, worldwide, royalty free
|
||||||
|
license to use, reproduce, prepare derivative works from, publicly display,
|
||||||
|
publicly perform, distribute and sublicense the Software for any purpose.
|
||||||
|
|
||||||
|
Document License. Subject to the terms of this Agreement, Adobe hereby grants
|
||||||
|
you a non-exclusive, worldwide, royalty free license to make a limited number of
|
||||||
|
copies of the Documentation for your development purposes and to publicly
|
||||||
|
display, publicly perform and distribute such copies. You may not modify the
|
||||||
|
Documentation.
|
||||||
|
|
||||||
|
2. RESTRICTIONS AND OWNERSHIP
|
||||||
|
You will not remove any copyright or other notice included in the Software or
|
||||||
|
Documentation and you will include such notices in any copies of the Software
|
||||||
|
that you distribute in human-readable format.
|
||||||
|
|
||||||
|
You will not copy, use, display, modify or distribute the Software or
|
||||||
|
Documentation in any manner not permitted by this Agreement. No title to the
|
||||||
|
intellectual property in the Software or Documentation is transferred to you
|
||||||
|
under the terms of this Agreement. You do not acquire any rights to the Software
|
||||||
|
or the Documentation except as expressly set forth in this Agreement. All rights
|
||||||
|
not granted are reserved by Adobe.
|
||||||
|
|
||||||
|
3. DISCLAIMER OF WARRANTY
|
||||||
|
ADOBE PROVIDES THE SOFTWARE AND DOCUMENTATION ONLY ON AN "AS IS" BASIS WITHOUT
|
||||||
|
WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED, INCLUDING
|
||||||
|
WITHOUT LIMITATION ANY WARRANTIES OR CONDITIONS OF TITLE, NON-INFRINGEMENT,
|
||||||
|
MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. ADOBE MAKES NO WARRANTY
|
||||||
|
THAT THE SOFTWARE OR DOCUMENTATION WILL BE ERROR-FREE. To the extent
|
||||||
|
permissible, any warranties that are not and cannot be excluded by the foregoing
|
||||||
|
are limited to ninety (90) days.
|
||||||
|
|
||||||
|
4. LIMITATION OF LIABILITY
|
||||||
|
ADOBE AND ITS SUPPLIERS SHALL NOT BE LIABLE FOR LOSS OR DAMAGE ARISING OUT OF
|
||||||
|
THIS AGREEMENT OR FROM THE USE OF THE SOFTWARE OR DOCUMENTATION. IN NO EVENT
|
||||||
|
WILL ADOBE BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY DIRECT, INDIRECT,
|
||||||
|
CONSEQUENTIAL, INCIDENTAL, OR SPECIAL DAMAGES INCLUDING LOST PROFITS, LOST
|
||||||
|
SAVINGS, COSTS, FEES, OR EXPENSES OF ANY KIND ARISING OUT OF ANY PROVISION OF
|
||||||
|
THIS AGREEMENT OR THE USE OR THE INABILITY TO USE THE SOFTWARE OR DOCUMENTATION,
|
||||||
|
HOWEVER CAUSED AND UNDER ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
||||||
|
LIABILITY OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE), EVEN IF ADVISED OF THE
|
||||||
|
POSSIBILITY OF SUCH DAMAGES. ADOBE'S AGGREGATE LIABILITY AND THAT OF ITS
|
||||||
|
SUPPLIERS UNDER OR IN CONNECTION WITH THIS AGREEMENT SHALL BE LIMITED TO THE
|
||||||
|
AMOUNT PAID BY YOU FOR THE SOFTWARE AND DOCUMENTATION.
|
||||||
|
|
||||||
|
5. INDEMNIFICATION
|
||||||
|
If you choose to distribute the Software in a commercial product, you do so with
|
||||||
|
the understanding that you agree to defend, indemnify and hold harmless Adobe
|
||||||
|
against any losses, damages and costs arising from the claims, lawsuits or other
|
||||||
|
legal actions arising out of such distribution.
|
||||||
|
|
||||||
|
6. TRADEMARK USAGE
|
||||||
|
Adobe and the DNG logo are the trademarks or registered trademarks of Adobe
|
||||||
|
Systems Incorporated in the United States and other countries. Such trademarks
|
||||||
|
may not be used to endorse or promote any product unless expressly permitted
|
||||||
|
under separate agreement with Adobe. For information on how to license the DNG
|
||||||
|
logo please go to www.adobe.com.
|
||||||
|
|
||||||
|
7. TERM
|
||||||
|
Your rights under this Agreement shall terminate if you fail to comply with any
|
||||||
|
of the material terms or conditions of this Agreement. If all your rights under
|
||||||
|
this Agreement terminate, you will immediately cease use and distribution of the
|
||||||
|
Software and Documentation.
|
||||||
|
|
||||||
|
8. GOVERNING LAW AND JURISDICTION. This Agreement is governed by the statutes
|
||||||
|
and laws of the State of California, without regard to the conflicts of law
|
||||||
|
principles thereof. The federal and state courts located in Santa Clara County,
|
||||||
|
California, USA, will have non-exclusive jurisdiction over any dispute arising
|
||||||
|
out of this Agreement.
|
||||||
|
|
||||||
|
9. GENERAL
|
||||||
|
This Agreement supersedes any prior agreement, oral or written, between Adobe
|
||||||
|
and you with respect to the licensing to you of the Software and Documentation.
|
||||||
|
No variation of the terms of this Agreement will be enforceable against Adobe
|
||||||
|
unless Adobe gives its express consent in writing signed by an authorized
|
||||||
|
signatory of Adobe. If any part of this Agreement is found void and
|
||||||
|
unenforceable, it will not affect the validity of the balance of the Agreement,
|
||||||
|
which shall remain valid and enforceable according to its terms.
|
||||||
27
data/third_party_licenses/emsdk
Normal file
|
|
@ -0,0 +1,27 @@
|
||||||
|
Copyright (c) 2018 Emscripten authors (see AUTHORS in Emscripten)
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
This is the MIT/Expat Licence. For more information see:
|
||||||
|
|
||||||
|
1. http://www.opensource.org/licenses/mit-license.php
|
||||||
|
|
||||||
|
2. http://en.wikipedia.org/wiki/MIT_License
|
||||||
21
data/third_party_licenses/expat
Normal file
|
|
@ -0,0 +1,21 @@
|
||||||
|
Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper
|
||||||
|
Copyright (c) 2001-2022 Expat maintainers
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
169
data/third_party_licenses/freetype
Normal file
|
|
@ -0,0 +1,169 @@
|
||||||
|
The FreeType Project LICENSE
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
2006-Jan-27
|
||||||
|
|
||||||
|
Copyright 1996-2002, 2006 by
|
||||||
|
David Turner, Robert Wilhelm, and Werner Lemberg
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Introduction
|
||||||
|
============
|
||||||
|
|
||||||
|
The FreeType Project is distributed in several archive packages;
|
||||||
|
some of them may contain, in addition to the FreeType font engine,
|
||||||
|
various tools and contributions which rely on, or relate to, the
|
||||||
|
FreeType Project.
|
||||||
|
|
||||||
|
This license applies to all files found in such packages, and
|
||||||
|
which do not fall under their own explicit license. The license
|
||||||
|
affects thus the FreeType font engine, the test programs,
|
||||||
|
documentation and makefiles, at the very least.
|
||||||
|
|
||||||
|
This license was inspired by the BSD, Artistic, and IJG
|
||||||
|
(Independent JPEG Group) licenses, which all encourage inclusion
|
||||||
|
and use of free software in commercial and freeware products
|
||||||
|
alike. As a consequence, its main points are that:
|
||||||
|
|
||||||
|
o We don't promise that this software works. However, we will be
|
||||||
|
interested in any kind of bug reports. (`as is' distribution)
|
||||||
|
|
||||||
|
o You can use this software for whatever you want, in parts or
|
||||||
|
full form, without having to pay us. (`royalty-free' usage)
|
||||||
|
|
||||||
|
o You may not pretend that you wrote this software. If you use
|
||||||
|
it, or only parts of it, in a program, you must acknowledge
|
||||||
|
somewhere in your documentation that you have used the
|
||||||
|
FreeType code. (`credits')
|
||||||
|
|
||||||
|
We specifically permit and encourage the inclusion of this
|
||||||
|
software, with or without modifications, in commercial products.
|
||||||
|
We disclaim all warranties covering The FreeType Project and
|
||||||
|
assume no liability related to The FreeType Project.
|
||||||
|
|
||||||
|
|
||||||
|
Finally, many people asked us for a preferred form for a
|
||||||
|
credit/disclaimer to use in compliance with this license. We thus
|
||||||
|
encourage you to use the following text:
|
||||||
|
|
||||||
|
"""
|
||||||
|
Portions of this software are copyright © <year> The FreeType
|
||||||
|
Project (www.freetype.org). All rights reserved.
|
||||||
|
"""
|
||||||
|
|
||||||
|
Please replace <year> with the value from the FreeType version you
|
||||||
|
actually use.
|
||||||
|
|
||||||
|
|
||||||
|
Legal Terms
|
||||||
|
===========
|
||||||
|
|
||||||
|
0. Definitions
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Throughout this license, the terms `package', `FreeType Project',
|
||||||
|
and `FreeType archive' refer to the set of files originally
|
||||||
|
distributed by the authors (David Turner, Robert Wilhelm, and
|
||||||
|
Werner Lemberg) as the `FreeType Project', be they named as alpha,
|
||||||
|
beta or final release.
|
||||||
|
|
||||||
|
`You' refers to the licensee, or person using the project, where
|
||||||
|
`using' is a generic term including compiling the project's source
|
||||||
|
code as well as linking it to form a `program' or `executable'.
|
||||||
|
This program is referred to as `a program using the FreeType
|
||||||
|
engine'.
|
||||||
|
|
||||||
|
This license applies to all files distributed in the original
|
||||||
|
FreeType Project, including all source code, binaries and
|
||||||
|
documentation, unless otherwise stated in the file in its
|
||||||
|
original, unmodified form as distributed in the original archive.
|
||||||
|
If you are unsure whether or not a particular file is covered by
|
||||||
|
this license, you must contact us to verify this.
|
||||||
|
|
||||||
|
The FreeType Project is copyright (C) 1996-2000 by David Turner,
|
||||||
|
Robert Wilhelm, and Werner Lemberg. All rights reserved except as
|
||||||
|
specified below.
|
||||||
|
|
||||||
|
1. No Warranty
|
||||||
|
--------------
|
||||||
|
|
||||||
|
THE FREETYPE PROJECT IS PROVIDED `AS IS' WITHOUT WARRANTY OF ANY
|
||||||
|
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
|
||||||
|
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
||||||
|
PURPOSE. IN NO EVENT WILL ANY OF THE AUTHORS OR COPYRIGHT HOLDERS
|
||||||
|
BE LIABLE FOR ANY DAMAGES CAUSED BY THE USE OR THE INABILITY TO
|
||||||
|
USE, OF THE FREETYPE PROJECT.
|
||||||
|
|
||||||
|
2. Redistribution
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
This license grants a worldwide, royalty-free, perpetual and
|
||||||
|
irrevocable right and license to use, execute, perform, compile,
|
||||||
|
display, copy, create derivative works of, distribute and
|
||||||
|
sublicense the FreeType Project (in both source and object code
|
||||||
|
forms) and derivative works thereof for any purpose; and to
|
||||||
|
authorize others to exercise some or all of the rights granted
|
||||||
|
herein, subject to the following conditions:
|
||||||
|
|
||||||
|
o Redistribution of source code must retain this license file
|
||||||
|
(`FTL.TXT') unaltered; any additions, deletions or changes to
|
||||||
|
the original files must be clearly indicated in accompanying
|
||||||
|
documentation. The copyright notices of the unaltered,
|
||||||
|
original files must be preserved in all copies of source
|
||||||
|
files.
|
||||||
|
|
||||||
|
o Redistribution in binary form must provide a disclaimer that
|
||||||
|
states that the software is based in part of the work of the
|
||||||
|
FreeType Team, in the distribution documentation. We also
|
||||||
|
encourage you to put an URL to the FreeType web page in your
|
||||||
|
documentation, though this isn't mandatory.
|
||||||
|
|
||||||
|
These conditions apply to any software derived from or based on
|
||||||
|
the FreeType Project, not just the unmodified files. If you use
|
||||||
|
our work, you must acknowledge us. However, no fee need be paid
|
||||||
|
to us.
|
||||||
|
|
||||||
|
3. Advertising
|
||||||
|
--------------
|
||||||
|
|
||||||
|
Neither the FreeType authors and contributors nor you shall use
|
||||||
|
the name of the other for commercial, advertising, or promotional
|
||||||
|
purposes without specific prior written permission.
|
||||||
|
|
||||||
|
We suggest, but do not require, that you use one or more of the
|
||||||
|
following phrases to refer to this software in your documentation
|
||||||
|
or advertising materials: `FreeType Project', `FreeType Engine',
|
||||||
|
`FreeType library', or `FreeType Distribution'.
|
||||||
|
|
||||||
|
As you have not signed this license, you are not required to
|
||||||
|
accept it. However, as the FreeType Project is copyrighted
|
||||||
|
material, only this license, or another one contracted with the
|
||||||
|
authors, grants you the right to use, distribute, and modify it.
|
||||||
|
Therefore, by using, distributing, or modifying the FreeType
|
||||||
|
Project, you indicate that you understand and accept all the terms
|
||||||
|
of this license.
|
||||||
|
|
||||||
|
4. Contacts
|
||||||
|
-----------
|
||||||
|
|
||||||
|
There are two mailing lists related to FreeType:
|
||||||
|
|
||||||
|
o freetype@nongnu.org
|
||||||
|
|
||||||
|
Discusses general use and applications of FreeType, as well as
|
||||||
|
future and wanted additions to the library and distribution.
|
||||||
|
If you are looking for support, start in this list if you
|
||||||
|
haven't found anything to help you in the documentation.
|
||||||
|
|
||||||
|
o freetype-devel@nongnu.org
|
||||||
|
|
||||||
|
Discusses bugs, as well as engine internals, design issues,
|
||||||
|
specific licenses, porting, etc.
|
||||||
|
|
||||||
|
Our home page can be found at
|
||||||
|
|
||||||
|
https://www.freetype.org
|
||||||
|
|
||||||
|
|
||||||
|
--- end of FTL.TXT ---
|
||||||
42
data/third_party_licenses/harfbuzz
Normal file
|
|
@ -0,0 +1,42 @@
|
||||||
|
HarfBuzz is licensed under the so-called "Old MIT" license. Details follow.
|
||||||
|
For parts of HarfBuzz that are licensed under different licenses see individual
|
||||||
|
files names COPYING in subdirectories where applicable.
|
||||||
|
|
||||||
|
Copyright © 2010-2022 Google, Inc.
|
||||||
|
Copyright © 2015-2020 Ebrahim Byagowi
|
||||||
|
Copyright © 2019,2020 Facebook, Inc.
|
||||||
|
Copyright © 2012,2015 Mozilla Foundation
|
||||||
|
Copyright © 2011 Codethink Limited
|
||||||
|
Copyright © 2008,2010 Nokia Corporation and/or its subsidiary(-ies)
|
||||||
|
Copyright © 2009 Keith Stribley
|
||||||
|
Copyright © 2011 Martin Hosken and SIL International
|
||||||
|
Copyright © 2007 Chris Wilson
|
||||||
|
Copyright © 2005,2006,2020,2021,2022,2023 Behdad Esfahbod
|
||||||
|
Copyright © 2004,2007,2008,2009,2010,2013,2021,2022,2023 Red Hat, Inc.
|
||||||
|
Copyright © 1998-2005 David Turner and Werner Lemberg
|
||||||
|
Copyright © 2016 Igalia S.L.
|
||||||
|
Copyright © 2022 Matthias Clasen
|
||||||
|
Copyright © 2018,2021 Khaled Hosny
|
||||||
|
Copyright © 2018,2019,2020 Adobe, Inc
|
||||||
|
Copyright © 2013-2015 Alexei Podtelezhnikov
|
||||||
|
|
||||||
|
For full copyright notices consult the individual files in the package.
|
||||||
|
|
||||||
|
|
||||||
|
Permission is hereby granted, without written agreement and without
|
||||||
|
license or royalty fees, to use, copy, modify, and distribute this
|
||||||
|
software and its documentation for any purpose, provided that the
|
||||||
|
above copyright notice and the following two paragraphs appear in
|
||||||
|
all copies of this software.
|
||||||
|
|
||||||
|
IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE TO ANY PARTY FOR
|
||||||
|
DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES
|
||||||
|
ARISING OUT OF THE USE OF THIS SOFTWARE AND ITS DOCUMENTATION, EVEN
|
||||||
|
IF THE COPYRIGHT HOLDER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
||||||
|
DAMAGE.
|
||||||
|
|
||||||
|
THE COPYRIGHT HOLDER SPECIFICALLY DISCLAIMS ANY WARRANTIES, INCLUDING,
|
||||||
|
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE. THE SOFTWARE PROVIDED HEREUNDER IS
|
||||||
|
ON AN "AS IS" BASIS, AND THE COPYRIGHT HOLDER HAS NO OBLIGATION TO
|
||||||
|
PROVIDE MAINTENANCE, SUPPORT, UPDATES, ENHANCEMENTS, OR MODIFICATIONS.
|
||||||
201
data/third_party_licenses/highway
Normal file
|
|
@ -0,0 +1,201 @@
|
||||||
|
Apache License
|
||||||
|
Version 2.0, January 2004
|
||||||
|
http://www.apache.org/licenses/
|
||||||
|
|
||||||
|
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
|
||||||
|
|
||||||
|
1. Definitions.
|
||||||
|
|
||||||
|
"License" shall mean the terms and conditions for use, reproduction,
|
||||||
|
and distribution as defined by Sections 1 through 9 of this document.
|
||||||
|
|
||||||
|
"Licensor" shall mean the copyright owner or entity authorized by
|
||||||
|
the copyright owner that is granting the License.
|
||||||
|
|
||||||
|
"Legal Entity" shall mean the union of the acting entity and all
|
||||||
|
other entities that control, are controlled by, or are under common
|
||||||
|
control with that entity. For the purposes of this definition,
|
||||||
|
"control" means (i) the power, direct or indirect, to cause the
|
||||||
|
direction or management of such entity, whether by contract or
|
||||||
|
otherwise, or (ii) ownership of fifty percent (50%) or more of the
|
||||||
|
outstanding shares, or (iii) beneficial ownership of such entity.
|
||||||
|
|
||||||
|
"You" (or "Your") shall mean an individual or Legal Entity
|
||||||
|
exercising permissions granted by this License.
|
||||||
|
|
||||||
|
"Source" form shall mean the preferred form for making modifications,
|
||||||
|
including but not limited to software source code, documentation
|
||||||
|
source, and configuration files.
|
||||||
|
|
||||||
|
"Object" form shall mean any form resulting from mechanical
|
||||||
|
transformation or translation of a Source form, including but
|
||||||
|
not limited to compiled object code, generated documentation,
|
||||||
|
and conversions to other media types.
|
||||||
|
|
||||||
|
"Work" shall mean the work of authorship, whether in Source or
|
||||||
|
Object form, made available under the License, as indicated by a
|
||||||
|
copyright notice that is included in or attached to the work
|
||||||
|
(an example is provided in the Appendix below).
|
||||||
|
|
||||||
|
"Derivative Works" shall mean any work, whether in Source or Object
|
||||||
|
form, that is based on (or derived from) the Work and for which the
|
||||||
|
editorial revisions, annotations, elaborations, or other modifications
|
||||||
|
represent, as a whole, an original work of authorship. For the purposes
|
||||||
|
of this License, Derivative Works shall not include works that remain
|
||||||
|
separable from, or merely link (or bind by name) to the interfaces of,
|
||||||
|
the Work and Derivative Works thereof.
|
||||||
|
|
||||||
|
"Contribution" shall mean any work of authorship, including
|
||||||
|
the original version of the Work and any modifications or additions
|
||||||
|
to that Work or Derivative Works thereof, that is intentionally
|
||||||
|
submitted to Licensor for inclusion in the Work by the copyright owner
|
||||||
|
or by an individual or Legal Entity authorized to submit on behalf of
|
||||||
|
the copyright owner. For the purposes of this definition, "submitted"
|
||||||
|
means any form of electronic, verbal, or written communication sent
|
||||||
|
to the Licensor or its representatives, including but not limited to
|
||||||
|
communication on electronic mailing lists, source code control systems,
|
||||||
|
and issue tracking systems that are managed by, or on behalf of, the
|
||||||
|
Licensor for the purpose of discussing and improving the Work, but
|
||||||
|
excluding communication that is conspicuously marked or otherwise
|
||||||
|
designated in writing by the copyright owner as "Not a Contribution."
|
||||||
|
|
||||||
|
"Contributor" shall mean Licensor and any individual or Legal Entity
|
||||||
|
on behalf of whom a Contribution has been received by Licensor and
|
||||||
|
subsequently incorporated within the Work.
|
||||||
|
|
||||||
|
2. Grant of Copyright License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
copyright license to reproduce, prepare Derivative Works of,
|
||||||
|
publicly display, publicly perform, sublicense, and distribute the
|
||||||
|
Work and such Derivative Works in Source or Object form.
|
||||||
|
|
||||||
|
3. Grant of Patent License. Subject to the terms and conditions of
|
||||||
|
this License, each Contributor hereby grants to You a perpetual,
|
||||||
|
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
|
||||||
|
(except as stated in this section) patent license to make, have made,
|
||||||
|
use, offer to sell, sell, import, and otherwise transfer the Work,
|
||||||
|
where such license applies only to those patent claims licensable
|
||||||
|
by such Contributor that are necessarily infringed by their
|
||||||
|
Contribution(s) alone or by combination of their Contribution(s)
|
||||||
|
with the Work to which such Contribution(s) was submitted. If You
|
||||||
|
institute patent litigation against any entity (including a
|
||||||
|
cross-claim or counterclaim in a lawsuit) alleging that the Work
|
||||||
|
or a Contribution incorporated within the Work constitutes direct
|
||||||
|
or contributory patent infringement, then any patent licenses
|
||||||
|
granted to You under this License for that Work shall terminate
|
||||||
|
as of the date such litigation is filed.
|
||||||
|
|
||||||
|
4. Redistribution. You may reproduce and distribute copies of the
|
||||||
|
Work or Derivative Works thereof in any medium, with or without
|
||||||
|
modifications, and in Source or Object form, provided that You
|
||||||
|
meet the following conditions:
|
||||||
|
|
||||||
|
(a) You must give any other recipients of the Work or
|
||||||
|
Derivative Works a copy of this License; and
|
||||||
|
|
||||||
|
(b) You must cause any modified files to carry prominent notices
|
||||||
|
stating that You changed the files; and
|
||||||
|
|
||||||
|
(c) You must retain, in the Source form of any Derivative Works
|
||||||
|
that You distribute, all copyright, patent, trademark, and
|
||||||
|
attribution notices from the Source form of the Work,
|
||||||
|
excluding those notices that do not pertain to any part of
|
||||||
|
the Derivative Works; and
|
||||||
|
|
||||||
|
(d) If the Work includes a "NOTICE" text file as part of its
|
||||||
|
distribution, then any Derivative Works that You distribute must
|
||||||
|
include a readable copy of the attribution notices contained
|
||||||
|
within such NOTICE file, excluding those notices that do not
|
||||||
|
pertain to any part of the Derivative Works, in at least one
|
||||||
|
of the following places: within a NOTICE text file distributed
|
||||||
|
as part of the Derivative Works; within the Source form or
|
||||||
|
documentation, if provided along with the Derivative Works; or,
|
||||||
|
within a display generated by the Derivative Works, if and
|
||||||
|
wherever such third-party notices normally appear. The contents
|
||||||
|
of the NOTICE file are for informational purposes only and
|
||||||
|
do not modify the License. You may add Your own attribution
|
||||||
|
notices within Derivative Works that You distribute, alongside
|
||||||
|
or as an addendum to the NOTICE text from the Work, provided
|
||||||
|
that such additional attribution notices cannot be construed
|
||||||
|
as modifying the License.
|
||||||
|
|
||||||
|
You may add Your own copyright statement to Your modifications and
|
||||||
|
may provide additional or different license terms and conditions
|
||||||
|
for use, reproduction, or distribution of Your modifications, or
|
||||||
|
for any such Derivative Works as a whole, provided Your use,
|
||||||
|
reproduction, and distribution of the Work otherwise complies with
|
||||||
|
the conditions stated in this License.
|
||||||
|
|
||||||
|
5. Submission of Contributions. Unless You explicitly state otherwise,
|
||||||
|
any Contribution intentionally submitted for inclusion in the Work
|
||||||
|
by You to the Licensor shall be under the terms and conditions of
|
||||||
|
this License, without any additional terms or conditions.
|
||||||
|
Notwithstanding the above, nothing herein shall supersede or modify
|
||||||
|
the terms of any separate license agreement you may have executed
|
||||||
|
with Licensor regarding such Contributions.
|
||||||
|
|
||||||
|
6. Trademarks. This License does not grant permission to use the trade
|
||||||
|
names, trademarks, service marks, or product names of the Licensor,
|
||||||
|
except as required for reasonable and customary use in describing the
|
||||||
|
origin of the Work and reproducing the content of the NOTICE file.
|
||||||
|
|
||||||
|
7. Disclaimer of Warranty. Unless required by applicable law or
|
||||||
|
agreed to in writing, Licensor provides the Work (and each
|
||||||
|
Contributor provides its Contributions) on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
|
||||||
|
implied, including, without limitation, any warranties or conditions
|
||||||
|
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
|
||||||
|
PARTICULAR PURPOSE. You are solely responsible for determining the
|
||||||
|
appropriateness of using or redistributing the Work and assume any
|
||||||
|
risks associated with Your exercise of permissions under this License.
|
||||||
|
|
||||||
|
8. Limitation of Liability. In no event and under no legal theory,
|
||||||
|
whether in tort (including negligence), contract, or otherwise,
|
||||||
|
unless required by applicable law (such as deliberate and grossly
|
||||||
|
negligent acts) or agreed to in writing, shall any Contributor be
|
||||||
|
liable to You for damages, including any direct, indirect, special,
|
||||||
|
incidental, or consequential damages of any character arising as a
|
||||||
|
result of this License or out of the use or inability to use the
|
||||||
|
Work (including but not limited to damages for loss of goodwill,
|
||||||
|
work stoppage, computer failure or malfunction, or any and all
|
||||||
|
other commercial damages or losses), even if such Contributor
|
||||||
|
has been advised of the possibility of such damages.
|
||||||
|
|
||||||
|
9. Accepting Warranty or Additional Liability. While redistributing
|
||||||
|
the Work or Derivative Works thereof, You may choose to offer,
|
||||||
|
and charge a fee for, acceptance of support, warranty, indemnity,
|
||||||
|
or other liability obligations and/or rights consistent with this
|
||||||
|
License. However, in accepting such obligations, You may act only
|
||||||
|
on Your own behalf and on Your sole responsibility, not on behalf
|
||||||
|
of any other Contributor, and only if You agree to indemnify,
|
||||||
|
defend, and hold each Contributor harmless for any liability
|
||||||
|
incurred by, or claims asserted against, such Contributor by reason
|
||||||
|
of your accepting any such warranty or additional liability.
|
||||||
|
|
||||||
|
END OF TERMS AND CONDITIONS
|
||||||
|
|
||||||
|
APPENDIX: How to apply the Apache License to your work.
|
||||||
|
|
||||||
|
To apply the Apache License to your work, attach the following
|
||||||
|
boilerplate notice, with the fields enclosed by brackets "[]"
|
||||||
|
replaced with your own identifying information. (Don't include
|
||||||
|
the brackets!) The text should be enclosed in the appropriate
|
||||||
|
comment syntax for the file format. We also recommend that a
|
||||||
|
file or class name and description of purpose be included on the
|
||||||
|
same "printed page" as the copyright notice for easier
|
||||||
|
identification within third-party archives.
|
||||||
|
|
||||||
|
Copyright [yyyy] [name of copyright owner]
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
512
data/third_party_licenses/icu
Normal file
|
|
@ -0,0 +1,512 @@
|
||||||
|
UNICODE LICENSE V3
|
||||||
|
|
||||||
|
COPYRIGHT AND PERMISSION NOTICE
|
||||||
|
|
||||||
|
Copyright © 2016-2023 Unicode, Inc.
|
||||||
|
|
||||||
|
NOTICE TO USER: Carefully read the following legal agreement. BY
|
||||||
|
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
|
||||||
|
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
|
||||||
|
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
|
||||||
|
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of data files and any associated documentation (the "Data Files") or
|
||||||
|
software and any associated documentation (the "Software") to deal in the
|
||||||
|
Data Files or Software without restriction, including without limitation
|
||||||
|
the rights to use, copy, modify, merge, publish, distribute, and/or sell
|
||||||
|
copies of the Data Files or Software, and to permit persons to whom the
|
||||||
|
Data Files or Software are furnished to do so, provided that either (a)
|
||||||
|
this copyright and permission notice appear with all copies of the Data
|
||||||
|
Files or Software, or (b) this copyright and permission notice appear in
|
||||||
|
associated Documentation.
|
||||||
|
|
||||||
|
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||||
|
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||||
|
THIRD PARTY RIGHTS.
|
||||||
|
|
||||||
|
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
|
||||||
|
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
|
||||||
|
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||||
|
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
|
||||||
|
FILES OR SOFTWARE.
|
||||||
|
|
||||||
|
Except as contained in this notice, the name of a copyright holder shall
|
||||||
|
not be used in advertising or otherwise to promote the sale, use or other
|
||||||
|
dealings in these Data Files or Software without prior written
|
||||||
|
authorization of the copyright holder.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Third-Party Software Licenses
|
||||||
|
|
||||||
|
This section contains third-party software notices and/or additional
|
||||||
|
terms for licensed third-party software components included within ICU
|
||||||
|
libraries.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
ICU License - ICU 1.8.1 to ICU 57.1
|
||||||
|
|
||||||
|
COPYRIGHT AND PERMISSION NOTICE
|
||||||
|
|
||||||
|
Copyright (c) 1995-2016 International Business Machines Corporation and others
|
||||||
|
All rights reserved.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, and/or sell copies of the Software, and to permit persons
|
||||||
|
to whom the Software is furnished to do so, provided that the above
|
||||||
|
copyright notice(s) and this permission notice appear in all copies of
|
||||||
|
the Software and that both the above copyright notice(s) and this
|
||||||
|
permission notice appear in supporting documentation.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
||||||
|
OF THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR
|
||||||
|
HOLDERS INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY
|
||||||
|
SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER
|
||||||
|
RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF
|
||||||
|
CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
|
||||||
|
CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
|
||||||
|
Except as contained in this notice, the name of a copyright holder
|
||||||
|
shall not be used in advertising or otherwise to promote the sale, use
|
||||||
|
or other dealings in this Software without prior written authorization
|
||||||
|
of the copyright holder.
|
||||||
|
|
||||||
|
All trademarks and registered trademarks mentioned herein are the
|
||||||
|
property of their respective owners.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Chinese/Japanese Word Break Dictionary Data (cjdict.txt)
|
||||||
|
|
||||||
|
# The Google Chrome software developed by Google is licensed under
|
||||||
|
# the BSD license. Other software included in this distribution is
|
||||||
|
# provided under other licenses, as set forth below.
|
||||||
|
#
|
||||||
|
# The BSD License
|
||||||
|
# http://opensource.org/licenses/bsd-license.php
|
||||||
|
# Copyright (C) 2006-2008, Google Inc.
|
||||||
|
#
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# Redistributions of source code must retain the above copyright notice,
|
||||||
|
# this list of conditions and the following disclaimer.
|
||||||
|
# Redistributions in binary form must reproduce the above
|
||||||
|
# copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer in the documentation and/or other materials provided with
|
||||||
|
# the distribution.
|
||||||
|
# Neither the name of Google Inc. nor the names of its
|
||||||
|
# contributors may be used to endorse or promote products derived from
|
||||||
|
# this software without specific prior written permission.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||||
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||||
|
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||||
|
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||||
|
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
|
||||||
|
# BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
|
||||||
|
# LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
|
||||||
|
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||||
|
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# The word list in cjdict.txt are generated by combining three word lists
|
||||||
|
# listed below with further processing for compound word breaking. The
|
||||||
|
# frequency is generated with an iterative training against Google web
|
||||||
|
# corpora.
|
||||||
|
#
|
||||||
|
# * Libtabe (Chinese)
|
||||||
|
# - https://sourceforge.net/project/?group_id=1519
|
||||||
|
# - Its license terms and conditions are shown below.
|
||||||
|
#
|
||||||
|
# * IPADIC (Japanese)
|
||||||
|
# - http://chasen.aist-nara.ac.jp/chasen/distribution.html
|
||||||
|
# - Its license terms and conditions are shown below.
|
||||||
|
#
|
||||||
|
# ---------COPYING.libtabe ---- BEGIN--------------------
|
||||||
|
#
|
||||||
|
# /*
|
||||||
|
# * Copyright (c) 1999 TaBE Project.
|
||||||
|
# * Copyright (c) 1999 Pai-Hsiang Hsiao.
|
||||||
|
# * All rights reserved.
|
||||||
|
# *
|
||||||
|
# * Redistribution and use in source and binary forms, with or without
|
||||||
|
# * modification, are permitted provided that the following conditions
|
||||||
|
# * are met:
|
||||||
|
# *
|
||||||
|
# * . Redistributions of source code must retain the above copyright
|
||||||
|
# * notice, this list of conditions and the following disclaimer.
|
||||||
|
# * . Redistributions in binary form must reproduce the above copyright
|
||||||
|
# * notice, this list of conditions and the following disclaimer in
|
||||||
|
# * the documentation and/or other materials provided with the
|
||||||
|
# * distribution.
|
||||||
|
# * . Neither the name of the TaBE Project nor the names of its
|
||||||
|
# * contributors may be used to endorse or promote products derived
|
||||||
|
# * from this software without specific prior written permission.
|
||||||
|
# *
|
||||||
|
# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
# * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
# * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
# * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
# * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
# * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
# * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
# * OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
# */
|
||||||
|
#
|
||||||
|
# /*
|
||||||
|
# * Copyright (c) 1999 Computer Systems and Communication Lab,
|
||||||
|
# * Institute of Information Science, Academia
|
||||||
|
# * Sinica. All rights reserved.
|
||||||
|
# *
|
||||||
|
# * Redistribution and use in source and binary forms, with or without
|
||||||
|
# * modification, are permitted provided that the following conditions
|
||||||
|
# * are met:
|
||||||
|
# *
|
||||||
|
# * . Redistributions of source code must retain the above copyright
|
||||||
|
# * notice, this list of conditions and the following disclaimer.
|
||||||
|
# * . Redistributions in binary form must reproduce the above copyright
|
||||||
|
# * notice, this list of conditions and the following disclaimer in
|
||||||
|
# * the documentation and/or other materials provided with the
|
||||||
|
# * distribution.
|
||||||
|
# * . Neither the name of the Computer Systems and Communication Lab
|
||||||
|
# * nor the names of its contributors may be used to endorse or
|
||||||
|
# * promote products derived from this software without specific
|
||||||
|
# * prior written permission.
|
||||||
|
# *
|
||||||
|
# * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
# * FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
# * REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||||
|
# * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
# * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
# * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
# * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
# * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
# * OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
# */
|
||||||
|
#
|
||||||
|
# Copyright 1996 Chih-Hao Tsai @ Beckman Institute,
|
||||||
|
# University of Illinois
|
||||||
|
# c-tsai4@uiuc.edu http://casper.beckman.uiuc.edu/~c-tsai4
|
||||||
|
#
|
||||||
|
# ---------------COPYING.libtabe-----END--------------------------------
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# ---------------COPYING.ipadic-----BEGIN-------------------------------
|
||||||
|
#
|
||||||
|
# Copyright 2000, 2001, 2002, 2003 Nara Institute of Science
|
||||||
|
# and Technology. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# Use, reproduction, and distribution of this software is permitted.
|
||||||
|
# Any copy of this software, whether in its original form or modified,
|
||||||
|
# must include both the above copyright notice and the following
|
||||||
|
# paragraphs.
|
||||||
|
#
|
||||||
|
# Nara Institute of Science and Technology (NAIST),
|
||||||
|
# the copyright holders, disclaims all warranties with regard to this
|
||||||
|
# software, including all implied warranties of merchantability and
|
||||||
|
# fitness, in no event shall NAIST be liable for
|
||||||
|
# any special, indirect or consequential damages or any damages
|
||||||
|
# whatsoever resulting from loss of use, data or profits, whether in an
|
||||||
|
# action of contract, negligence or other tortuous action, arising out
|
||||||
|
# of or in connection with the use or performance of this software.
|
||||||
|
#
|
||||||
|
# A large portion of the dictionary entries
|
||||||
|
# originate from ICOT Free Software. The following conditions for ICOT
|
||||||
|
# Free Software applies to the current dictionary as well.
|
||||||
|
#
|
||||||
|
# Each User may also freely distribute the Program, whether in its
|
||||||
|
# original form or modified, to any third party or parties, PROVIDED
|
||||||
|
# that the provisions of Section 3 ("NO WARRANTY") will ALWAYS appear
|
||||||
|
# on, or be attached to, the Program, which is distributed substantially
|
||||||
|
# in the same form as set out herein and that such intended
|
||||||
|
# distribution, if actually made, will neither violate or otherwise
|
||||||
|
# contravene any of the laws and regulations of the countries having
|
||||||
|
# jurisdiction over the User or the intended distribution itself.
|
||||||
|
#
|
||||||
|
# NO WARRANTY
|
||||||
|
#
|
||||||
|
# The program was produced on an experimental basis in the course of the
|
||||||
|
# research and development conducted during the project and is provided
|
||||||
|
# to users as so produced on an experimental basis. Accordingly, the
|
||||||
|
# program is provided without any warranty whatsoever, whether express,
|
||||||
|
# implied, statutory or otherwise. The term "warranty" used herein
|
||||||
|
# includes, but is not limited to, any warranty of the quality,
|
||||||
|
# performance, merchantability and fitness for a particular purpose of
|
||||||
|
# the program and the nonexistence of any infringement or violation of
|
||||||
|
# any right of any third party.
|
||||||
|
#
|
||||||
|
# Each user of the program will agree and understand, and be deemed to
|
||||||
|
# have agreed and understood, that there is no warranty whatsoever for
|
||||||
|
# the program and, accordingly, the entire risk arising from or
|
||||||
|
# otherwise connected with the program is assumed by the user.
|
||||||
|
#
|
||||||
|
# Therefore, neither ICOT, the copyright holder, or any other
|
||||||
|
# organization that participated in or was otherwise related to the
|
||||||
|
# development of the program and their respective officials, directors,
|
||||||
|
# officers and other employees shall be held liable for any and all
|
||||||
|
# damages, including, without limitation, general, special, incidental
|
||||||
|
# and consequential damages, arising out of or otherwise in connection
|
||||||
|
# with the use or inability to use the program or any product, material
|
||||||
|
# or result produced or otherwise obtained by using the program,
|
||||||
|
# regardless of whether they have been advised of, or otherwise had
|
||||||
|
# knowledge of, the possibility of such damages at any time during the
|
||||||
|
# project or thereafter. Each user will be deemed to have agreed to the
|
||||||
|
# foregoing by his or her commencement of use of the program. The term
|
||||||
|
# "use" as used herein includes, but is not limited to, the use,
|
||||||
|
# modification, copying and distribution of the program and the
|
||||||
|
# production of secondary products from the program.
|
||||||
|
#
|
||||||
|
# In the case where the program, whether in its original form or
|
||||||
|
# modified, was distributed or delivered to or received by a user from
|
||||||
|
# any person, organization or entity other than ICOT, unless it makes or
|
||||||
|
# grants independently of ICOT any specific warranty to the user in
|
||||||
|
# writing, such person, organization or entity, will also be exempted
|
||||||
|
# from and not be held liable to the user for any such damages as noted
|
||||||
|
# above as far as the program is concerned.
|
||||||
|
#
|
||||||
|
# ---------------COPYING.ipadic-----END----------------------------------
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Lao Word Break Dictionary Data (laodict.txt)
|
||||||
|
|
||||||
|
# Copyright (C) 2016 and later: Unicode, Inc. and others.
|
||||||
|
# License & terms of use: http://www.unicode.org/copyright.html
|
||||||
|
# Copyright (c) 2015 International Business Machines Corporation
|
||||||
|
# and others. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# Project: https://github.com/rober42539/lao-dictionary
|
||||||
|
# Dictionary: https://github.com/rober42539/lao-dictionary/laodict.txt
|
||||||
|
# License: https://github.com/rober42539/lao-dictionary/LICENSE.txt
|
||||||
|
# (copied below)
|
||||||
|
#
|
||||||
|
# This file is derived from the above dictionary version of Nov 22, 2020
|
||||||
|
# ----------------------------------------------------------------------
|
||||||
|
# Copyright (C) 2013 Brian Eugene Wilson, Robert Martin Campbell.
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions are met:
|
||||||
|
#
|
||||||
|
# Redistributions of source code must retain the above copyright notice, this
|
||||||
|
# list of conditions and the following disclaimer. Redistributions in binary
|
||||||
|
# form must reproduce the above copyright notice, this list of conditions and
|
||||||
|
# the following disclaimer in the documentation and/or other materials
|
||||||
|
# provided with the distribution.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
|
||||||
|
# FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
|
||||||
|
# COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
|
||||||
|
# INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||||
|
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
||||||
|
# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
||||||
|
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
|
||||||
|
# STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||||
|
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
|
||||||
|
# OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Burmese Word Break Dictionary Data (burmesedict.txt)
|
||||||
|
|
||||||
|
# Copyright (c) 2014 International Business Machines Corporation
|
||||||
|
# and others. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# This list is part of a project hosted at:
|
||||||
|
# github.com/kanyawtech/myanmar-karen-word-lists
|
||||||
|
#
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
# Copyright (c) 2013, LeRoy Benjamin Sharon
|
||||||
|
# All rights reserved.
|
||||||
|
#
|
||||||
|
# Redistribution and use in source and binary forms, with or without
|
||||||
|
# modification, are permitted provided that the following conditions
|
||||||
|
# are met: Redistributions of source code must retain the above
|
||||||
|
# copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer. Redistributions in binary form must reproduce the
|
||||||
|
# above copyright notice, this list of conditions and the following
|
||||||
|
# disclaimer in the documentation and/or other materials provided
|
||||||
|
# with the distribution.
|
||||||
|
#
|
||||||
|
# Neither the name Myanmar Karen Word Lists, nor the names of its
|
||||||
|
# contributors may be used to endorse or promote products derived
|
||||||
|
# from this software without specific prior written permission.
|
||||||
|
#
|
||||||
|
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND
|
||||||
|
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,
|
||||||
|
# INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||||
|
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
|
||||||
|
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
|
||||||
|
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
|
||||||
|
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
|
||||||
|
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||||
|
# TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF
|
||||||
|
# THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||||
|
# SUCH DAMAGE.
|
||||||
|
# --------------------------------------------------------------------------
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Time Zone Database
|
||||||
|
|
||||||
|
ICU uses the public domain data and code derived from Time Zone
|
||||||
|
Database for its time zone support. The ownership of the TZ database
|
||||||
|
is explained in BCP 175: Procedure for Maintaining the Time Zone
|
||||||
|
Database section 7.
|
||||||
|
|
||||||
|
# 7. Database Ownership
|
||||||
|
#
|
||||||
|
# The TZ database itself is not an IETF Contribution or an IETF
|
||||||
|
# document. Rather it is a pre-existing and regularly updated work
|
||||||
|
# that is in the public domain, and is intended to remain in the
|
||||||
|
# public domain. Therefore, BCPs 78 [RFC5378] and 79 [RFC3979] do
|
||||||
|
# not apply to the TZ Database or contributions that individuals make
|
||||||
|
# to it. Should any claims be made and substantiated against the TZ
|
||||||
|
# Database, the organization that is providing the IANA
|
||||||
|
# Considerations defined in this RFC, under the memorandum of
|
||||||
|
# understanding with the IETF, currently ICANN, may act in accordance
|
||||||
|
# with all competent court orders. No ownership claims will be made
|
||||||
|
# by ICANN or the IETF Trust on the database or the code. Any person
|
||||||
|
# making a contribution to the database or code waives all rights to
|
||||||
|
# future claims in that contribution or in the TZ Database.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
Google double-conversion
|
||||||
|
|
||||||
|
Copyright 2006-2011, the V8 project authors. All rights reserved.
|
||||||
|
Redistribution and use in source and binary forms, with or without
|
||||||
|
modification, are permitted provided that the following conditions are
|
||||||
|
met:
|
||||||
|
|
||||||
|
* Redistributions of source code must retain the above copyright
|
||||||
|
notice, this list of conditions and the following disclaimer.
|
||||||
|
* Redistributions in binary form must reproduce the above
|
||||||
|
copyright notice, this list of conditions and the following
|
||||||
|
disclaimer in the documentation and/or other materials provided
|
||||||
|
with the distribution.
|
||||||
|
* Neither the name of Google Inc. nor the names of its
|
||||||
|
contributors may be used to endorse or promote products derived
|
||||||
|
from this software without specific prior written permission.
|
||||||
|
|
||||||
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||||
|
"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||||
|
A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||||
|
OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||||
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||||
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||||
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||||
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||||
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||||
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
File: aclocal.m4 (only for ICU4C)
|
||||||
|
Section: pkg.m4 - Macros to locate and utilise pkg-config.
|
||||||
|
|
||||||
|
|
||||||
|
Copyright © 2004 Scott James Remnant <scott@netsplit.com>.
|
||||||
|
Copyright © 2012-2015 Dan Nicholson <dbn.lists@gmail.com>
|
||||||
|
|
||||||
|
This program is free software; you can redistribute it and/or modify
|
||||||
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but
|
||||||
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, write to the Free Software
|
||||||
|
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
|
||||||
|
02111-1307, USA.
|
||||||
|
|
||||||
|
As a special exception to the GNU General Public License, if you
|
||||||
|
distribute this file as part of a program that contains a
|
||||||
|
configuration script generated by Autoconf, you may include it under
|
||||||
|
the same distribution terms that you use for the rest of that
|
||||||
|
program.
|
||||||
|
|
||||||
|
|
||||||
|
(The condition for the exception is fulfilled because
|
||||||
|
ICU4C includes a configuration script generated by Autoconf,
|
||||||
|
namely the `configure` script.)
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
File: config.guess (only for ICU4C)
|
||||||
|
|
||||||
|
|
||||||
|
This file is free software; you can redistribute it and/or modify it
|
||||||
|
under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 3 of the License, or
|
||||||
|
(at your option) any later version.
|
||||||
|
|
||||||
|
This program is distributed in the hope that it will be useful, but
|
||||||
|
WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
|
General Public License for more details.
|
||||||
|
|
||||||
|
You should have received a copy of the GNU General Public License
|
||||||
|
along with this program; if not, see <https://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
As a special exception to the GNU General Public License, if you
|
||||||
|
distribute this file as part of a program that contains a
|
||||||
|
configuration script generated by Autoconf, you may include it under
|
||||||
|
the same distribution terms that you use for the rest of that
|
||||||
|
program. This Exception is an additional permission under section 7
|
||||||
|
of the GNU General Public License, version 3 ("GPLv3").
|
||||||
|
|
||||||
|
|
||||||
|
(The condition for the exception is fulfilled because
|
||||||
|
ICU4C includes a configuration script generated by Autoconf,
|
||||||
|
namely the `configure` script.)
|
||||||
|
|
||||||
|
----------------------------------------------------------------------
|
||||||
|
|
||||||
|
File: install-sh (only for ICU4C)
|
||||||
|
|
||||||
|
|
||||||
|
Copyright 1991 by the Massachusetts Institute of Technology
|
||||||
|
|
||||||
|
Permission to use, copy, modify, distribute, and sell this software and its
|
||||||
|
documentation for any purpose is hereby granted without fee, provided that
|
||||||
|
the above copyright notice appear in all copies and that both that
|
||||||
|
copyright notice and this permission notice appear in supporting
|
||||||
|
documentation, and that the name of M.I.T. not be used in advertising or
|
||||||
|
publicity pertaining to distribution of the software without specific,
|
||||||
|
written prior permission. M.I.T. makes no representations about the
|
||||||
|
suitability of this software for any purpose. It is provided "as is"
|
||||||
|
without express or implied warranty.
|
||||||
44
data/third_party_licenses/icu4x
Normal file
|
|
@ -0,0 +1,44 @@
|
||||||
|
UNICODE LICENSE V3
|
||||||
|
|
||||||
|
COPYRIGHT AND PERMISSION NOTICE
|
||||||
|
|
||||||
|
Copyright © 2020-2023 Unicode, Inc.
|
||||||
|
|
||||||
|
NOTICE TO USER: Carefully read the following legal agreement. BY
|
||||||
|
DOWNLOADING, INSTALLING, COPYING OR OTHERWISE USING DATA FILES, AND/OR
|
||||||
|
SOFTWARE, YOU UNEQUIVOCALLY ACCEPT, AND AGREE TO BE BOUND BY, ALL OF THE
|
||||||
|
TERMS AND CONDITIONS OF THIS AGREEMENT. IF YOU DO NOT AGREE, DO NOT
|
||||||
|
DOWNLOAD, INSTALL, COPY, DISTRIBUTE OR USE THE DATA FILES OR SOFTWARE.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a
|
||||||
|
copy of data files and any associated documentation (the "Data Files") or
|
||||||
|
software and any associated documentation (the "Software") to deal in the
|
||||||
|
Data Files or Software without restriction, including without limitation
|
||||||
|
the rights to use, copy, modify, merge, publish, distribute, and/or sell
|
||||||
|
copies of the Data Files or Software, and to permit persons to whom the
|
||||||
|
Data Files or Software are furnished to do so, provided that either (a)
|
||||||
|
this copyright and permission notice appear with all copies of the Data
|
||||||
|
Files or Software, or (b) this copyright and permission notice appear in
|
||||||
|
associated Documentation.
|
||||||
|
|
||||||
|
THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
|
||||||
|
KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
|
||||||
|
THIRD PARTY RIGHTS.
|
||||||
|
|
||||||
|
IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS NOTICE
|
||||||
|
BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL DAMAGES,
|
||||||
|
OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
|
||||||
|
WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
|
||||||
|
ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THE DATA
|
||||||
|
FILES OR SOFTWARE.
|
||||||
|
|
||||||
|
Except as contained in this notice, the name of a copyright holder shall
|
||||||
|
not be used in advertising or otherwise to promote the sale, use or other
|
||||||
|
dealings in these Data Files or Software without prior written
|
||||||
|
authorization of the copyright holder.
|
||||||
|
|
||||||
|
—
|
||||||
|
|
||||||
|
Portions of ICU4X may have been adapted from ICU4C and/or ICU4J.
|
||||||
|
ICU 1.8.1 to ICU 57.1 © 1995-2016 International Business Machines Corporation and others.
|
||||||