Merge branch 'SoftFever:main' into main
19
.github/workflows/build_all.yml
vendored
|
@ -58,4 +58,21 @@ jobs:
|
|||
os: ${{ matrix.os }}
|
||||
arch: ${{ matrix.arch }}
|
||||
build-deps-only: ${{ inputs.build-deps-only || false }}
|
||||
secrets: inherit
|
||||
secrets: inherit
|
||||
flatpak:
|
||||
name: "Flatpak"
|
||||
runs-on: ubuntu-latest
|
||||
container:
|
||||
image: bilelmoussaoui/flatpak-github-actions:gnome-45
|
||||
options: --privileged
|
||||
steps:
|
||||
# maybe i'm too dumb and fucked up to do CI. OH WELL :D -ppd
|
||||
- name: "Remove unneeded stuff to free disk space"
|
||||
run:
|
||||
sudo rm -rf /usr/share/dotnet /opt/ghc "/usr/local/share/boost" "$AGENT_TOOLSDIRECTORY"
|
||||
- uses: actions/checkout@v4
|
||||
- uses: flatpak/flatpak-github-actions/flatpak-builder@v6
|
||||
with:
|
||||
bundle: orcaslicer.flatpak
|
||||
manifest-path: flatpak/io.github.softfever.OrcaSlicer.yml
|
||||
cache-key: flatpak-builder-${{ github.sha }}
|
||||
|
|
3
.gitignore
vendored
|
@ -32,4 +32,5 @@ src/OrcaSlicer-doc/
|
|||
**/filament_full/
|
||||
/deps/DL_CACHE/
|
||||
/deps/DL_CACHE
|
||||
resources/profiles/user/default
|
||||
**/.flatpak-builder/
|
||||
resources/profiles/user/default
|
||||
|
|
|
@ -271,9 +271,18 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
|
|||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
|
||||
# We will turn the warning of for GCC for now:
|
||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
# GCC generates loads of -Wunknown-pragmas when compiling igl. The fix is not easy due to a bug in gcc, see
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=66943 or
|
||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
|
||||
# We will turn the warning of for GCC for now:
|
||||
add_compile_options(-Wno-unknown-pragmas)
|
||||
endif()
|
||||
|
||||
# Bit of a hack for flatpak building: compress the debug info with zstd to save space in CI
|
||||
if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 13.0)
|
||||
add_compile_options(-gz=zstd)
|
||||
endif()
|
||||
|
||||
endif()
|
||||
|
||||
if (SLIC3R_ASAN)
|
||||
|
@ -382,9 +391,7 @@ endif()
|
|||
# set(Boost_COMPILER "-mgw81")
|
||||
# boost::process was introduced first in version 1.64.0,
|
||||
# boost::beast::detail::base64 was introduced first in version 1.66.0
|
||||
set(MINIMUM_BOOST_VERSION "1.66.0")
|
||||
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams;program_options")
|
||||
find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components})
|
||||
find_package(Boost 1.66 REQUIRED COMPONENTS system filesystem thread log locale regex chrono atomic date_time iostreams program_options)
|
||||
|
||||
add_library(boost_libs INTERFACE)
|
||||
add_library(boost_headeronly INTERFACE)
|
||||
|
@ -410,28 +417,8 @@ function(slic3r_remap_configs targets from_Cfg to_Cfg)
|
|||
endif()
|
||||
endfunction()
|
||||
|
||||
if(TARGET Boost::system)
|
||||
message(STATUS "Boost::boost exists")
|
||||
target_link_libraries(boost_headeronly INTERFACE Boost::boost)
|
||||
|
||||
# Only from cmake 3.12
|
||||
# list(TRANSFORM _boost_components PREPEND Boost:: OUTPUT_VARIABLE _boost_targets)
|
||||
set(_boost_targets "")
|
||||
foreach(comp ${_boost_components})
|
||||
list(APPEND _boost_targets "Boost::${comp}")
|
||||
endforeach()
|
||||
|
||||
target_link_libraries(boost_libs INTERFACE
|
||||
boost_headeronly # includes the custom compile definitions as well
|
||||
${_boost_targets}
|
||||
)
|
||||
slic3r_remap_configs("${_boost_targets}" RelWithDebInfo Release)
|
||||
else()
|
||||
target_include_directories(boost_headeronly INTERFACE ${Boost_INCLUDE_DIRS})
|
||||
target_link_libraries(boost_libs INTERFACE boost_headeronly ${Boost_LIBRARIES})
|
||||
endif()
|
||||
|
||||
|
||||
target_include_directories(boost_headeronly INTERFACE ${Boost_INCLUDE_DIRS})
|
||||
target_link_libraries(boost_libs INTERFACE boost_headeronly ${Boost_LIBRARIES})
|
||||
|
||||
# Find and configure intel-tbb
|
||||
if(SLIC3R_STATIC)
|
||||
|
|
|
@ -26,17 +26,19 @@
|
|||
<string>????</string>
|
||||
<key>CFBundleVersion</key>
|
||||
<string>${MACOSX_BUNDLE_BUNDLE_VERSION}</string>
|
||||
<key>ATSApplicationFontsPath</key>
|
||||
<string>fonts/</string>
|
||||
<key>CFBundleURLTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>orcasliceropen url</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>orcasliceropen</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<array>
|
||||
<dict>
|
||||
<key>CFBundleURLName</key>
|
||||
<string>OrcaSlicer Downloads</string>
|
||||
<key>CFBundleURLSchemes</key>
|
||||
<array>
|
||||
<string>orcaslicer</string>
|
||||
</array>
|
||||
</dict>
|
||||
</array>
|
||||
<key>CFBundleDocumentTypes</key>
|
||||
<array>
|
||||
<dict>
|
||||
|
|
121
deps/CMakeLists.txt
vendored
|
@ -42,6 +42,10 @@ endif ()
|
|||
|
||||
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination directory")
|
||||
set(DEP_DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR}/../DL_CACHE CACHE PATH "Path for downloaded source packages.")
|
||||
set(FLATPAK FALSE CACHE BOOL "Toggles various build settings for flatpak, like /usr/local in DESTDIR or not building wxwidgets")
|
||||
if (NOT FLATPAK)
|
||||
set(DESTDIR "${DESTDIR}/usr/local/")
|
||||
endif()
|
||||
|
||||
get_property(_is_multi GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
|
||||
|
||||
|
@ -120,13 +124,13 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE)
|
|||
ExternalProject_Add(
|
||||
dep_${projectname}
|
||||
EXCLUDE_FROM_ALL ON
|
||||
INSTALL_DIR ${DESTDIR}/usr/local
|
||||
INSTALL_DIR ${DESTDIR}
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname}
|
||||
${_gen}
|
||||
CMAKE_ARGS
|
||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}
|
||||
-DCMAKE_MODULE_PATH:STRING=${PROJECT_SOURCE_DIR}/../cmake/modules
|
||||
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}/usr/local
|
||||
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}
|
||||
-DCMAKE_DEBUG_POSTFIX:STRING=d
|
||||
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
|
||||
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
||||
|
@ -140,16 +144,26 @@ if (NOT IS_CROSS_COMPILE OR NOT APPLE)
|
|||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
|
||||
)
|
||||
else()
|
||||
elseif(FLATPAK)
|
||||
# the only reason this is here is because of the HACK at the bottom for ci
|
||||
#
|
||||
# note for future devs: shared libs may actually create a size reduction
|
||||
# but orcaslicer_deps tends to get really funny regarding linking after that (notably boost)
|
||||
# so, as much as I would like to use that, it's not happening
|
||||
ExternalProject_Add(
|
||||
dep_${projectname}
|
||||
EXCLUDE_FROM_ALL ON
|
||||
INSTALL_DIR ${DESTDIR}/usr/local
|
||||
INSTALL_DIR ${DESTDIR}
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname}
|
||||
${_gen}
|
||||
CMAKE_ARGS
|
||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
||||
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}/usr/local
|
||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}
|
||||
-DCMAKE_MODULE_PATH:STRING=${PROJECT_SOURCE_DIR}/../cmake/modules
|
||||
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}
|
||||
-DCMAKE_DEBUG_POSTFIX:STRING=d
|
||||
-DCMAKE_C_COMPILER:STRING=${CMAKE_C_COMPILER}
|
||||
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
${_cmake_osx_arch}
|
||||
"${_configs_line}"
|
||||
|
@ -158,6 +172,29 @@ else()
|
|||
${P_ARGS_UNPARSED_ARGUMENTS}
|
||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
|
||||
# HACK: save space after each compile job, because CI
|
||||
# reasoning: cmake changes directory after this command, so just keep only the folders
|
||||
# so that it can navigate out
|
||||
COMMAND find "${CMAKE_BINARY_DIR}/dep_${projectname}-prefix/" -type f -delete
|
||||
)
|
||||
else()
|
||||
ExternalProject_Add(
|
||||
dep_${projectname}
|
||||
EXCLUDE_FROM_ALL ON
|
||||
INSTALL_DIR ${DESTDIR}
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/${projectname}
|
||||
${_gen}
|
||||
CMAKE_ARGS
|
||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}
|
||||
-DCMAKE_PREFIX_PATH:STRING=${DESTDIR}
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
${_cmake_osx_arch}
|
||||
"${_configs_line}"
|
||||
${DEP_CMAKE_OPTS}
|
||||
${P_ARGS_CMAKE_ARGS}
|
||||
${P_ARGS_UNPARSED_ARGUMENTS}
|
||||
BUILD_COMMAND ${CMAKE_COMMAND} --build . --config Release -- ${_build_j}
|
||||
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
|
||||
)
|
||||
|
||||
endif()
|
||||
|
@ -203,6 +240,20 @@ else()
|
|||
include("deps-linux.cmake")
|
||||
endif()
|
||||
|
||||
if(FLATPAK)
|
||||
# flatpak bundles some deps with the layer, so attempt to find them first
|
||||
# also, yes, this reduces CI by not needing to vendor certain deps
|
||||
find_package(ZLIB)
|
||||
find_package(PNG)
|
||||
find_package(EXPAT)
|
||||
find_package(CURL)
|
||||
find_package(JPEG)
|
||||
find_package(TIFF)
|
||||
find_package(Freetype)
|
||||
find_package(OpenSSL 1.1...<3.2)
|
||||
find_package(CURL)
|
||||
endif()
|
||||
|
||||
set(ZLIB_PKG "")
|
||||
if (NOT ZLIB_FOUND)
|
||||
include(ZLIB/ZLIB.cmake)
|
||||
|
@ -214,6 +265,7 @@ if (NOT PNG_FOUND)
|
|||
set(PNG_PKG dep_PNG)
|
||||
endif ()
|
||||
set(EXPAT_PKG "")
|
||||
find_package(EXPAT)
|
||||
if (NOT EXPAT_FOUND)
|
||||
include(EXPAT/EXPAT.cmake)
|
||||
set(EXPAT_PKG dep_EXPAT)
|
||||
|
@ -226,6 +278,7 @@ include(Boost/Boost.cmake)
|
|||
include(Cereal/Cereal.cmake)
|
||||
include(Qhull/Qhull.cmake)
|
||||
include(GLEW/GLEW.cmake)
|
||||
|
||||
include(GLFW/GLFW.cmake)
|
||||
include(OpenCSG/OpenCSG.cmake)
|
||||
|
||||
|
@ -241,34 +294,69 @@ include(CGAL/CGAL.cmake)
|
|||
|
||||
include(NLopt/NLopt.cmake)
|
||||
|
||||
include(OpenSSL/OpenSSL.cmake)
|
||||
|
||||
# I *think* 1.1 is used for *just* md5 hashing?
|
||||
# 3.1 has everything in the right place, but the md5 funcs used are deprecated
|
||||
# a grep across the repo shows it is used for other things
|
||||
# TODO: update openssl and everything that uses <openssl/md5.h>
|
||||
set(OPENSSL_PKG "")
|
||||
if(NOT OPENSSL_FOUND)
|
||||
include(OpenSSL/OpenSSL.cmake)
|
||||
set(OPENSSL_PKG dep_OpenSSL)
|
||||
endif()
|
||||
|
||||
# we don't want to load a "wrong" openssl when loading curl
|
||||
# so, just don't even bother
|
||||
# ...i think this is how it works? change if wrong
|
||||
set(CURL_PKG "")
|
||||
if (NOT CURL_FOUND)
|
||||
if (NOT OPENSSL_FOUND OR NOT CURL_FOUND)
|
||||
include(CURL/CURL.cmake)
|
||||
set(CURL_PKG dep_CURL)
|
||||
endif ()
|
||||
|
||||
include(JPEG/JPEG.cmake)
|
||||
include(TIFF/TIFF.cmake)
|
||||
include(wxWidgets/wxWidgets.cmake)
|
||||
set(JPEG_PKG "")
|
||||
if (NOT JPEG_FOUND)
|
||||
include(JPEG/JPEG.cmake)
|
||||
set(JPEG_PKG dep_JPEG)
|
||||
endif()
|
||||
|
||||
set(TIFF_PKG "")
|
||||
if (NOT TIFF_FOUND)
|
||||
include(TIFF/TIFF.cmake)
|
||||
set(TIFF_PKG "dep_TIFF")
|
||||
endif()
|
||||
|
||||
# flatpak builds wxwidgets separately
|
||||
set(WXWIDGETS_PKG "")
|
||||
if (NOT FLATPAK)
|
||||
include(wxWidgets/wxWidgets.cmake)
|
||||
set(WXWIDGETS_PKG "dep_wxWidgets")
|
||||
endif()
|
||||
|
||||
set(FREETYPE_PKG "")
|
||||
if(NOT FREETYPE_FOUND)
|
||||
include(FREETYPE/FREETYPE.cmake)
|
||||
set(FREETYPE_PKG "dep_FREETYPE")
|
||||
endif()
|
||||
|
||||
include(OCCT/OCCT.cmake)
|
||||
include(OpenCV/OpenCV.cmake)
|
||||
include(FREETYPE/FREETYPE.cmake)
|
||||
|
||||
set(_dep_list
|
||||
dep_Boost
|
||||
dep_TBB
|
||||
${OPENSSL_PKG}
|
||||
${CURL_PKG}
|
||||
dep_wxWidgets
|
||||
${WXWIDGETS_PKG}
|
||||
dep_Cereal
|
||||
dep_NLopt
|
||||
dep_OpenVDB
|
||||
dep_OpenCSG
|
||||
dep_OpenCV
|
||||
dep_CGAL
|
||||
dep_OpenSSL
|
||||
dep_GLFW
|
||||
dep_OCCT
|
||||
${FREETYPE_PKG}
|
||||
${PNG_PKG}
|
||||
${ZLIB_PKG}
|
||||
${EXPAT_PKG}
|
||||
|
@ -283,9 +371,6 @@ else()
|
|||
#list(APPEND _dep_list "dep_libigl")
|
||||
endif()
|
||||
|
||||
list(APPEND _dep_list "dep_OCCT")
|
||||
list(APPEND _dep_list "dep_FREETYPE")
|
||||
|
||||
add_custom_target(deps ALL DEPENDS ${_dep_list})
|
||||
|
||||
# Note: I'm not using any of the LOG_xxx options in ExternalProject_Add() commands
|
||||
|
|
7
deps/CURL/CURL.cmake
vendored
|
@ -72,9 +72,10 @@ orcaslicer_add_cmake_project(CURL
|
|||
${_curl_platform_flags}
|
||||
)
|
||||
|
||||
# if (APPLE OR (CMAKE_SYSTEM_NAME STREQUAL "Linux"))
|
||||
add_dependencies(dep_CURL dep_OpenSSL)
|
||||
# endif ()
|
||||
if(NOT OPENSSL_FOUND)
|
||||
# (openssl may or may not be built)
|
||||
add_dependencies(dep_CURL ${OPENSSL_PKG})
|
||||
endif()
|
||||
|
||||
if (MSVC)
|
||||
add_debug_dep(dep_CURL)
|
||||
|
|
17
deps/GMP/GMP.cmake
vendored
|
@ -1,17 +1,16 @@
|
|||
|
||||
set(_srcdir ${CMAKE_CURRENT_LIST_DIR}/gmp)
|
||||
set(_dstdir ${DESTDIR}/usr/local)
|
||||
|
||||
if (MSVC)
|
||||
set(_output ${_dstdir}/include/gmp.h
|
||||
${_dstdir}/lib/libgmp-10.lib
|
||||
${_dstdir}/bin/libgmp-10.dll)
|
||||
set(_output ${DESTDIR}/include/gmp.h
|
||||
${DESTDIR}/lib/libgmp-10.lib
|
||||
${DESTDIR}/bin/libgmp-10.dll)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${_output}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/gmp.h ${_dstdir}/include/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.lib ${_dstdir}/lib/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.dll ${_dstdir}/bin/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/gmp.h ${DESTDIR}/include/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.lib ${DESTDIR}/lib/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libgmp-10.dll ${DESTDIR}/bin/
|
||||
)
|
||||
|
||||
add_custom_target(dep_GMP SOURCES ${_output})
|
||||
|
@ -61,8 +60,8 @@ else ()
|
|||
URL_HASH SHA256=eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/GMP
|
||||
BUILD_IN_SOURCE ON
|
||||
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}/usr/local" ${_gmp_build_tgt}
|
||||
CONFIGURE_COMMAND env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --enable-shared=no --enable-cxx=yes --enable-static=yes "--prefix=${DESTDIR}" ${_gmp_build_tgt}
|
||||
BUILD_COMMAND make -j
|
||||
INSTALL_COMMAND make install
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
|
19
deps/MPFR/MPFR.cmake
vendored
|
@ -1,18 +1,17 @@
|
|||
set(_srcdir ${CMAKE_CURRENT_LIST_DIR}/mpfr)
|
||||
set(_dstdir ${DESTDIR}/usr/local)
|
||||
|
||||
if (MSVC)
|
||||
set(_output ${_dstdir}/include/mpfr.h
|
||||
${_dstdir}/include/mpf2mpfr.h
|
||||
${_dstdir}/lib/libmpfr-4.lib
|
||||
${_dstdir}/bin/libmpfr-4.dll)
|
||||
set(_output ${DESTDIR}/include/mpfr.h
|
||||
${DESTDIR}/include/mpf2mpfr.h
|
||||
${DESTDIR}/lib/libmpfr-4.lib
|
||||
${DESTDIR}/bin/libmpfr-4.dll)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${_output}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpfr.h ${_dstdir}/include/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpf2mpfr.h ${_dstdir}/include/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.lib ${_dstdir}/lib/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.dll ${_dstdir}/bin/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpfr.h ${DESTDIR}/include/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/include/mpf2mpfr.h ${DESTDIR}/include/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.lib ${DESTDIR}/lib/
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${_srcdir}/lib/win${DEPS_BITS}/libmpfr-4.dll ${DESTDIR}/bin/
|
||||
)
|
||||
|
||||
add_custom_target(dep_MPFR SOURCES ${_output})
|
||||
|
@ -31,7 +30,7 @@ else ()
|
|||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/MPFR
|
||||
BUILD_IN_SOURCE ON
|
||||
CONFIGURE_COMMAND autoreconf -f -i &&
|
||||
env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --prefix=${DESTDIR}/usr/local --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR}/usr/local ${_gmp_build_tgt}
|
||||
env "CFLAGS=${_gmp_ccflags}" "CXXFLAGS=${_gmp_ccflags}" ./configure ${_cross_compile_arg} --prefix=${DESTDIR} --enable-shared=no --enable-static=yes --with-gmp=${DESTDIR} ${_gmp_build_tgt}
|
||||
BUILD_COMMAND make -j
|
||||
INSTALL_COMMAND make install
|
||||
DEPENDS dep_GMP
|
||||
|
|
4
deps/OCCT/OCCT.cmake
vendored
|
@ -14,7 +14,7 @@ orcaslicer_add_cmake_project(OCCT
|
|||
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||
PATCH_COMMAND git apply --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||
#DEPENDS dep_Boost
|
||||
#DEPENDS dep_FREETYPE
|
||||
DEPENDS ${FREETYPE_PKG}
|
||||
CMAKE_ARGS
|
||||
-DBUILD_LIBRARY_TYPE=${library_build_type}
|
||||
-DUSE_TK=OFF
|
||||
|
@ -31,4 +31,4 @@ orcaslicer_add_cmake_project(OCCT
|
|||
-DBUILD_MODULE_Visualization=OFF
|
||||
)
|
||||
|
||||
add_dependencies(dep_OCCT dep_FREETYPE)
|
||||
# add_dependencies(dep_OCCT ${FREETYPE_PKG})
|
||||
|
|
6
deps/OpenEXR/OpenEXR.cmake
vendored
|
@ -15,11 +15,11 @@ if (APPLE AND IS_CROSS_COMPILE)
|
|||
EXCLUDE_FROM_ALL ON
|
||||
URL https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
|
||||
URL_HASH SHA256=0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de
|
||||
INSTALL_DIR ${DESTDIR}/usr/local
|
||||
INSTALL_DIR ${DESTDIR}
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenEXR
|
||||
${_openxr_list_sep}
|
||||
CMAKE_ARGS
|
||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
||||
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||
-DBUILD_TESTING=OFF
|
||||
|
@ -54,4 +54,4 @@ endif()
|
|||
|
||||
if (MSVC)
|
||||
add_debug_dep(dep_OpenEXR)
|
||||
endif ()
|
||||
endif ()
|
||||
|
|
6
deps/OpenSSL/OpenSSL.cmake
vendored
|
@ -46,8 +46,8 @@ ExternalProject_Add(dep_OpenSSL
|
|||
# URL_HASH SHA256=8c776993154652d0bb393f506d850b811517c8bd8d24b1008aef57fbe55d3f31
|
||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenSSL
|
||||
CONFIGURE_COMMAND ${_conf_cmd} ${_cross_arch}
|
||||
"--openssldir=${DESTDIR}/usr/local"
|
||||
"--prefix=${DESTDIR}/usr/local"
|
||||
"--openssldir=${DESTDIR}"
|
||||
"--prefix=${DESTDIR}"
|
||||
${_cross_comp_prefix_line}
|
||||
no-shared
|
||||
no-asm
|
||||
|
@ -61,6 +61,6 @@ ExternalProject_Add(dep_OpenSSL
|
|||
ExternalProject_Add_Step(dep_OpenSSL install_cmake_files
|
||||
DEPENDEES install
|
||||
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory openssl "${DESTDIR}/usr/local/${CMAKE_INSTALL_LIBDIR}/cmake/openssl"
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_directory openssl "${DESTDIR}${CMAKE_INSTALL_LIBDIR}/cmake/openssl"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}"
|
||||
)
|
||||
|
|
79
deps/TBB/GNU.cmake
vendored
Normal file
|
@ -0,0 +1,79 @@
|
|||
# Copyright (c) 2020-2021 Intel Corporation
|
||||
#
|
||||
# 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.
|
||||
|
||||
if (MINGW)
|
||||
set(TBB_LINK_DEF_FILE_FLAG "")
|
||||
set(TBB_DEF_FILE_PREFIX "")
|
||||
elseif (APPLE)
|
||||
set(TBB_LINK_DEF_FILE_FLAG -Wl,-exported_symbols_list,)
|
||||
set(TBB_DEF_FILE_PREFIX mac${TBB_ARCH})
|
||||
|
||||
# For correct ucontext.h structures layout
|
||||
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -D_XOPEN_SOURCE)
|
||||
else()
|
||||
set(TBB_LINK_DEF_FILE_FLAG -Wl,--version-script=)
|
||||
set(TBB_DEF_FILE_PREFIX lin${TBB_ARCH})
|
||||
endif()
|
||||
|
||||
# Add -Wno-error=stringop-overflow to fix GCC 12+ build as suggested on https://github.com/oneapi-src/oneTBB/issues/843#issuecomment-1152646035
|
||||
set(TBB_WARNING_LEVEL -Wall -Wextra $<$<BOOL:${TBB_STRICT}>:-Werror> -Wfatal-errors -Wno-error=stringop-overflow)
|
||||
set(TBB_TEST_WARNING_FLAGS -Wshadow -Wcast-qual -Woverloaded-virtual -Wnon-virtual-dtor)
|
||||
|
||||
# Depfile options (e.g. -MD) are inserted automatically in some cases.
|
||||
# Don't add -MMD to avoid conflicts in such cases.
|
||||
if (NOT CMAKE_GENERATOR MATCHES "Ninja" AND NOT CMAKE_CXX_DEPENDS_USE_COMPILER)
|
||||
set(TBB_MMD_FLAG -MMD)
|
||||
endif()
|
||||
|
||||
# Enable Intel(R) Transactional Synchronization Extensions (-mrtm) and WAITPKG instructions support (-mwaitpkg) on relevant processors
|
||||
if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64)")
|
||||
set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm $<$<AND:$<NOT:$<CXX_COMPILER_ID:Intel>>,$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},11.0>>>:-mwaitpkg>)
|
||||
endif()
|
||||
|
||||
if (NOT MINGW)
|
||||
set(TBB_COMMON_LINK_LIBS dl)
|
||||
endif()
|
||||
|
||||
# Ignore -Werror set through add_compile_options() or added to CMAKE_CXX_FLAGS if TBB_STRICT is disabled.
|
||||
if (NOT TBB_STRICT AND COMMAND tbb_remove_compile_flag)
|
||||
tbb_remove_compile_flag(-Werror)
|
||||
endif()
|
||||
|
||||
if (NOT ${CMAKE_CXX_COMPILER_ID} STREQUAL Intel)
|
||||
# gcc 6.0 and later have -flifetime-dse option that controls elimination of stores done outside the object lifetime
|
||||
set(TBB_DSE_FLAG $<$<NOT:$<VERSION_LESS:${CMAKE_CXX_COMPILER_VERSION},6.0>>:-flifetime-dse=1>)
|
||||
endif()
|
||||
|
||||
# Workaround for heavy tests and too many symbols in debug (rellocation truncated to fit: R_MIPS_CALL16)
|
||||
if ("${CMAKE_SYSTEM_PROCESSOR}" MATCHES "mips")
|
||||
set(TBB_TEST_COMPILE_FLAGS ${TBB_TEST_COMPILE_FLAGS} -DTBB_TEST_LOW_WORKLOAD $<$<CONFIG:DEBUG>:-mxgot>)
|
||||
endif()
|
||||
|
||||
if (MINGW)
|
||||
list(APPEND TBB_COMMON_COMPILE_FLAGS -U__STRICT_ANSI__)
|
||||
endif()
|
||||
|
||||
# For some reason GCC does not instrument code with Thread Sanitizer when lto is enabled and C linker is used.
|
||||
if (NOT TBB_SANITIZE MATCHES "thread")
|
||||
set(TBB_IPO_COMPILE_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
set(TBB_IPO_LINK_FLAGS $<$<NOT:$<CONFIG:Debug>>:-flto>)
|
||||
endif()
|
||||
|
||||
# Disable lto flag
|
||||
set(TBB_IPO_COMPILE_FLAGS "")
|
||||
set(TBB_IPO_LINK_FLAGS "")
|
||||
|
||||
# TBB malloc settings
|
||||
set(TBBMALLOC_LIB_COMPILE_FLAGS -fno-rtti -fno-exceptions)
|
||||
set(TBB_OPENMP_FLAG -fopenmp)
|
8
deps/TBB/TBB.cmake
vendored
|
@ -1,8 +1,14 @@
|
|||
if (FLATPAK)
|
||||
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_LIST_DIR}/GNU.cmake ./cmake/compilers/GNU.cmake)
|
||||
else()
|
||||
set(_patch_command "")
|
||||
endif()
|
||||
|
||||
orcaslicer_add_cmake_project(
|
||||
TBB
|
||||
URL "https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.5.0.zip"
|
||||
URL_HASH SHA256=83ea786c964a384dd72534f9854b419716f412f9d43c0be88d41874763e7bb47
|
||||
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-TBB-GCC13.patch
|
||||
PATCH_COMMAND ${_patch_command}
|
||||
CMAKE_ARGS
|
||||
-DTBB_BUILD_SHARED=OFF
|
||||
-DTBB_BUILD_TESTS=OFF
|
||||
|
|
11
deps/wxWidgets/wxWidgets.cmake
vendored
|
@ -17,11 +17,16 @@ else ()
|
|||
set(_wx_edge "-DwxUSE_WEBVIEW_EDGE=OFF")
|
||||
endif ()
|
||||
|
||||
# Note: The flatpak build builds wxwidgets separately due to CI size constraints.
|
||||
# ANY CHANGES MADE IN HERE MUST ALSO BE REFLECTED IN `flatpak/io.github.SoftFever.OrcaSlicer.yml`.
|
||||
# ** THIS INCLUDES BUILD ARGS. **
|
||||
# ...if you can find a way around this size limitation, be my guest.
|
||||
|
||||
orcaslicer_add_cmake_project(
|
||||
wxWidgets
|
||||
GIT_REPOSITORY "https://github.com/SoftFever/Orca-deps-wxWidgets"
|
||||
GIT_SHALLOW ON
|
||||
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF dep_JPEG
|
||||
DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} ${TIFF_PKG} ${JPEG_PKG}
|
||||
CMAKE_ARGS
|
||||
-DwxBUILD_PRECOMP=ON
|
||||
${_wx_toolkit}
|
||||
|
@ -34,6 +39,7 @@ orcaslicer_add_cmake_project(
|
|||
-DwxUSE_UNICODE=ON
|
||||
${_wx_private_font}
|
||||
-DwxUSE_OPENGL=ON
|
||||
-DwxUSE_WEBREQUEST=ON
|
||||
-DwxUSE_WEBVIEW=ON
|
||||
${_wx_edge}
|
||||
-DwxUSE_WEBVIEW_IE=OFF
|
||||
|
@ -47,9 +53,10 @@ orcaslicer_add_cmake_project(
|
|||
-DwxUSE_ZLIB=sys
|
||||
-DwxUSE_LIBJPEG=sys
|
||||
-DwxUSE_LIBTIFF=sys
|
||||
-DwxUSE_NANOSVG=OFF
|
||||
-DwxUSE_EXPAT=sys
|
||||
)
|
||||
|
||||
if (MSVC)
|
||||
add_debug_dep(dep_wxWidgets)
|
||||
endif ()
|
||||
endif ()
|
||||
|
|
2
flatpak/.gitignore
vendored
Normal file
|
@ -0,0 +1,2 @@
|
|||
builddir
|
||||
.flatpak-builder
|
3
flatpak/README.md
Normal file
|
@ -0,0 +1,3 @@
|
|||
# OrcaSlicer
|
||||
|
||||
This is basically a copy of [com.bambulab.BambuStudio](https://github.com/flathub/com.bambulab.BambuStudio). As such, same rules apply here as does over there.
|
15
flatpak/entrypoint
Normal file
|
@ -0,0 +1,15 @@
|
|||
#!/usr/bin/env sh
|
||||
|
||||
# Work-around https://gitlab.gnome.org/GNOME/gnome-build-meta/-/issues/754
|
||||
grep -q org.freedesktop.Platform.GL.nvidia /.flatpak-info && export WEBKIT_DISABLE_DMABUF_RENDERER=1
|
||||
|
||||
# Work-around https://github.com/bambulab/BambuStudio/issues/3440
|
||||
export LC_ALL=C.UTF-8
|
||||
|
||||
if [ $BAMBU_STUDIO_DARK_THEME == true ]; then
|
||||
export GTK_THEME='Adwaita:dark'
|
||||
# echo "Message: $(date +%T): INFO: using dark theme variant"
|
||||
fi
|
||||
|
||||
exec /app/bin/orca-slicer "$@" &
|
||||
$(/app/bin/set-dark-theme-variant.py) &
|
BIN
flatpak/images/1.png
Normal file
After Width: | Height: | Size: 280 KiB |
BIN
flatpak/images/2.png
Normal file
After Width: | Height: | Size: 976 KiB |
48
flatpak/io.github.softfever.OrcaSlicer.metainfo.xml
Executable file
|
@ -0,0 +1,48 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<component type="desktop">
|
||||
<id>io.github.softfever.OrcaSlicer</id>
|
||||
<launchable type="desktop-id">io.github.softfever.OrcaSlicer.desktop</launchable>
|
||||
<provides>
|
||||
<id>io.github.softfever.OrcaSlicer.desktop</id>
|
||||
</provides>
|
||||
<name>OrcaSlicer</name>
|
||||
<!-- hehe hadess @ppd
|
||||
... seriously though, thanks -->
|
||||
<summary>Get even more perfect prints!</summary>
|
||||
<developer_name>SoftFever</developer_name>
|
||||
<url type="homepage">https://github.com/SoftFever/OrcaSlicer</url>
|
||||
<url type="help">https://github.com/SoftFever/OrcaSlicer/wiki</url>
|
||||
<url type="bugtracker">https://github.com/SoftFever/OrcaSlicer/issues/</url>
|
||||
<url type="donation">https://ko-fi.com/SoftFever</url>
|
||||
<metadata_license>0BSD</metadata_license>
|
||||
<project_license>AGPL-3.0-only</project_license>
|
||||
<content_rating type="oars-1.1" />
|
||||
<requires>
|
||||
<display_length compare="gt">768</display_length>
|
||||
</requires>
|
||||
<recommends>
|
||||
<control>keyboard</control>
|
||||
<control>pointing</control>
|
||||
</recommends>
|
||||
<screenshots>
|
||||
<screenshot type="default">
|
||||
<image>https://raw.githubusercontent.com/powpingdone/com.github.softfever.orcaslicer/master/images/1.png</image>
|
||||
<caption>A model ready to be sliced on a buildplate.</caption>
|
||||
</screenshot>
|
||||
<screenshot>
|
||||
<image>https://raw.githubusercontent.com/powpingdone/com.github.softfever.orcaslicer/master/images/2.png
|
||||
</image>
|
||||
<caption>A calibration test ready to be printed out.</caption>
|
||||
</screenshot>
|
||||
</screenshots>
|
||||
<description>
|
||||
<p>A 3D printer slicer forked from Bambu Studio, PrusaSlicer, and SuperSlicer with many more printer profiles, helpful calibration prints, and many more features to get your 3D printer printing perfectly!</p>
|
||||
</description>
|
||||
<branding>
|
||||
<color type="primary" scheme_preference="light">#009688</color>
|
||||
</branding>
|
||||
<releases>
|
||||
<release version="2.0.0-951fc8e" date="2024-01-30"> <url>https://github.com/SoftFever/OrcaSlicer/commit/951fc8e98a0d5ca0ccb254315646ce7889a44836</url>
|
||||
</release>
|
||||
</releases>
|
||||
</component>
|
344
flatpak/io.github.softfever.OrcaSlicer.yml
Executable file
|
@ -0,0 +1,344 @@
|
|||
app-id: io.github.softfever.OrcaSlicer
|
||||
runtime: org.gnome.Platform
|
||||
runtime-version: "45"
|
||||
sdk: org.gnome.Sdk
|
||||
command: entrypoint
|
||||
separate-locales: true
|
||||
rename-icon: OrcaSlicer
|
||||
finish-args:
|
||||
- --share=ipc
|
||||
- --socket=x11
|
||||
- --share=network
|
||||
- --device=all
|
||||
- --filesystem=home
|
||||
- --filesystem=xdg-run/gvfs
|
||||
- --filesystem=/run/media
|
||||
- --filesystem=/media
|
||||
# Allow OrcaSlicer to talk to other instances
|
||||
- --talk-name=io.github.softfever.OrcaSlicer.InstanceCheck.*
|
||||
- --system-talk-name=org.freedesktop.UDisks2
|
||||
# set dark theme
|
||||
- --env=BAMBU_STUDIO_DARK_THEME=false
|
||||
|
||||
modules:
|
||||
|
||||
# JPEG codec for the liveview
|
||||
- name: gst-plugins-good
|
||||
buildsystem: meson
|
||||
config-opts:
|
||||
- -Dauto_features=disabled
|
||||
- -Djpeg=enabled
|
||||
- -Ddoc=disabled
|
||||
- -Dexamples=disabled
|
||||
- -Dtests=disabled
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://gstreamer.freedesktop.org/src/gst-plugins-good/gst-plugins-good-1.22.8.tar.xz
|
||||
sha256: e305b9f07f52743ca481da0a4e0c76c35efd60adaf1b0694eb3bb021e2137e39
|
||||
|
||||
# xprop, xlib is needed to manipulate the X11 window and set _GTK_THEME_VARIANT dark on X11
|
||||
# and paint the window dark when PRUSA_SLICER_DARK_THEME is true
|
||||
# see: entrypoint & set-dark-theme-variant.py (originated from spotify client flatpak)
|
||||
- name: xprop
|
||||
sources:
|
||||
- type: archive
|
||||
url: http://mirrors.ircam.fr/pub/x.org/individual/app/xprop-1.2.5.tar.gz
|
||||
sha256: b7bf6b6be6cf23e7966a153fc84d5901c14f01ee952fbd9d930aa48e2385d670
|
||||
- name: python-setuptools_scm
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- pip3 install --no-deps --no-build-isolation --verbose --prefix=${FLATPAK_DEST} .
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://files.pythonhosted.org/packages/57/38/930b1241372a9f266a7df2b184fb9d4f497c2cef2e016b014f82f541fe7c/setuptools_scm-6.0.1.tar.gz
|
||||
sha256: d1925a69cb07e9b29416a275b9fadb009a23c148ace905b2fb220649a6c18e92
|
||||
- name: python-xlib
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- pip3 install --no-deps --no-build-isolation --verbose --prefix=${FLATPAK_DEST} .
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://files.pythonhosted.org/packages/86/f5/8c0653e5bb54e0cbdfe27bf32d41f27bc4e12faa8742778c17f2a71be2c0/python-xlib-0.33.tar.gz
|
||||
sha256: 55af7906a2c75ce6cb280a584776080602444f75815a7aff4d287bb2d7018b32
|
||||
|
||||
# For libOSMesa
|
||||
- name: mesa
|
||||
buildsystem: meson
|
||||
config-opts:
|
||||
- -Dosmesa=classic
|
||||
- -Ddri-drivers=[]
|
||||
- -Dgallium-drivers=[]
|
||||
- -Dvulkan-drivers=[]
|
||||
- -Dplatforms=[]
|
||||
build-options:
|
||||
arch:
|
||||
aarch64:
|
||||
config-opts:
|
||||
- -Dlibunwind=disabled
|
||||
cleanup:
|
||||
- /share/drirc.d
|
||||
- /include
|
||||
- "*.a"
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://archive.mesa3d.org/mesa-20.2.6.tar.xz
|
||||
sha256: f12ca3c6c622f11cd79ad66b4220f04514fa96f795062fe92a37339ab19885db
|
||||
|
||||
- name: glu
|
||||
config-opts:
|
||||
- --disable-static
|
||||
sources:
|
||||
- type: archive
|
||||
url: https://ftp.osuosl.org/pub/blfs/conglomeration/glu/glu-9.0.2.tar.xz
|
||||
sha256: 6e7280ff585c6a1d9dfcdf2fca489251634b3377bfc33c29e4002466a38d02d4
|
||||
cleanup:
|
||||
- /include
|
||||
- /lib/*.a
|
||||
- /lib/*.la
|
||||
- /lib/pkgconfig
|
||||
|
||||
- name: kde-extra-cmake-modules
|
||||
buildsystem: cmake-ninja
|
||||
sources:
|
||||
- type: git
|
||||
url: https://github.com/KDE/extra-cmake-modules
|
||||
tag: v5.249.0
|
||||
cleanup:
|
||||
- /
|
||||
|
||||
- name: orca_wxwidgets
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- |
|
||||
mkdir builddir && cd builddir
|
||||
cmake ../ -GNinja \
|
||||
-DwxBUILD_PRECOMP=ON \
|
||||
-DwxBUILD_TOOLKIT=gtk3 \
|
||||
-DwxBUILD_DEBUG_LEVEL=0 \
|
||||
-DwxBUILD_SAMPLES=OFF \
|
||||
-DwxBUILD_SHARED=ON \
|
||||
-DwxUSE_MEDIACTRL=ON \
|
||||
-DwxUSE_DETECT_SM=OFF \
|
||||
-DwxUSE_UNICODE=ON \
|
||||
-DwxUSE_PRIVATE_FONTS=ON \
|
||||
-DwxUSE_OPENGL=ON \
|
||||
-DwxUSE_WEBREQUEST=ON \
|
||||
-DwxUSE_WEBVIEW=ON \
|
||||
-DwxUSE_WEBVIEW_EDGE=OFF \
|
||||
-DwxUSE_WEBVIEW_IE=OFF \
|
||||
-DwxUSE_REGEX=builtin \
|
||||
-DwxUSE_LIBSDL=OFF \
|
||||
-DwxUSE_XTEST=OFF \
|
||||
-DwxUSE_STC=OFF \
|
||||
-DwxUSE_AUI=ON \
|
||||
-DwxUSE_LIBPNG=sys \
|
||||
-DwxUSE_ZLIB=sys \
|
||||
-DwxUSE_LIBJPEG=sys \
|
||||
-DwxUSE_LIBTIFF=sys \
|
||||
-DwxUSE_EXPAT=sys \
|
||||
-DBUILD_SHARED_LIBS:BOOL=ON \
|
||||
-DCMAKE_INSTALL_PREFIX:STRING=/app \
|
||||
-DCMAKE_PREFIX_PATH=/app \
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
cmake --build . --target install -j$FLATPAK_BUILDER_N_JOBS
|
||||
sources:
|
||||
- type: git
|
||||
url: https://github.com/SoftFever/Orca-deps-wxWidgets
|
||||
branch: master
|
||||
path: ../
|
||||
cleanup:
|
||||
- "*.la"
|
||||
- "*.a"
|
||||
- "*.cmake"
|
||||
- /include
|
||||
- /app/bin/*
|
||||
|
||||
- name: orca_deps
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
# start build
|
||||
- |
|
||||
mkdir deps/build && cd deps/build
|
||||
cmake ../ \
|
||||
-DDEP_WX_GTK3=ON \
|
||||
-DDEP_DOWNLOAD_DIR=/run/build/orca_deps/external-packages \
|
||||
-DCMAKE_PREFIX_PATH=/app \
|
||||
-DDESTDIR=/app \
|
||||
-DCMAKE_INSTALL_LIBDIR=/app/lib \
|
||||
-DFLATPAK=ON \
|
||||
-DCMAKE_INSTALL_PREFIX=/app
|
||||
cmake --build .
|
||||
rm -r /run/build/orca_deps/external-packages
|
||||
|
||||
cleanup:
|
||||
- /app/include
|
||||
- "*.a"
|
||||
- "*.la"
|
||||
- /app/lib/cmake
|
||||
|
||||
sources:
|
||||
# -
|
||||
# Section bellow fetches all OrcaSlicer dependencies before the build process and stores them in external-packages/*/* .
|
||||
# -DDEP_DOWNLOAD_DIR is set in the build process which has to match with dest.
|
||||
#
|
||||
# NOTE: The url, dest folder name and sha256 must match from OrcaSlicer's cmake scripts and folder names in OrcaSlicer/deps/
|
||||
# -
|
||||
|
||||
# OrcaSlicer Source Archive
|
||||
- type: dir
|
||||
path: ../
|
||||
|
||||
# Blosc
|
||||
- type: file
|
||||
url: https://github.com/tamasmeszaros/c-blosc/archive/refs/heads/v1.17.0_tm.zip
|
||||
dest: external-packages/Blosc
|
||||
sha256: dcb48bf43a672fa3de6a4b1de2c4c238709dad5893d1e097b8374ad84b1fc3b3
|
||||
|
||||
# Cereal
|
||||
- type: file
|
||||
url: https://github.com/USCiLab/cereal/archive/refs/tags/v1.3.0.zip
|
||||
dest: external-packages/Cereal
|
||||
sha256: 71642cb54658e98c8f07a0f0d08bf9766f1c3771496936f6014169d3726d9657
|
||||
|
||||
# CGAL
|
||||
- type: file
|
||||
url: https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip
|
||||
dest: external-packages/CGAL
|
||||
sha256: d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0
|
||||
|
||||
# GMP
|
||||
- type: file
|
||||
url: https://github.com/SoftFever/OrcaSlicer_deps/releases/download/gmp-6.2.1/gmp-6.2.1.tar.bz2
|
||||
dest: external-packages/GMP
|
||||
sha256: eae9326beb4158c386e39a356818031bd28f3124cf915f8c5b1dc4c7a36b4d7c
|
||||
|
||||
# MPFR
|
||||
- type: file
|
||||
url: https://www.mpfr.org/mpfr-current/mpfr-4.2.1.tar.bz2
|
||||
dest: external-packages/MPFR
|
||||
sha256: b9df93635b20e4089c29623b19420c4ac848a1b29df1cfd59f26cab0d2666aa0
|
||||
|
||||
# NLopt
|
||||
- type: file
|
||||
url: https://github.com/stevengj/nlopt/archive/v2.5.0.tar.gz
|
||||
dest: external-packages/NLopt
|
||||
sha256: c6dd7a5701fff8ad5ebb45a3dc8e757e61d52658de3918e38bab233e7fd3b4ae
|
||||
|
||||
# OCCT
|
||||
- type: file
|
||||
url: https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip
|
||||
dest: external-packages/OCCT
|
||||
sha256: 28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc
|
||||
|
||||
# OpenCSG
|
||||
- type: file
|
||||
url: https://github.com/floriankirsch/OpenCSG/archive/refs/tags/opencsg-1-4-2-release.zip
|
||||
dest: external-packages/OpenCSG
|
||||
sha256: 51afe0db79af8386e2027d56d685177135581e0ee82ade9d7f2caff8deab5ec5
|
||||
|
||||
# OpenCV
|
||||
- type: file
|
||||
url: https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz
|
||||
dest: external-packages/OpenCV
|
||||
sha256: 1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277
|
||||
|
||||
# OpenEXR
|
||||
- type: file
|
||||
url: https://github.com/AcademySoftwareFoundation/openexr/archive/refs/tags/v2.5.5.zip
|
||||
dest: external-packages/OpenEXR
|
||||
sha256: 0307a3d7e1fa1e77e9d84d7e9a8694583fbbbfd50bdc6884e2c96b8ef6b902de
|
||||
|
||||
# OpenVDB
|
||||
- type: file
|
||||
url: https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip
|
||||
dest: external-packages/OpenVDB
|
||||
sha256: f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
|
||||
|
||||
# Qhull
|
||||
- type: file
|
||||
url: https://github.com/qhull/qhull/archive/v8.0.1.zip
|
||||
dest: external-packages/Qhull
|
||||
sha256: 5287f5edd6a0372588f5d6640799086a4033d89d19711023ef8229dd9301d69b
|
||||
|
||||
# TBB
|
||||
- type: file
|
||||
url: https://github.com/oneapi-src/oneTBB/archive/refs/tags/v2021.5.0.zip
|
||||
dest: external-packages/TBB
|
||||
sha256: 83ea786c964a384dd72534f9854b419716f412f9d43c0be88d41874763e7bb47
|
||||
|
||||
# Boost
|
||||
- type: file
|
||||
url: https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz
|
||||
dest: external-packages/Boost
|
||||
sha256: 4d27e9efed0f6f152dc28db6430b9d3dfb40c0345da7342eaa5a987dde57bd95
|
||||
|
||||
# GLFW
|
||||
- type: file
|
||||
url: https://github.com/glfw/glfw/archive/refs/tags/3.3.7.zip
|
||||
dest: external-packages/GLFW
|
||||
sha256: e02d956935e5b9fb4abf90e2c2e07c9a0526d7eacae8ee5353484c69a2a76cd0
|
||||
|
||||
- name: OrcaSlicer
|
||||
buildsystem: simple
|
||||
build-commands:
|
||||
- |
|
||||
mkdir -p build && cd build
|
||||
CXXFLAGS=-std=gnu++20 cmake ../ \
|
||||
-DSLIC3R_PCH=OFF \
|
||||
-DSLIC3R_FHS=ON \
|
||||
-DSLIC3R_GTK=3 \
|
||||
-DSLIC3R_STATIC=ON \
|
||||
-DSLIC3R_BUILD_TESTS=OFF \
|
||||
-DSLIC3R_DESKTOP_INTEGRATION=OFF \
|
||||
-DCMAKE_BUILD_TYPE=Release \
|
||||
-DFLATPAK=ON \
|
||||
-DBBL_RELEASE_TO_PUBLIC=1 \
|
||||
-DCMAKE_PREFIX_PATH=/app \
|
||||
-DCMAKE_INSTALL_PREFIX=/app
|
||||
CXXFLAGS=-std=gnu++20 cmake --build . --target install -j$FLATPAK_BUILDER_N_JOBS
|
||||
|
||||
cleanup:
|
||||
- /include
|
||||
|
||||
post-install:
|
||||
|
||||
- | # Desktop Integration files
|
||||
install -Dm644 -t /app/share/icons/hicolor/scalable/apps/ resources/images/OrcaSlicer.svg
|
||||
install -Dm644 ${FLATPAK_ID}.metainfo.xml /app/share/metainfo/${FLATPAK_ID}.metainfo.xml
|
||||
mv /app/share/applications/OrcaSlicer.desktop /app/share/applications/${FLATPAK_ID}.desktop
|
||||
desktop-file-edit --set-key=Exec --set-value="entrypoint %U" /app/share/applications/${FLATPAK_ID}.desktop
|
||||
install -Dm755 set-dark-theme-variant.py /app/bin
|
||||
install -Dm755 entrypoint /app/bin
|
||||
install -Dm755 umount /app/bin
|
||||
|
||||
sources:
|
||||
# -
|
||||
# Section bellow fetches all OrcaSlicer dependencies before the build process and stores them in external-packages/*/* .
|
||||
# -DDEP_DOWNLOAD_DIR is set in the build process which has to match with dest.
|
||||
#
|
||||
# NOTE: The url, dest folder name and sha256 must match from OrcaSlicer's cmake scripts and folder names in OrcaSlicer/deps/
|
||||
# -
|
||||
|
||||
# OrcaSlicer Source Archive
|
||||
- type: dir
|
||||
path: ../
|
||||
|
||||
# AppData metainfo for Gnome Software & Co.
|
||||
- type: file
|
||||
path: io.github.softfever.OrcaSlicer.metainfo.xml
|
||||
|
||||
# script to set dark theme variant
|
||||
- type: file
|
||||
path: set-dark-theme-variant.py
|
||||
|
||||
# start-up script
|
||||
# README: workaround for the following issues, also enables dark theme variant:
|
||||
# SEE: https://github.com/flathub/com.bambulab.BambuStudio/issues/27
|
||||
# SEE: https://github.com/flathub/com.bambulab.BambuStudio/issues/3
|
||||
# SEE: https://github.com/prusa3d/PrusaSlicer/issues/2365
|
||||
- type: file
|
||||
path: entrypoint
|
||||
|
||||
# umount wrapper used to redirect umount calls to udisk2
|
||||
- type: file
|
||||
path: umount
|
85
flatpak/set-dark-theme-variant.py
Normal file
|
@ -0,0 +1,85 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
import Xlib
|
||||
import Xlib.display
|
||||
import time
|
||||
import subprocess
|
||||
import os
|
||||
import sys
|
||||
|
||||
|
||||
disp = Xlib.display.Display()
|
||||
root = disp.screen().root
|
||||
|
||||
NET_CLIENT_LIST = disp.intern_atom('_NET_CLIENT_LIST')
|
||||
|
||||
|
||||
def set_theme_variant_by_window_id(id, variant):
|
||||
# Use subprocess to call
|
||||
# xprop and set the variant from id.
|
||||
try:
|
||||
s = subprocess.call(['xprop', '-f', '_GTK_THEME_VARIANT', '8u', '-set', '_GTK_THEME_VARIANT', variant, '-id', str(id)],
|
||||
stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
||||
if s == 0:
|
||||
return True
|
||||
return False
|
||||
except Exception as ex:
|
||||
return False
|
||||
|
||||
|
||||
def set_theme_variant_from_win_id_collection(win_id_collection, variant):
|
||||
# Loop though all of the collected
|
||||
# window ids and set theme variant
|
||||
for win_id in win_id_collection:
|
||||
set_theme_variant_by_window_id(win_id, variant)
|
||||
|
||||
|
||||
def collection_win_id_from_wm_class_name(win_class_name):
|
||||
|
||||
collect = []
|
||||
|
||||
# Loop though all of the windows
|
||||
# and collect id's those that match
|
||||
# win_class: prusa-slicer
|
||||
for win_id in root.get_full_property(NET_CLIENT_LIST, Xlib.X.AnyPropertyType).value:
|
||||
try:
|
||||
win = disp.create_resource_object('window', win_id)
|
||||
if not win.get_wm_transient_for():
|
||||
win_class = win.get_wm_class()
|
||||
if win_id and win_class_name in win_class:
|
||||
collect.append(
|
||||
win_id) if win_id not in collect else collect
|
||||
except Xlib.error.BadWindow:
|
||||
pass
|
||||
|
||||
return collect
|
||||
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
if os.environ.get('PRUSA_SLICER_DARK_THEME', 'false') != 'true':
|
||||
sys.exit(0)
|
||||
|
||||
# Listen for X Property Change events.
|
||||
root.change_attributes(event_mask=Xlib.X.PropertyChangeMask)
|
||||
# the class name of the slicer window
|
||||
win_class_name = 'prusa-slicer'
|
||||
# the variant to set
|
||||
variant = 'dark'
|
||||
|
||||
start = time.time()
|
||||
|
||||
while True:
|
||||
# collect all of the window ids
|
||||
collect = collection_win_id_from_wm_class_name(win_class_name)
|
||||
# give PrusaSlicer window 2 secs to
|
||||
# collect the wanted window ids
|
||||
# set the theme variant and exit
|
||||
if time.time() - start <= 2:
|
||||
# disp.next_event() blocks if no events are
|
||||
# queued. In combination with while True
|
||||
# it creates a very simple event loop.
|
||||
disp.next_event()
|
||||
set_theme_variant_from_win_id_collection(collect, variant)
|
||||
else:
|
||||
break
|
10
flatpak/umount
Executable file
|
@ -0,0 +1,10 @@
|
|||
#!/usr/bin/env sh
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No arguments supplied"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
DEVICE=$(basename $(findmnt -oSOURCE -n "$@") )
|
||||
|
||||
exec /usr/bin/gdbus call -y -d org.freedesktop.UDisks2 -o /org/freedesktop/UDisks2/block_devices/$DEVICE -m org.freedesktop.UDisks2.Filesystem.Unmount "{'b': <'false'>}" 1> /dev/null
|
||||
|
|
@ -8,7 +8,7 @@ msgid ""
|
|||
msgstr ""
|
||||
"Project-Id-Version: PACKAGE VERSION\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"POT-Creation-Date: 2024-05-01 00:42+0800\n"
|
||||
"POT-Creation-Date: 2024-05-29 00:28+0800\n"
|
||||
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
|
||||
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
|
||||
"Language-Team: LANGUAGE <LL@li.org>\n"
|
||||
|
@ -1354,9 +1354,6 @@ msgid ""
|
|||
"Configuration file \"%1%\" was loaded, but some values were not recognized."
|
||||
msgstr ""
|
||||
|
||||
msgid "V"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"OrcaSlicer will terminate because of running out of memory.It may be a bug. "
|
||||
"It will be appreciated if you report the issue to our team."
|
||||
|
@ -1452,6 +1449,9 @@ msgstr ""
|
|||
msgid "Choose one or more files (3mf/step/stl/svg/obj/amf):"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose ZIP file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Choose one file (gcode/3mf):"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1515,6 +1515,11 @@ msgstr ""
|
|||
msgid "Select a G-code file:"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Could not start URL download. Destination folder is not set. Please choose "
|
||||
"destination folder in Configuration Wizard."
|
||||
msgstr ""
|
||||
|
||||
msgid "Import File"
|
||||
msgstr ""
|
||||
|
||||
|
@ -1834,6 +1839,9 @@ msgstr ""
|
|||
msgid "Add Handy models"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add Models"
|
||||
msgstr ""
|
||||
|
||||
msgid "Show Labels"
|
||||
msgstr ""
|
||||
|
||||
|
@ -2309,7 +2317,7 @@ msgstr ""
|
|||
msgid "Connection to printer failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Please check the network connection of the printer and Studio."
|
||||
msgid "Please check the network connection of the printer and Orca."
|
||||
msgstr ""
|
||||
|
||||
msgid "Connecting..."
|
||||
|
@ -2633,10 +2641,7 @@ msgstr ""
|
|||
msgid "GNU Affero General Public License, version 3"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Orca Slicer is based on BambuStudio by Bambulab, which is from PrusaSlicer "
|
||||
"by Prusa Research. PrusaSlicer is from Slic3r by Alessandro Ranellucci and "
|
||||
"the RepRap community"
|
||||
msgid "Orca Slicer is based on PrusaSlicer and BambuStudio"
|
||||
msgstr ""
|
||||
|
||||
msgid "Libraries"
|
||||
|
@ -3078,6 +3083,219 @@ msgstr ""
|
|||
msgid "Scheduling upload to `%1%`. See Window -> Print Host Upload Queue"
|
||||
msgstr ""
|
||||
|
||||
msgid "Device"
|
||||
msgstr ""
|
||||
|
||||
msgid "Task Sending"
|
||||
msgstr ""
|
||||
|
||||
msgid "Task Sent"
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit multiple printers"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select connected printetrs (0/6)"
|
||||
msgstr ""
|
||||
|
||||
#, possible-c-format, possible-boost-format
|
||||
msgid "Select Connected Printetrs (%d/6)"
|
||||
msgstr ""
|
||||
|
||||
#, possible-c-format, possible-boost-format
|
||||
msgid "The maximum number of printers that can be selected is %d"
|
||||
msgstr ""
|
||||
|
||||
msgid "Offline"
|
||||
msgstr ""
|
||||
|
||||
msgid "No task"
|
||||
msgstr ""
|
||||
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
msgid "N/A"
|
||||
msgstr ""
|
||||
|
||||
msgid "Edit Printers"
|
||||
msgstr ""
|
||||
|
||||
msgid "Device Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Task Name"
|
||||
msgstr ""
|
||||
|
||||
msgid "Device Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "Actions"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Please select the devices you would like to manage here (up to 6 devices)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
msgid "Idle"
|
||||
msgstr ""
|
||||
|
||||
msgid "Printing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Upgrading"
|
||||
msgstr ""
|
||||
|
||||
msgid "Incompatible"
|
||||
msgstr ""
|
||||
|
||||
msgid "syncing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Printing Finish"
|
||||
msgstr ""
|
||||
|
||||
msgid "Printing Failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "PrintingPause"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prepare"
|
||||
msgstr ""
|
||||
|
||||
msgid "Slicing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Pending"
|
||||
msgstr ""
|
||||
|
||||
msgid "Sending"
|
||||
msgstr ""
|
||||
|
||||
msgid "Sending Finish"
|
||||
msgstr ""
|
||||
|
||||
msgid "Sending Cancel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Sending Failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print Success"
|
||||
msgstr ""
|
||||
|
||||
msgid "Print Failed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Removed"
|
||||
msgstr ""
|
||||
|
||||
msgid "Resume"
|
||||
msgstr ""
|
||||
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
msgid "Task Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "Sent Time"
|
||||
msgstr ""
|
||||
|
||||
msgid "There are no tasks to be sent!"
|
||||
msgstr ""
|
||||
|
||||
msgid "No historical tasks!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
msgid "No AMS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Send to Multi-device"
|
||||
msgstr ""
|
||||
|
||||
msgid "Preparing print job"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal print file data. Please slice again"
|
||||
msgstr ""
|
||||
|
||||
msgid "There is no device available to send printing."
|
||||
msgstr ""
|
||||
|
||||
msgid "The number of printers in use simultaneously cannot be equal to 0."
|
||||
msgstr ""
|
||||
|
||||
msgid "Use External Spool"
|
||||
msgstr ""
|
||||
|
||||
msgid "Use AMS"
|
||||
msgstr ""
|
||||
|
||||
msgid "Select Printers"
|
||||
msgstr ""
|
||||
|
||||
msgid "Ams Status"
|
||||
msgstr ""
|
||||
|
||||
msgid "Printing Options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Bed Leveling"
|
||||
msgstr ""
|
||||
|
||||
msgid "Timelapse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Flow Dynamic Calibration"
|
||||
msgstr ""
|
||||
|
||||
msgid "Send Options"
|
||||
msgstr ""
|
||||
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"printers at the same time.(It depends on how many devices can undergo "
|
||||
"heating at the same time.)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Wait"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"minute each batch.(It depends on how long it takes to complete the heating.)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Name is invalid;"
|
||||
msgstr ""
|
||||
|
||||
msgid "illegal characters:"
|
||||
msgstr ""
|
||||
|
||||
msgid "illegal suffix:"
|
||||
msgstr ""
|
||||
|
||||
msgid "The name is not allowed to be empty."
|
||||
msgstr ""
|
||||
|
||||
msgid "The name is not allowed to start with space character."
|
||||
msgstr ""
|
||||
|
||||
msgid "The name is not allowed to end with space character."
|
||||
msgstr ""
|
||||
|
||||
msgid "The name length exceeds the limit."
|
||||
msgstr ""
|
||||
|
||||
msgid "Origin"
|
||||
msgstr ""
|
||||
|
||||
|
@ -3521,9 +3739,6 @@ msgstr ""
|
|||
msgid "parameter name"
|
||||
msgstr ""
|
||||
|
||||
msgid "N/A"
|
||||
msgstr ""
|
||||
|
||||
#, possible-c-format, possible-boost-format
|
||||
msgid "%s can't be percentage"
|
||||
msgstr ""
|
||||
|
@ -3838,9 +4053,6 @@ msgstr ""
|
|||
msgid "Align to Y axis"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add plate"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4017,15 +4229,9 @@ msgstr ""
|
|||
msgid "Logging"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prepare"
|
||||
msgstr ""
|
||||
|
||||
msgid "Preview"
|
||||
msgstr ""
|
||||
|
||||
msgid "Device"
|
||||
msgstr ""
|
||||
|
||||
msgid "Multi-device"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4053,9 +4259,6 @@ msgstr ""
|
|||
msgid "Export G-code file"
|
||||
msgstr ""
|
||||
|
||||
msgid "Send"
|
||||
msgstr ""
|
||||
|
||||
msgid "Export plate sliced file"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4068,9 +4271,6 @@ msgstr ""
|
|||
msgid "Send all"
|
||||
msgstr ""
|
||||
|
||||
msgid "Send to Multi-device"
|
||||
msgstr ""
|
||||
|
||||
msgid "Keyboard Shortcuts"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4179,6 +4379,12 @@ msgstr ""
|
|||
msgid "Load a model"
|
||||
msgstr ""
|
||||
|
||||
msgid "Import Zip Archive"
|
||||
msgstr ""
|
||||
|
||||
msgid "Load models contained within a zip archive"
|
||||
msgstr ""
|
||||
|
||||
msgid "Import Configs"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4212,7 +4418,7 @@ msgstr ""
|
|||
msgid "Export current plate as G-code"
|
||||
msgstr ""
|
||||
|
||||
msgid "Export &Configs"
|
||||
msgid "Export Preset Bundle"
|
||||
msgstr ""
|
||||
|
||||
msgid "Export current configuration to files"
|
||||
|
@ -4314,9 +4520,6 @@ msgstr ""
|
|||
msgid "Preferences"
|
||||
msgstr ""
|
||||
|
||||
msgid "View"
|
||||
msgstr ""
|
||||
|
||||
msgid "Help"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4383,10 +4586,10 @@ msgstr ""
|
|||
msgid "Export toolpaths as OBJ"
|
||||
msgstr ""
|
||||
|
||||
msgid "Open &Studio"
|
||||
msgid "Open &Slicer"
|
||||
msgstr ""
|
||||
|
||||
msgid "Open Studio"
|
||||
msgid "Open Slicer"
|
||||
msgstr ""
|
||||
|
||||
msgid "&Quit"
|
||||
|
@ -4550,9 +4753,6 @@ msgstr ""
|
|||
msgid "Playing..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Loading..."
|
||||
msgstr ""
|
||||
|
||||
msgid "Year"
|
||||
msgstr ""
|
||||
|
||||
|
@ -4571,9 +4771,6 @@ msgstr ""
|
|||
msgid "Show all files, recent first."
|
||||
msgstr ""
|
||||
|
||||
msgid "Timelapse"
|
||||
msgstr ""
|
||||
|
||||
msgid "Switch to timelapse files."
|
||||
msgstr ""
|
||||
|
||||
|
@ -4706,11 +4903,6 @@ msgid ""
|
|||
"please try again later."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Over 4 systems/handy are using remote access, you can close some and try "
|
||||
"again."
|
||||
msgstr ""
|
||||
|
||||
msgid "File does not exist."
|
||||
msgstr ""
|
||||
|
||||
|
@ -4769,12 +4961,6 @@ msgstr ""
|
|||
msgid "Printing Progress"
|
||||
msgstr ""
|
||||
|
||||
msgid "Resume"
|
||||
msgstr ""
|
||||
|
||||
msgid "Stop"
|
||||
msgstr ""
|
||||
|
||||
msgid "0"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5131,10 +5317,10 @@ msgstr[1] ""
|
|||
msgid "ERROR"
|
||||
msgstr ""
|
||||
|
||||
msgid "CANCELED"
|
||||
msgid "COMPLETED"
|
||||
msgstr ""
|
||||
|
||||
msgid "COMPLETED"
|
||||
msgid "CANCELED"
|
||||
msgstr ""
|
||||
|
||||
msgid "Cancel upload"
|
||||
|
@ -5486,6 +5672,9 @@ msgstr ""
|
|||
msgid "The name may show garbage characters!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remember my choice."
|
||||
msgstr ""
|
||||
|
||||
#, possible-boost-format
|
||||
msgid "Failed loading file \"%1%\". An invalid configuration was found."
|
||||
msgstr ""
|
||||
|
@ -5600,9 +5789,6 @@ msgstr ""
|
|||
msgid "Error during reload"
|
||||
msgstr ""
|
||||
|
||||
msgid "Slicing"
|
||||
msgstr ""
|
||||
|
||||
msgid "There are warnings after slicing models:"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5669,7 +5855,7 @@ msgid "Project downloaded %d%%"
|
|||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Importing to Bambu Studio failed. Please download the file and manually "
|
||||
"Importing to Orca Slicer failed. Please download the file and manually "
|
||||
"import it."
|
||||
msgstr ""
|
||||
|
||||
|
@ -5685,6 +5871,20 @@ msgstr ""
|
|||
msgid "Error occurs while loading G-code file"
|
||||
msgstr ""
|
||||
|
||||
#. TRN %1% is archive path
|
||||
#, possible-boost-format
|
||||
msgid "Loading of a ZIP archive on path %1% has failed."
|
||||
msgstr ""
|
||||
|
||||
#. TRN: First argument = path to file, second argument = error description
|
||||
#, possible-boost-format
|
||||
msgid "Failed to unzip file to %1%: %2%"
|
||||
msgstr ""
|
||||
|
||||
#, possible-boost-format
|
||||
msgid "Failed to find unzipped file at %1%. Unzipping of file has failed."
|
||||
msgstr ""
|
||||
|
||||
msgid "Drop project file"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5709,18 +5909,12 @@ msgstr ""
|
|||
msgid "Can not add models when in preview mode!"
|
||||
msgstr ""
|
||||
|
||||
msgid "Add Models"
|
||||
msgstr ""
|
||||
|
||||
msgid "All objects will be removed, continue?"
|
||||
msgstr ""
|
||||
|
||||
msgid "The current project has unsaved changes, save it before continue?"
|
||||
msgstr ""
|
||||
|
||||
msgid "Remember my choice."
|
||||
msgstr ""
|
||||
|
||||
msgid "Number of copies:"
|
||||
msgstr ""
|
||||
|
||||
|
@ -5912,6 +6106,11 @@ msgstr ""
|
|||
msgid "Stealth Mode"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"This stops the transmission of data to Bambu's cloud services. Users who "
|
||||
"don't use BBL machines or use LAN mode only can safely turn on this function."
|
||||
msgstr ""
|
||||
|
||||
msgid "Enable network plugin"
|
||||
msgstr ""
|
||||
|
||||
|
@ -6016,7 +6215,7 @@ msgid ""
|
|||
"each printer automatically."
|
||||
msgstr ""
|
||||
|
||||
msgid "Multi-device Management(Take effect after restarting Studio)."
|
||||
msgid "Multi-device Management(Take effect after restarting Orca)."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
|
@ -6063,6 +6262,42 @@ msgstr ""
|
|||
msgid "If enabled, sets OrcaSlicer as default application to open .step files"
|
||||
msgstr ""
|
||||
|
||||
msgid "Associate web links to OrcaSlicer"
|
||||
msgstr ""
|
||||
|
||||
msgid "Associate URLs to OrcaSlicer"
|
||||
msgstr ""
|
||||
|
||||
msgid "Current association: "
|
||||
msgstr ""
|
||||
|
||||
msgid "Associate prusaslicer://"
|
||||
msgstr ""
|
||||
|
||||
msgid "Not associated to any application"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Associate OrcaSlicer with prusaslicer:// links so that Orca can open models "
|
||||
"from Printable.com"
|
||||
msgstr ""
|
||||
|
||||
msgid "Associate bambustudio://"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Associate OrcaSlicer with bambustudio:// links so that Orca can open models "
|
||||
"from makerworld.com"
|
||||
msgstr ""
|
||||
|
||||
msgid "Associate cura://"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Associate OrcaSlicer with cura:// links so that Orca can open models from "
|
||||
"thingiverse.com"
|
||||
msgstr ""
|
||||
|
||||
msgid "Maximum recent projects"
|
||||
msgstr ""
|
||||
|
||||
|
@ -6232,9 +6467,6 @@ msgstr ""
|
|||
msgid "Create printer"
|
||||
msgstr ""
|
||||
|
||||
msgid "Incompatible"
|
||||
msgstr ""
|
||||
|
||||
msgid "The selected preset is null!"
|
||||
msgstr ""
|
||||
|
||||
|
@ -6329,15 +6561,6 @@ msgstr ""
|
|||
msgid "Preset Inside Project"
|
||||
msgstr ""
|
||||
|
||||
msgid "Name is invalid;"
|
||||
msgstr ""
|
||||
|
||||
msgid "illegal characters:"
|
||||
msgstr ""
|
||||
|
||||
msgid "illegal suffix:"
|
||||
msgstr ""
|
||||
|
||||
msgid "Name is unavailable."
|
||||
msgstr ""
|
||||
|
||||
|
@ -6355,15 +6578,6 @@ msgstr ""
|
|||
msgid "Please note that saving action will replace this preset"
|
||||
msgstr ""
|
||||
|
||||
msgid "The name is not allowed to be empty."
|
||||
msgstr ""
|
||||
|
||||
msgid "The name is not allowed to start with space character."
|
||||
msgstr ""
|
||||
|
||||
msgid "The name is not allowed to end with space character."
|
||||
msgstr ""
|
||||
|
||||
msgid "The name cannot be the same as a preset alias name."
|
||||
msgstr ""
|
||||
|
||||
|
@ -6421,9 +6635,6 @@ msgstr ""
|
|||
msgid "Log out successful."
|
||||
msgstr ""
|
||||
|
||||
msgid "Offline"
|
||||
msgstr ""
|
||||
|
||||
msgid "Busy"
|
||||
msgstr ""
|
||||
|
||||
|
@ -6448,9 +6659,6 @@ msgstr ""
|
|||
msgid "Send print job to"
|
||||
msgstr ""
|
||||
|
||||
msgid "Bed Leveling"
|
||||
msgstr ""
|
||||
|
||||
msgid "Flow Dynamics Calibration"
|
||||
msgstr ""
|
||||
|
||||
|
@ -6580,7 +6788,7 @@ msgid "nozzle in preset: %s %s"
|
|||
msgstr ""
|
||||
|
||||
#, possible-c-format, possible-boost-format
|
||||
msgid "nozzle memorized: %.1f %s"
|
||||
msgid "nozzle memorized: %.2f %s"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
|
@ -6606,15 +6814,6 @@ msgid ""
|
|||
"Connecting to the printer. Unable to cancel during the connection process."
|
||||
msgstr ""
|
||||
|
||||
msgid "Preparing print job"
|
||||
msgstr ""
|
||||
|
||||
msgid "Abnormal print file data. Please slice again"
|
||||
msgstr ""
|
||||
|
||||
msgid "The name length exceeds the limit."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Caution to use! Flow calibration on Textured PEI Plate may fail due to the "
|
||||
"scattered surface."
|
||||
|
@ -6938,6 +7137,9 @@ msgstr ""
|
|||
msgid "Tree supports"
|
||||
msgstr ""
|
||||
|
||||
msgid "Skirt"
|
||||
msgstr ""
|
||||
|
||||
msgid "Prime tower"
|
||||
msgstr ""
|
||||
|
||||
|
@ -7781,6 +7983,12 @@ msgstr ""
|
|||
msgid "Shift+Mouse wheel"
|
||||
msgstr ""
|
||||
|
||||
msgid "Horizontal slider - Move to start position"
|
||||
msgstr ""
|
||||
|
||||
msgid "Horizontal slider - Move to last position"
|
||||
msgstr ""
|
||||
|
||||
msgid "Release Note"
|
||||
msgstr ""
|
||||
|
||||
|
@ -7897,12 +8105,6 @@ msgstr ""
|
|||
msgid "Update firmware"
|
||||
msgstr ""
|
||||
|
||||
msgid "Printing"
|
||||
msgstr ""
|
||||
|
||||
msgid "Idle"
|
||||
msgstr ""
|
||||
|
||||
msgid "Beta version"
|
||||
msgstr ""
|
||||
|
||||
|
@ -7932,7 +8134,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"The firmware version is abnormal. Repairing and updating are required before "
|
||||
"printing. Do you want to update now? You can also update later on printer or "
|
||||
"update next time starting the studio."
|
||||
"update next time starting Orca."
|
||||
msgstr ""
|
||||
|
||||
msgid "Extension Board"
|
||||
|
@ -8062,9 +8264,6 @@ msgstr ""
|
|||
msgid "Gap infill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Skirt"
|
||||
msgstr ""
|
||||
|
||||
msgid "Support interface"
|
||||
msgstr ""
|
||||
|
||||
|
@ -9248,7 +9447,7 @@ msgid ""
|
|||
"Order of wall/infill. When the tickbox is unchecked the walls are printed "
|
||||
"first, which works best in most cases.\n"
|
||||
"\n"
|
||||
"Printing walls first may help with extreme overhangs as the walls have the "
|
||||
"Printing infill first may help with extreme overhangs as the walls have the "
|
||||
"neighbouring infill to adhere to. However, the infill will slighly push out "
|
||||
"the printed walls where it is attached to them, resulting in a worse "
|
||||
"external surface finish. It can also cause the infill to shine through the "
|
||||
|
@ -9619,7 +9818,7 @@ msgstr ""
|
|||
msgid "(Undefined)"
|
||||
msgstr ""
|
||||
|
||||
msgid "Infill direction"
|
||||
msgid "Sparse infill direction"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
|
@ -9627,6 +9826,20 @@ msgid ""
|
|||
"of line"
|
||||
msgstr ""
|
||||
|
||||
msgid "Solid infill direction"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Angle for solid infill pattern, which controls the start or main direction "
|
||||
"of line"
|
||||
msgstr ""
|
||||
|
||||
msgid "Rotate solid infill direction"
|
||||
msgstr ""
|
||||
|
||||
msgid "Rotate the solid infill direction by 90° for each layer."
|
||||
msgstr ""
|
||||
|
||||
msgid "Sparse infill density"
|
||||
msgstr ""
|
||||
|
||||
|
@ -9915,8 +10128,14 @@ msgid "Arc fitting"
|
|||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Enable this to get a G-code file which has G2 and G3 moves. And the fitting "
|
||||
"tolerance is same with resolution"
|
||||
"Enable this to get a G-code file which has G2 and G3 moves. The fitting "
|
||||
"tolerance is same as the resolution. \n"
|
||||
"\n"
|
||||
"Note: For klipper machines, this option is recomended to be disabled. "
|
||||
"Klipper does not benefit from arc commands as these are split again into "
|
||||
"line segments by the firmware. This results in a reduction in surface "
|
||||
"quality as line segments are converted to arcs by the slicer and then back "
|
||||
"to line segments by the firmware."
|
||||
msgstr ""
|
||||
|
||||
msgid "Add line number"
|
||||
|
@ -10106,9 +10325,24 @@ msgstr ""
|
|||
msgid "Infill/Wall overlap"
|
||||
msgstr ""
|
||||
|
||||
#, no-c-format, no-boost-format
|
||||
msgid ""
|
||||
"Infill area is enlarged slightly to overlap with wall for better bonding. "
|
||||
"The percentage value is relative to line width of sparse infill"
|
||||
"The percentage value is relative to line width of sparse infill. Set this "
|
||||
"value to ~10-15% to minimize potential over extrusion and accumulation of "
|
||||
"material resulting in rough top surfaces."
|
||||
msgstr ""
|
||||
|
||||
msgid "Top/Bottom solid infill/wall overlap"
|
||||
msgstr ""
|
||||
|
||||
#, no-c-format, no-boost-format
|
||||
msgid ""
|
||||
"Top solid infill area is enlarged slightly to overlap with wall for better "
|
||||
"bonding and to minimize the appearance of pinholes where the top infill "
|
||||
"meets the walls. A value of 25-30% is a good starting point, minimising the "
|
||||
"appearance of pinholes. The percentage value is relative to line width of "
|
||||
"sparse infill"
|
||||
msgstr ""
|
||||
|
||||
msgid "Speed of internal sparse infill"
|
||||
|
@ -10971,6 +11205,29 @@ msgstr ""
|
|||
msgid "How many layers of skirt. Usually only one layer"
|
||||
msgstr ""
|
||||
|
||||
msgid "Draft shield"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"A draft shield is useful to protect an ABS or ASA print from warping and "
|
||||
"detaching from print bed due to wind draft. It is usually needed only with "
|
||||
"open frame printers, i.e. without an enclosure. \n"
|
||||
"\n"
|
||||
"Options:\n"
|
||||
"Enabled = skirt is as tall as the highest printed object.\n"
|
||||
"Limited = skirt is as tall as specified by skirt height.\n"
|
||||
"\n"
|
||||
"Note: With the draft shield active, the skirt will be printed at skirt "
|
||||
"distance from the object. Therefore, if brims are active it may intersect "
|
||||
"with them. To avoid this, increase the skirt distance value.\n"
|
||||
msgstr ""
|
||||
|
||||
msgid "Limited"
|
||||
msgstr ""
|
||||
|
||||
msgid "Enabled"
|
||||
msgstr ""
|
||||
|
||||
msgid "Skirt loops"
|
||||
msgstr ""
|
||||
|
||||
|
@ -10983,6 +11240,17 @@ msgstr ""
|
|||
msgid "Speed of skirt, in mm/s. Zero means use default layer extrusion speed."
|
||||
msgstr ""
|
||||
|
||||
msgid "Skirt minimum extrusion length"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Minimum filament extrusion length in mm when printing the skirt. Zero means "
|
||||
"this feature is disabled.\n"
|
||||
"\n"
|
||||
"Using a non zero value is useful if the printer is set up to print without a "
|
||||
"prime line."
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"The printing speed in exported gcode will be slowed down, when the estimated "
|
||||
"layer time is shorter than this value, to get better cooling for these layers"
|
||||
|
@ -11599,6 +11867,31 @@ msgstr ""
|
|||
msgid "Spacing of purge lines on the wipe tower."
|
||||
msgstr ""
|
||||
|
||||
msgid "Maximum wipe tower print speed"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"The maximum print speed when purging in the wipe tower and printing the wipe "
|
||||
"tower sparse layers. When purging, if the sparse infill speed or calculated "
|
||||
"speed from the filament max volumetric speed is lower, the lowest will be "
|
||||
"used instead.\n"
|
||||
"\n"
|
||||
"When printing the sparse layers, if the internal perimeter speed or "
|
||||
"calculated speed from the filament max volumetric speed is lower, the lowest "
|
||||
"will be used instead.\n"
|
||||
"\n"
|
||||
"Increasing this speed may affect the tower's stability as well as increase "
|
||||
"the force with which the nozzle collides with any blobs that may have formed "
|
||||
"on the wipe tower.\n"
|
||||
"\n"
|
||||
"Before increasing this parameter beyond the default of 90mm/sec, make sure "
|
||||
"your printer can reliably bridge at the increased speeds and that ooze when "
|
||||
"tool changing is well controlled.\n"
|
||||
"\n"
|
||||
"For the wipe tower external perimeters the internal perimeter speed is used "
|
||||
"regardless of this setting."
|
||||
msgstr ""
|
||||
|
||||
msgid "Wipe tower extruder"
|
||||
msgstr ""
|
||||
|
||||
|
@ -13248,7 +13541,7 @@ msgstr ""
|
|||
msgid ""
|
||||
"\n"
|
||||
"\n"
|
||||
"Studio has detected that your user presets synchronization function is not "
|
||||
"Orca has detected that your user presets synchronization function is not "
|
||||
"enabled, which may result in unsuccessful Filament settings on the Device "
|
||||
"page. \n"
|
||||
"Click \"Sync user presets\" to enable the synchronization function."
|
||||
|
@ -13257,9 +13550,6 @@ msgstr ""
|
|||
msgid "Printer Setting"
|
||||
msgstr ""
|
||||
|
||||
msgid "Export Configs"
|
||||
msgstr ""
|
||||
|
||||
msgid "Printer config bundle(.orca_printer)"
|
||||
msgstr ""
|
||||
|
||||
|
@ -13415,6 +13705,10 @@ msgstr ""
|
|||
msgid "Daily Tips"
|
||||
msgstr ""
|
||||
|
||||
#, possible-c-format, possible-boost-format
|
||||
msgid "nozzle memorized: %.1f %s"
|
||||
msgstr ""
|
||||
|
||||
msgid ""
|
||||
"Your nozzle diameter in preset is not consistent with memorized nozzle "
|
||||
"diameter. Did you change your nozzle lately?"
|
||||
|
|
BIN
resources/handy_models/3DBenchy.3mf
Normal file
BIN
resources/handy_models/Orca_stringhell.3mf
Normal file
BIN
resources/handy_models/Stanford_Bunny.3mf
Normal file
BIN
resources/handy_models/Voron_Design_Cube_v7.3mf
Normal file
BIN
resources/handy_models/ksr_fdmtest_v4.3mf
Normal file
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V1.5a1,1,0,0,1,1-1h12a1,1,0,0,1,1,1v12a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm3-6h3m2,0h3m-4-4v8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:0.6000000000000001"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V1.5a1,1,0,0,1,1-1h12a1,1,0,0,1,1,1v12a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm3-6h3m2,0h3m-4-4v8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:1"/></svg>
|
Before Width: | Height: | Size: 307 B After Width: | Height: | Size: 290 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V3.5a1,1,0,0,1,1-1h10a1,1,0,0,1,1,1v10a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm13-1a1,1,0,0,0,1-1V1.5a1,1,0,0,0-1-1H3.5a1,1,0,0,0-1,1m0,7h3m2,0h3m-4,4v-8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:0.6000000000000001"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V3.5a1,1,0,0,1,1-1h10a1,1,0,0,1,1,1v10a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm13-1a1,1,0,0,0,1-1V1.5a1,1,0,0,0-1-1H3.5a1,1,0,0,0-1,1m0,7h3m2,0h3m-4,4v-8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:1"/></svg>
|
Before Width: | Height: | Size: 363 B After Width: | Height: | Size: 346 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="1" y="1" width="15" height="15" rx="1.5" style="fill:#009688"/><line x1="3.5" y1="8.5" x2="13.5" y2="8.5" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="0" y="1" width="15" height="15" rx="1.5" style="fill:#009688"/><line x1="2.5" y1="8.5" x2="12.5" y2="8.5" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 278 B After Width: | Height: | Size: 278 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="1" y="1" width="15" height="15" rx="1.5" style="fill:#b3b3b3;opacity:0.3"/><line x1="3.5" y1="8.5" x2="13.5" y2="8.5" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;opacity:0.5"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="0.5" y="1.5" width="14" height="14" rx="1.5" style="stroke:#DBDBDB;fill:#F0F0F1;opacity:1"/><line x1="2.5" y1="8.5" x2="12.5" y2="8.5" style="fill:none;stroke:#262E30;stroke-linecap:round;stroke-linejoin:round;opacity:0.5"/></svg>
|
Before Width: | Height: | Size: 302 B After Width: | Height: | Size: 322 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="1" y="1" width="15" height="15" rx="1.5" style="fill:#4db6ac"/><line x1="3.5" y1="8.5" x2="13.5" y2="8.5" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="0" y="1" width="15" height="15" rx="1.5" style="fill:#4db6ac"/><line x1="2.5" y1="8.5" x2="12.5" y2="8.5" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 278 B After Width: | Height: | Size: 278 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="1.5" y="1.5" width="14" height="14" rx="1" style="fill:none;stroke:#949494;stroke-miterlimit:10;opacity:0.3"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="0.5" y="1.5" width="14" height="14" rx="1" style="fill:none;stroke:#DBDBDB;stroke-miterlimit:10;opacity:1"/></svg>
|
Before Width: | Height: | Size: 208 B After Width: | Height: | Size: 206 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="1" y="1" width="15" height="15" rx="1.5" style="fill:#b3b3b3;opacity:0.3"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="0.5" y="1.5" width="14" height="14" rx="1" style="fill:#F0F0F1;stroke:#DBDBDB;stroke-miterlimit:10;opacity:1"/></svg>
|
Before Width: | Height: | Size: 173 B After Width: | Height: | Size: 209 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="1.5" y="1.5" width="14" height="14" rx="1" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round;opacity:0.5"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="0.5" y="1.5" width="14" height="14" rx="1" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round;opacity:0.5"/></svg>
|
Before Width: | Height: | Size: 230 B After Width: | Height: | Size: 230 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="1" y="1" width="15" height="15" rx="1.5" style="fill:#009688"/><polyline points="13.5 6.5 6.5 11.5 3.5 7.5" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="0" y="1" width="15" height="15" rx="1.5" style="fill:#009688"/><polyline points="12.5 6.5 5.5 11.5 2.5 7.5" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 280 B After Width: | Height: | Size: 280 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="1" y="1" width="15" height="15" rx="1.5" style="fill:#b3b3b3;opacity:0.3"/><polyline points="13.5 6.5 6.5 11.5 3.5 7.5" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round;opacity:0.5"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="0.5" y="1.5" width="14" height="14" rx="1" style="stroke:#DBDBDB;fill:#F0F0F1;opacity:1"/><polyline points="12.5 6.5 5.5 11.5 2.5 7.5" style="fill:none;stroke:#262E30;stroke-linecap:round;stroke-linejoin:round;opacity:0.5"/></svg>
|
Before Width: | Height: | Size: 304 B After Width: | Height: | Size: 322 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="1" y="1" width="15" height="15" rx="1.5" style="fill:#4db6ac"/><polyline points="13.5 6.5 6.5 11.5 3.5 7.5" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><rect x="0" y="1" width="15" height="15" rx="1.5" style="fill:#4db6ac"/><polyline points="12.5 6.5 5.5 11.5 2.5 7.5" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 280 B After Width: | Height: | Size: 280 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><polyline points="13.5 6.5 6.5 11.5 3.5 7.5" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 18 18"><polyline points="14.5 6.5 7.5 11.5 4.5 7.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 208 B After Width: | Height: | Size: 212 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V1.5a1,1,0,0,1,1-1h12a1,1,0,0,1,1,1v12a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm3-6h8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:0.6000000000000001"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V1.5a1,1,0,0,1,1-1h12a1,1,0,0,1,1,1v12a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm3-6h8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:1"/></svg>
|
Before Width: | Height: | Size: 294 B After Width: | Height: | Size: 277 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><line x1="2.5" y1="3.5" x2="2.5" y2="12.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><line x1="4.5" y1="3.5" x2="4.5" y2="12.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><line x1="6.5" y1="3.5" x2="6.5" y2="12.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><rect x="0.5" y="3.5" width="8" height="9" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M13.5.5H1.5a1,1,0,0,0-1,1v2h10a1,1,0,0,1,1,1v8h2a1,1,0,0,0,1-1V1.5A1,1,0,0,0,13.5.5Z" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><line x1="0.5" y1="14.5" x2="14.5" y2="14.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><line x1="2.5" y1="3.5" x2="2.5" y2="12.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><line x1="4.5" y1="3.5" x2="4.5" y2="12.5" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><rect x="0.5" y="3.5" width="6" height="9" style="fill:none;stroke:#009688;stroke-linecap:round;stroke-linejoin:round"/><path d="M13.5.5H1.5a1,1,0,0,0-1,1v2h10a1,1,0,0,1,1,1v8h2a1,1,0,0,0,1-1V1.5A1,1,0,0,0,13.5.5Z" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><line x1="0.5" y1="14.5" x2="14.5" y2="14.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 864 B After Width: | Height: | Size: 744 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><circle cx="8" cy="8" r="6.5" style="fill:none;stroke:#54545a;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 196 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><circle cx="8" cy="8" r="6.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 196 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polygon points="4.25 14.5 11.75 14.5 15.5 8 11.75 1.5 4.25 1.5 0.5 8 4.25 14.5" style="fill:none;stroke:#54545a;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 247 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polygon points="4.25 14.5 11.75 14.5 15.5 8 11.75 1.5 4.25 1.5 0.5 8 4.25 14.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 247 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><rect x="1.5" y="1.5" width="13" height="13" style="fill:none;stroke:#54545a;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 211 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><rect x="1.5" y="1.5" width="13" height="13" style="fill:none;stroke:#cfcfcf;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 211 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polygon points="8 1.5 0.5 14.5 15.5 14.5 8 1.5" style="fill:none;stroke:#54545a;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 215 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polygon points="8 1.5 0.5 14.5 15.5 14.5 8 1.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 215 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V1.5a1,1,0,0,1,1-1h12a1,1,0,0,1,1,1v12a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm3-6h8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:0.6000000000000001"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M.5,13.5V1.5a1,1,0,0,1,1-1h12a1,1,0,0,1,1,1v12a1,1,0,0,1-1,1H1.5A1,1,0,0,1,.5,13.5Zm3-6h8" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:1"/></svg>
|
Before Width: | Height: | Size: 294 B After Width: | Height: | Size: 277 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><polyline points="17.5 10.5 12.5 13.5 7.5 10.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="11.5 6.5 6.5 9.5 1.5 6.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 214 B After Width: | Height: | Size: 210 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M14.5,6.5v7a1,1,0,0,1-1,1H1.5a1,1,0,0,1-1-1V1.5a1,1,0,0,1,1-1h7m-5,9v2h2l8.586-8.586a1.414,1.414,0,0,0-2-2Z" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:0.6000000000000001"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M14.5,6.5v7a1,1,0,0,1-1,1H1.5a1,1,0,0,1-1-1V1.5a1,1,0,0,1,1-1h7m-5,9v2h2l8.586-8.586a1.414,1.414,0,0,0-2-2Z" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:1"/></svg>
|
Before Width: | Height: | Size: 312 B After Width: | Height: | Size: 295 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M14.5,6.5v7a1,1,0,0,1-1,1H1.5a1,1,0,0,1-1-1V1.5a1,1,0,0,1,1-1h7m-5,9v2h2l8.586-8.586a1.414,1.414,0,0,0-2-2Z" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:0.6000000000000001"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M14.5,6.5v7a1,1,0,0,1-1,1H1.5a1,1,0,0,1-1-1V1.5a1,1,0,0,1,1-1h7m-5,9v2h2l8.586-8.586a1.414,1.414,0,0,0-2-2Z" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-linejoin:round;opacity:1"/></svg>
|
Before Width: | Height: | Size: 312 B After Width: | Height: | Size: 295 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M11.5.5H.5v11a11,11,0,0,0,11-11" style="fill:#009688"/><path d="M10.5,15.5h5v-5a5,5,0,0,0-5,5" style="fill:#009688"/><path d="M.5,11.5a11,11,0,0,0,11-11" style="fill:none;stroke:#54545a;stroke-miterlimit:10"/><path d="M15.5,10.5a5,5,0,0,0-5,5" style="fill:none;stroke:#54545a;stroke-miterlimit:10"/><rect x="0.5" y="0.5" width="15" height="15" transform="translate(16 16) rotate(180)" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="15 11 7 15 3 9 14 9 15 11" style="fill:#009688"/><polygon points="1.5 5.5 10.5 0.5 15.5 10.5 6.5 15.5 1.5 5.5" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/><line x1="8.5" y1="6.5" x2="13.5" y2="0.5" style="fill:none;stroke:#54545a;stroke-linecap:round;stroke-linejoin:round"/><path d="M1.5,11S3,13,3,14c0,2-.948,2-1.5,2S0,16,0,14C0,13,1.5,11,1.5,11Z" style="fill:#009688"/></svg>
|
Before Width: | Height: | Size: 561 B After Width: | Height: | Size: 513 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M10.5,15.5h5v-5a5,5,0,0,0-5,5" style="fill:#009688"/><path d="M11.5.5H.5v11a11,11,0,0,0,11-11" style="fill:#009688"/><path d="M15.5,10.5a5,5,0,0,0-5,5" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/><path d="M.5,11.5a11,11,0,0,0,11-11" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/><rect x="0.5" y="0.5" width="15" height="15" transform="translate(16 16) rotate(180)" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polyline points="15 11 7 15 3 9 14 9 15 11" style="fill:#009688"/><polygon points="1.5 5.5 10.5 0.5 15.5 10.5 6.5 15.5 1.5 5.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/><line x1="8.5" y1="6.5" x2="13.5" y2="0.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:round;stroke-linejoin:round"/><path d="M1.5,11S3,13,3,14c0,2-.948,2-1.5,2S0,16,0,14C0,13,1.5,11,1.5,11Z" style="fill:#009688"/></svg>
|
Before Width: | Height: | Size: 607 B After Width: | Height: | Size: 513 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><line x1="0.5" y1="3.5" x2="4.5" y2="3.5" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/><line x1="11.5" y1="3.5" x2="15.5" y2="3.5" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/><line x1="6.5" y1="3.5" x2="9.5" y2="3.5" style="fill:none;stroke:#009689;stroke-linecap:square;stroke-linejoin:round"/><line x1="0.5" y1="9.5" x2="2.5" y2="9.5" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/><line x1="8.5" y1="9.5" x2="15.5" y2="9.5" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/><line x1="4.5" y1="9.5" x2="6.5" y2="9.5" style="fill:none;stroke:#009689;stroke-linecap:square;stroke-linejoin:round"/><line x1="0.5" y1="12.5" x2="8.5" y2="12.5" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/><line x1="14.5" y1="12.5" x2="15.5" y2="12.5" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/><line x1="10.5" y1="12.5" x2="12.5" y2="12.5" style="fill:none;stroke:#009689;stroke-linecap:square;stroke-linejoin:round"/><line x1="0.5" y1="6.5" x2="15.5" y2="6.5" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/><line x1="0.5" y1="0.5" x2="15.5" y2="0.5" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/><line x1="0.5" y1="15.5" x2="15.5" y2="15.5" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polygon points="8 0 0 0 0 6 8 0" style="fill:#009688"/><polygon points="16 7 10 0 7 6 16 7" style="fill:#009688"/><polygon points="2 8 13 11 5 16 2 8" style="fill:#009688"/><rect x="0.5" y="0.5" width="15" height="15" transform="translate(16 16) rotate(180)" style="fill:none;stroke:#54545a;stroke-linecap:square;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 427 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><line x1="0.5" y1="3.5" x2="4.5" y2="3.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/><line x1="11.5" y1="3.5" x2="15.5" y2="3.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/><line x1="6.5" y1="3.5" x2="9.5" y2="3.5" style="fill:none;stroke:#009688;stroke-linecap:square;stroke-linejoin:round"/><line x1="0.5" y1="9.5" x2="2.5" y2="9.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/><line x1="8.5" y1="9.5" x2="15.5" y2="9.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/><line x1="4.5" y1="9.5" x2="6.5" y2="9.5" style="fill:none;stroke:#009688;stroke-linecap:square;stroke-linejoin:round"/><line x1="0.5" y1="12.5" x2="8.5" y2="12.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/><line x1="14.5" y1="12.5" x2="15.5" y2="12.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/><line x1="10.5" y1="12.5" x2="12.5" y2="12.5" style="fill:none;stroke:#009688;stroke-linecap:square;stroke-linejoin:round"/><line x1="0.5" y1="6.5" x2="15.5" y2="6.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/><line x1="0.5" y1="0.5" x2="15.5" y2="0.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/><line x1="0.5" y1="15.5" x2="15.5" y2="15.5" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><polygon points="8 0 0 0 0 6 8 0" style="fill:#009688"/><polygon points="16 7 10 0 7 6 16 7" style="fill:#009688"/><polygon points="2 8 13 11 5 16 2 8" style="fill:#009688"/><rect x="0.5" y="0.5" width="15" height="15" transform="translate(16 16) rotate(180)" style="fill:none;stroke:#cfcfcf;stroke-linecap:square;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 1.5 KiB After Width: | Height: | Size: 427 B |
1
resources/images/inputbox_x.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><line x1="4.5" y1="3.5" x2="10.5" y2="12.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><line x1="10.5" y1="3.5" x2="4.5" y2="12.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
After Width: | Height: | Size: 331 B |
1
resources/images/inputbox_y.svg
Normal file
|
@ -0,0 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><line x1="4.5" y1="3.5" x2="7.5" y2="8.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><line x1="10.5" y1="3.5" x2="7.5" y2="8.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/><line x1="7.5" y1="8.5" x2="7.5" y2="12.5" style="fill:none;stroke:#949494;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
After Width: | Height: | Size: 448 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="15" height="15" viewBox="0 0 15 15"><path d="M14.5,6.5v7a1,1,0,0,1-1,1H1.5a1,1,0,0,1-1-1V1.5a1,1,0,0,1,1-1h7m-5,9v2h2l8.586-8.586a1.414,1.414,0,0,0-2-2Z" style="fill:none;stroke:#000;stroke-linecap:square;stroke-linejoin:round;opacity:0.6000000000000001"/></svg>
|
Before Width: | Height: | Size: 309 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M12,1a3,3,0,0,1,3,3v8a3,3,0,0,1-3,3H4a3,3,0,0,1-3-3V4A3,3,0,0,1,4,1h8m0-1H4A4,4,0,0,0,0,4v8a4,4,0,0,0,4,4h8a4,4,0,0,0,4-4V4a4,4,0,0,0-4-4Z" style="fill:#949494"/><line x1="5.5" y1="11.5" x2="5.5" y2="5.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-miterlimit:10"/><line x1="6.5" y1="4.5" x2="9.5" y2="4.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-miterlimit:10"/><line x1="6.5" y1="8.5" x2="9.5" y2="8.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-miterlimit:10"/><line x1="10.5" y1="5.5" x2="10.5" y2="11.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-miterlimit:10"/></svg>
|
Before Width: | Height: | Size: 740 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M12,1a3,3,0,0,1,3,3v8a3,3,0,0,1-3,3H4a3,3,0,0,1-3-3V4A3,3,0,0,1,4,1h8m0-1H4A4,4,0,0,0,0,4v8a4,4,0,0,0,4,4h8a4,4,0,0,0,4-4V4a4,4,0,0,0-4-4Z" style="fill:#949494"/><line x1="5.5" y1="11.5" x2="5.5" y2="5.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-miterlimit:10"/><line x1="5.5" y1="4.5" x2="8.5" y2="4.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-miterlimit:10"/><line x1="5.5" y1="7.5" x2="9.5" y2="7.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-miterlimit:10"/><line x1="6.5" y1="11.5" x2="9.5" y2="11.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-miterlimit:10"/><line x1="9.5" y1="5.5" x2="9.5" y2="6.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-miterlimit:10"/><line x1="10.5" y1="8.5" x2="10.5" y2="10.5" style="fill:none;stroke:#949494;stroke-linecap:square;stroke-miterlimit:10"/></svg>
|
Before Width: | Height: | Size: 980 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M15,5V15H5V5H15m0-1H5A1,1,0,0,0,4,5V15a1,1,0,0,0,1,1H15a1,1,0,0,0,1-1V5a1,1,0,0,0-1-1Z" style="fill:#54545a"/><path d="M11,1V4H6A2,2,0,0,0,4,6v5H1V1H11m0-1H1A1,1,0,0,0,0,1V11a1,1,0,0,0,1,1H5V6A1,1,0,0,1,6,5h6V1a1,1,0,0,0-1-1Z" style="fill:#54545a"/><g style="opacity:0.4"><path d="M11,1H1V11H4V5A1,1,0,0,1,5,4h6Z" style="fill:#54545a"/></g></svg>
|
Before Width: | Height: | Size: 438 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M15,5V15H5V5H15m0-1H5A1,1,0,0,0,4,5V15a1,1,0,0,0,1,1H15a1,1,0,0,0,1-1V5a1,1,0,0,0-1-1Z" style="fill:#cfcfcf"/><path d="M11,1V4H6A2,2,0,0,0,4,6v5H1V1H11m0-1H1A1,1,0,0,0,0,1V11a1,1,0,0,0,1,1H5V6A1,1,0,0,1,6,5h6V1a1,1,0,0,0-1-1Z" style="fill:#cfcfcf"/><g style="opacity:0.4"><path d="M11,1H1V11H4V5A1,1,0,0,1,5,4h6Z" style="fill:#cfcfcf"/></g></svg>
|
Before Width: | Height: | Size: 438 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M11,1V11H1V1H11m0-1H1A1,1,0,0,0,0,1V11a1,1,0,0,0,1,1H11a1,1,0,0,0,1-1V1a1,1,0,0,0-1-1Z" style="fill:#54545a"/><path d="M15,5V15H5V5H15m0-1H5A1,1,0,0,0,4,5V15a1,1,0,0,0,1,1H15a1,1,0,0,0,1-1V5a1,1,0,0,0-1-1Z" style="fill:#54545a"/><g style="opacity:0.4"><rect x="5" y="5" width="6" height="6" style="fill:#54545a"/></g></svg>
|
Before Width: | Height: | Size: 415 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M11,1V11H1V1H11m0-1H1A1,1,0,0,0,0,1V11a1,1,0,0,0,1,1H11a1,1,0,0,0,1-1V1a1,1,0,0,0-1-1Z" style="fill:#cfcfcf"/><path d="M15,5V15H5V5H15m0-1H5A1,1,0,0,0,4,5V15a1,1,0,0,0,1,1H15a1,1,0,0,0,1-1V5a1,1,0,0,0-1-1Z" style="fill:#cfcfcf"/><g style="opacity:0.4"><rect x="5" y="5" width="6" height="6" style="fill:#cfcfcf"/></g></svg>
|
Before Width: | Height: | Size: 415 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g style="opacity:0.4"><path d="M15,5V15H5V5H15m0-1H5A1,1,0,0,0,4,5V15a1,1,0,0,0,1,1H15a1,1,0,0,0,1-1V5a1,1,0,0,0-1-1Z" style="fill:#949494"/></g><path d="M5,4A1,1,0,0,0,4,5v7H1a1,1,0,0,1-1-1V1A1,1,0,0,1,1,0H11a1,1,0,0,1,1,1V4Z" style="fill:#949494"/></svg>
|
Before Width: | Height: | Size: 340 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path d="M15,5V15H5V5H15m0-1H5A1,1,0,0,0,4,5V15a1,1,0,0,0,1,1H15a1,1,0,0,0,1-1V5a1,1,0,0,0-1-1Z" style="fill:#949494"/><g style="opacity:0.4"><path d="M5,4A1,1,0,0,0,4,5v7H1a1,1,0,0,1-1-1V1A1,1,0,0,1,1,0H11a1,1,0,0,1,1,1V4Z" style="fill:#949494"/></g><line x1="7.5" y1="7.5" x2="12.5" y2="12.5" style="fill:none;stroke:#949494;stroke-miterlimit:10"/><line x1="12.5" y1="7.5" x2="7.5" y2="12.5" style="fill:none;stroke:#949494;stroke-miterlimit:10"/></svg>
|
Before Width: | Height: | Size: 538 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g style="opacity:0.4"><polygon points="11 5 11 1 1 1 1 11 5 11 5 15 15 15 15 5 11 5" style="fill:#54545a"/></g><path d="M11,1V5h4V15H5V11H1V1H11m0-1H1A1,1,0,0,0,0,1V11a1,1,0,0,0,1,1H4v3a1,1,0,0,0,1,1H15a1,1,0,0,0,1-1V5a1,1,0,0,0-1-1H12V1a1,1,0,0,0-1-1Z" style="fill:#54545a"/></svg>
|
Before Width: | Height: | Size: 366 B |
|
@ -1 +0,0 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><g style="opacity:0.4"><polygon points="11 5 11 1 1 1 1 11 5 11 5 15 15 15 15 5 11 5" style="fill:#cfcfcf"/></g><path d="M11,1V5h4V15H5V11H1V1H11m0-1H1A1,1,0,0,0,0,1V11a1,1,0,0,0,1,1H4v3a1,1,0,0,0,1,1H15a1,1,0,0,0,1-1V5a1,1,0,0,0-1-1H12V1a1,1,0,0,0-1-1Z" style="fill:#cfcfcf"/></svg>
|
Before Width: | Height: | Size: 366 B |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><rect x="19" y="20" width="1" height="1" style="fill:#009688"/><rect x="19" y="22" width="1" height="1" style="fill:#009688"/><rect x="19" y="24" width="1" height="1" style="fill:#009688"/><rect x="19" y="26" width="1" height="1" style="fill:#009688"/><rect x="19" y="18" width="1" height="1" style="fill:#009688"/><rect x="30" y="21" width="2" height="3" rx="0.5" style="fill:#009688"/><path d="M27.5,27a.5.5,0,0,1-.354-.854l3-3a.5.5,0,0,1,.708.708l-3,3A.5.5,0,0,1,27.5,27Z" style="fill:#009688"/><path d="M34.5,27a.5.5,0,0,1-.354-.146l-3-3a.5.5,0,0,1,.708-.708l3,3A.5.5,0,0,1,34.5,27Z" style="fill:#009688"/><path d="M33.5,35h-5A1.5,1.5,0,0,1,27,33.5v-7a.5.5,0,0,1,1,0v7a.5.5,0,0,0,.5.5h5a.5.5,0,0,0,.5-.5v-7a.5.5,0,0,1,1,0v7A1.5,1.5,0,0,1,33.5,35Z" style="fill:#009688"/><path d="M34.5,27h-7a.5.5,0,0,1,0-1h7a.5.5,0,0,1,0,1Z" style="fill:#009688"/><rect x="27" y="22" width="1" height="1" style="fill:#009688"/><rect x="25" y="21" width="1" height="1" style="fill:#009688"/><rect x="25" y="23" width="1" height="1" style="fill:#009688"/><rect x="23" y="22" width="1" height="1" style="fill:#009688"/><rect x="23" y="24" width="1" height="1" style="fill:#009688"/><rect x="23" y="20" width="1" height="1" style="fill:#009688"/><rect x="21" y="21" width="1" height="1" style="fill:#009688"/><rect x="21" y="23" width="1" height="1" style="fill:#009688"/><rect x="21" y="25" width="1" height="1" style="fill:#009688"/><rect x="21" y="19" width="1" height="1" style="fill:#009688"/><path d="M34.5,19a.5.5,0,0,1-.5-.5v-6a.5.5,0,0,1,1,0v6A.5.5,0,0,1,34.5,19Z" style="fill:#009688"/><path d="M34.5,13a.5.5,0,0,1-.5-.5v-7a.5.5,0,0,0-.5-.5H5.5a.5.5,0,0,0-.5.5v7a.5.5,0,0,1-1,0v-7A1.5,1.5,0,0,1,5.5,4h28A1.5,1.5,0,0,1,35,5.5v7A.5.5,0,0,1,34.5,13Z" style="fill:#2b3436"/><path d="M23.5,35H5.5A1.5,1.5,0,0,1,4,33.5v-21a.5.5,0,0,1,1,0v21a.5.5,0,0,0,.5.5h18a.5.5,0,0,1,0,1Z" style="fill:#009688"/><path d="M13.5,31A1.5,1.5,0,1,1,15,29.5,1.5,1.5,0,0,1,13.5,31Zm0-2a.5.5,0,1,0,.5.5A.5.5,0,0,0,13.5,29Z" style="fill:#009688"/><path d="M10.5,24A2.5,2.5,0,1,1,13,21.5,2.5,2.5,0,0,1,10.5,24Zm0-4A1.5,1.5,0,1,0,12,21.5,1.5,1.5,0,0,0,10.5,20Z" style="fill:#009688"/><path d="M28.919,15c-2.773,0-5.51-1.29-7.667-2.521C17.885,10.559,11.266,8,4.783,12.458l-.412.283-.566-.824.412-.283c7.192-4.943,14.656-1.66,17.531-.023,3.739,2.134,8.525,4.071,12.393.087l.348-.359.718.7-.348.359A8,8,0,0,1,28.919,15Z" style="fill:#009688"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><rect x="31" y="23" width="2" height="2" rx="0.5" style="fill:#009688"/><path d="M29.5,27a.5.5,0,0,1-.354-.854l2-2a.5.5,0,0,1,.708.708l-2,2A.5.5,0,0,1,29.5,27Z" style="fill:#009688"/><path d="M34.5,27a.5.5,0,0,1-.354-.146l-2-2a.5.5,0,0,1,.708-.708l2,2A.5.5,0,0,1,34.5,27Z" style="fill:#009688"/><path d="M33.5,35h-3A1.5,1.5,0,0,1,29,33.5v-7a.5.5,0,0,1,1,0v7a.5.5,0,0,0,.5.5h3a.5.5,0,0,0,.5-.5v-7a.5.5,0,0,1,1,0v7A1.5,1.5,0,0,1,33.5,35Z" style="fill:#009688"/><path d="M34.5,27h-5a.5.5,0,0,1,0-1h5a.5.5,0,0,1,0,1Z" style="fill:#009688"/><rect x="28" y="23" width="1" height="1" style="fill:#009688"/><rect x="26" y="22" width="1" height="1" style="fill:#009688"/><rect x="26" y="24" width="1" height="1" style="fill:#009688"/><rect x="24" y="23" width="1" height="1" style="fill:#009688"/><rect x="24" y="25" width="1" height="1" style="fill:#009688"/><rect x="24" y="21" width="1" height="1" style="fill:#009688"/><rect x="22" y="22" width="1" height="1" style="fill:#009688"/><rect x="22" y="24" width="1" height="1" style="fill:#009688"/><rect x="22" y="26" width="1" height="1" style="fill:#009688"/><rect x="22" y="20" width="1" height="1" style="fill:#009688"/><path d="M34.5,22a.5.5,0,0,1-.5-.5v-9a.5.5,0,0,1,1,0v9A.5.5,0,0,1,34.5,22Z" style="fill:#009688"/><path d="M34.5,13a.5.5,0,0,1-.5-.5v-7a.5.5,0,0,0-.5-.5H5.5a.5.5,0,0,0-.5.5v6a.5.5,0,0,1-1,0v-6A1.5,1.5,0,0,1,5.5,4h28A1.5,1.5,0,0,1,35,5.5v7A.5.5,0,0,1,34.5,13Z" style="fill:#2b3436"/><path d="M26.5,35H5.5A1.5,1.5,0,0,1,4,33.5v-22a.5.5,0,0,1,1,0v22a.5.5,0,0,0,.5.5h21a.5.5,0,0,1,0,1Z" style="fill:#009688"/><path d="M12.5,31A1.5,1.5,0,1,1,14,29.5,1.5,1.5,0,0,1,12.5,31Zm0-2a.5.5,0,1,0,.5.5A.5.5,0,0,0,12.5,29Z" style="fill:#009688"/><path d="M10.5,26A2.5,2.5,0,1,1,13,23.5,2.5,2.5,0,0,1,10.5,26Zm0-4A1.5,1.5,0,1,0,12,23.5,1.5,1.5,0,0,0,10.5,22Z" style="fill:#009688"/><path d="M28.919,15c-2.773,0-5.51-1.29-7.667-2.521C17.885,10.56,11.269,8,4.783,12.458a.5.5,0,1,1-.566-.824c7.194-4.944,14.656-1.662,17.531-.022,3.739,2.133,8.524,4.07,12.394.086a.5.5,0,1,1,.716.7A8,8,0,0,1,28.919,15Z" style="fill:#009688"/></svg>
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.1 KiB |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><rect x="19" y="20" width="1" height="1" style="fill:#009688"/><rect x="19" y="22" width="1" height="1" style="fill:#009688"/><rect x="19" y="24" width="1" height="1" style="fill:#009688"/><rect x="19" y="26" width="1" height="1" style="fill:#009688"/><rect x="19" y="18" width="1" height="1" style="fill:#009688"/><rect x="30" y="21" width="2" height="3" rx="0.5" style="fill:#009688"/><path d="M27.5,27a.5.5,0,0,1-.354-.854l3-3a.5.5,0,0,1,.708.708l-3,3A.5.5,0,0,1,27.5,27Z" style="fill:#009688"/><path d="M34.5,27a.5.5,0,0,1-.354-.146l-3-3a.5.5,0,0,1,.708-.708l3,3A.5.5,0,0,1,34.5,27Z" style="fill:#009688"/><path d="M33.5,35h-5A1.5,1.5,0,0,1,27,33.5v-7a.5.5,0,0,1,1,0v7a.5.5,0,0,0,.5.5h5a.5.5,0,0,0,.5-.5v-7a.5.5,0,0,1,1,0v7A1.5,1.5,0,0,1,33.5,35Z" style="fill:#009688"/><path d="M34.5,27h-7a.5.5,0,0,1,0-1h7a.5.5,0,0,1,0,1Z" style="fill:#009688"/><rect x="27" y="22" width="1" height="1" style="fill:#009688"/><rect x="25" y="21" width="1" height="1" style="fill:#009688"/><rect x="25" y="23" width="1" height="1" style="fill:#009688"/><rect x="23" y="22" width="1" height="1" style="fill:#009688"/><rect x="23" y="24" width="1" height="1" style="fill:#009688"/><rect x="23" y="20" width="1" height="1" style="fill:#009688"/><rect x="21" y="21" width="1" height="1" style="fill:#009688"/><rect x="21" y="23" width="1" height="1" style="fill:#009688"/><rect x="21" y="25" width="1" height="1" style="fill:#009688"/><rect x="21" y="19" width="1" height="1" style="fill:#009688"/><path d="M34.5,19a.5.5,0,0,1-.5-.5v-6a.5.5,0,0,1,1,0v6A.5.5,0,0,1,34.5,19Z" style="fill:#009688"/><path d="M34.5,13a.5.5,0,0,1-.5-.5v-7a.5.5,0,0,0-.5-.5H5.5a.5.5,0,0,0-.5.5v7a.5.5,0,0,1-1,0v-7A1.5,1.5,0,0,1,5.5,4h28A1.5,1.5,0,0,1,35,5.5v7A.5.5,0,0,1,34.5,13Z" style="fill:#b6b6b6"/><path d="M23.5,35H5.5A1.5,1.5,0,0,1,4,33.5v-21a.5.5,0,0,1,1,0v21a.5.5,0,0,0,.5.5h18a.5.5,0,0,1,0,1Z" style="fill:#009688"/><path d="M13.5,31A1.5,1.5,0,1,1,15,29.5,1.5,1.5,0,0,1,13.5,31Zm0-2a.5.5,0,1,0,.5.5A.5.5,0,0,0,13.5,29Z" style="fill:#009688"/><path d="M10.5,24A2.5,2.5,0,1,1,13,21.5,2.5,2.5,0,0,1,10.5,24Zm0-4A1.5,1.5,0,1,0,12,21.5,1.5,1.5,0,0,0,10.5,20Z" style="fill:#009688"/><path d="M28.919,15c-2.773,0-5.51-1.29-7.667-2.521C17.885,10.56,11.269,8,4.783,12.458l-.412.284-.566-.825.412-.283c7.194-4.944,14.656-1.662,17.531-.022,3.739,2.133,8.524,4.07,12.394.086l.347-.359.718.7-.349.359A8,8,0,0,1,28.919,15Z" style="fill:#009688"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="40" height="40" viewBox="0 0 40 40"><rect x="31" y="23" width="2" height="2" rx="0.5" style="fill:#009688"/><path d="M29.5,27a.5.5,0,0,1-.354-.854l2-2a.5.5,0,0,1,.708.708l-2,2A.5.5,0,0,1,29.5,27Z" style="fill:#009688"/><path d="M34.5,27a.5.5,0,0,1-.354-.146l-2-2a.5.5,0,0,1,.708-.708l2,2A.5.5,0,0,1,34.5,27Z" style="fill:#009688"/><path d="M33.5,35h-3A1.5,1.5,0,0,1,29,33.5v-7a.5.5,0,0,1,1,0v7a.5.5,0,0,0,.5.5h3a.5.5,0,0,0,.5-.5v-7a.5.5,0,0,1,1,0v7A1.5,1.5,0,0,1,33.5,35Z" style="fill:#009688"/><path d="M34.5,27h-5a.5.5,0,0,1,0-1h5a.5.5,0,0,1,0,1Z" style="fill:#009688"/><rect x="28" y="23" width="1" height="1" style="fill:#009688"/><rect x="26" y="22" width="1" height="1" style="fill:#009688"/><rect x="26" y="24" width="1" height="1" style="fill:#009688"/><rect x="24" y="23" width="1" height="1" style="fill:#009688"/><rect x="24" y="25" width="1" height="1" style="fill:#009688"/><rect x="24" y="21" width="1" height="1" style="fill:#009688"/><rect x="22" y="22" width="1" height="1" style="fill:#009688"/><rect x="22" y="24" width="1" height="1" style="fill:#009688"/><rect x="22" y="26" width="1" height="1" style="fill:#009688"/><rect x="22" y="20" width="1" height="1" style="fill:#009688"/><path d="M34.5,22a.5.5,0,0,1-.5-.5v-9a.5.5,0,0,1,1,0v9A.5.5,0,0,1,34.5,22Z" style="fill:#009688"/><path d="M34.5,13a.5.5,0,0,1-.5-.5v-7a.5.5,0,0,0-.5-.5H5.5a.5.5,0,0,0-.5.5v6a.5.5,0,0,1-1,0v-6A1.5,1.5,0,0,1,5.5,4h28A1.5,1.5,0,0,1,35,5.5v7A.5.5,0,0,1,34.5,13Z" style="fill:#b6b6b6"/><path d="M26.5,35H5.5A1.5,1.5,0,0,1,4,33.5v-22a.5.5,0,0,1,1,0v22a.5.5,0,0,0,.5.5h21a.5.5,0,0,1,0,1Z" style="fill:#009688"/><path d="M12.5,31A1.5,1.5,0,1,1,14,29.5,1.5,1.5,0,0,1,12.5,31Zm0-2a.5.5,0,1,0,.5.5A.5.5,0,0,0,12.5,29Z" style="fill:#009688"/><path d="M10.5,26A2.5,2.5,0,1,1,13,23.5,2.5,2.5,0,0,1,10.5,26Zm0-4A1.5,1.5,0,1,0,12,23.5,1.5,1.5,0,0,0,10.5,22Z" style="fill:#009688"/><path d="M28.919,15c-2.773,0-5.51-1.29-7.667-2.521C17.885,10.56,11.269,8,4.783,12.458a.5.5,0,1,1-.566-.824c7.194-4.944,14.656-1.662,17.531-.022,3.739,2.133,8.524,4.07,12.394.086a.5.5,0,1,1,.716.7A8,8,0,0,1,28.919,15Z" style="fill:#009688"/></svg>
|
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.1 KiB |
|
@ -1 +1 @@
|
|||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 16"><polyline points="3.604 11.354 8.604 9.354 13.604 11.354" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/><polyline points="3.604 6.354 8.604 4.354 13.604 6.354" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="14" height="16" viewBox="0 0 14 16"><polyline points="13.604 4.354 8.604 6.354 3.604 4.354" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/><polyline points="13.604 9.354 8.604 11.354 3.604 9.354" style="fill:none;stroke:#fff;stroke-linecap:round;stroke-linejoin:round"/></svg>
|
Before Width: | Height: | Size: 351 B After Width: | Height: | Size: 350 B |