Compare commits
83 Commits
v2.00.03.5
...
v2.04.01.1
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
17514949c7 | ||
|
|
f4ceb61f09 | ||
|
|
6fbf2cf4b4 | ||
|
|
43b1e29445 | ||
|
|
1c2612e116 | ||
|
|
96353b9c70 | ||
|
|
1c213cf00c | ||
|
|
682d7fa8c2 | ||
|
|
984eab839f | ||
|
|
97dcb7faee | ||
|
|
07f3f57ff9 | ||
|
|
af515a1dd8 | ||
|
|
0d7743b677 | ||
|
|
671ddc1a6a | ||
|
|
2ed80815f0 | ||
|
|
37c90ca9ab | ||
|
|
a7c46d239e | ||
|
|
0235484d93 | ||
|
|
6d18e77544 | ||
|
|
374619bf24 | ||
|
|
79257f9f9c | ||
|
|
a8f256aaa0 | ||
|
|
c94ff49059 | ||
|
|
5d5b4e9d63 | ||
|
|
7f8ce1141c | ||
|
|
c23ce3c50a | ||
|
|
1a5e691672 | ||
|
|
1078fe3389 | ||
|
|
50572b196e | ||
|
|
69be99b00a | ||
|
|
328f91afc2 | ||
|
|
408593c742 | ||
|
|
e2c100f32d | ||
|
|
d68307db4f | ||
|
|
0acf5a33a2 | ||
|
|
923263352a | ||
|
|
8cdbd765df | ||
|
|
8ce31ed7e1 | ||
|
|
2809d34cb6 | ||
|
|
82268132e9 | ||
|
|
81ea36fdd8 | ||
|
|
96cf7d2194 | ||
|
|
7878c0d2f4 | ||
|
|
6db0e20de9 | ||
|
|
300b4e046d | ||
|
|
9ffbc2c959 | ||
|
|
d8620a4d4d | ||
|
|
6b46f9fd48 | ||
|
|
71252cf326 | ||
|
|
6ec016a6f8 | ||
|
|
8177bf8912 | ||
|
|
523aea89af | ||
|
|
f16489db9c | ||
|
|
56232999f5 | ||
|
|
4648145b67 | ||
|
|
89a8103bad | ||
|
|
5cdfef9f9e | ||
|
|
0c78224f1a | ||
|
|
eec6d77112 | ||
|
|
72a3a1e841 | ||
|
|
87acaa14f7 | ||
|
|
dab82d0248 | ||
|
|
15dd71693d | ||
|
|
2fa18f50c6 | ||
|
|
38c3592758 | ||
|
|
8a68adb427 | ||
|
|
661b112a68 | ||
|
|
8d4d60ec48 | ||
|
|
e3f49c2fb5 | ||
|
|
5effa59bd0 | ||
|
|
8ed41b9f06 | ||
|
|
fc0a06deaa | ||
|
|
a253e093f8 | ||
|
|
64806161f0 | ||
|
|
4dadec668b | ||
|
|
eb7e027385 | ||
|
|
7f04d94ea1 | ||
|
|
f60592f1a0 | ||
|
|
e0d447172c | ||
|
|
bafe693d0a | ||
|
|
c56a6849eb | ||
|
|
e8c9baa840 | ||
|
|
688396a0a0 |
148
.github/workflows/main.yml
vendored
Normal file
@@ -0,0 +1,148 @@
|
|||||||
|
name: QIDIStudio-CI
|
||||||
|
|
||||||
|
on: [push, pull_request]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
main:
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
os: [ubuntu-latest, windows-2022, macos-15-intel]
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- name: Setup MSBUILD
|
||||||
|
if: startsWith(matrix.os, 'windows-')
|
||||||
|
uses: microsoft/setup-msbuild@v2
|
||||||
|
with:
|
||||||
|
vs-version: '[17.0,18.0)'
|
||||||
|
|
||||||
|
- name: Setup libraries on linux
|
||||||
|
if: startsWith(matrix.os, 'ubuntu-')
|
||||||
|
run: |
|
||||||
|
sudo apt-get update
|
||||||
|
sudo apt-get install -y \
|
||||||
|
build-essential \
|
||||||
|
cmake \
|
||||||
|
extra-cmake-modules \
|
||||||
|
libglu1-mesa-dev \
|
||||||
|
libgtk-3-dev \
|
||||||
|
libdbus-1-dev \
|
||||||
|
libwebkit2gtk-4.1-dev \
|
||||||
|
libboost*1.74-dev \
|
||||||
|
libglfw3-dev \
|
||||||
|
libnlopt*-dev \
|
||||||
|
libtbb-dev \
|
||||||
|
nasm \
|
||||||
|
libgstreamer1.0-dev \
|
||||||
|
libgstreamer-plugins-base1.0-dev \
|
||||||
|
libgstreamer-plugins-bad1.0-dev \
|
||||||
|
libcurl4-openssl-dev \
|
||||||
|
libosmesa6-dev
|
||||||
|
|
||||||
|
- name: Setup libraries on Mac
|
||||||
|
if: startsWith(matrix.os, 'macos-')
|
||||||
|
run: |
|
||||||
|
brew update
|
||||||
|
export HOMEBREW_NO_INSTALL_FROM_API=1
|
||||||
|
sed -i '' -e 's/disable!/#disable!/' /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/i/icu4c@74.rb
|
||||||
|
curl https://raw.githubusercontent.com/Homebrew/homebrew-core/aba405a30fa1a608a12adeb56bea8e1c5975a42d/Formula/b/boost%401.76.rb > /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/b/boost@1.76.rb
|
||||||
|
sed -i '' -e 's#https://boostorg.jfrog.io/artifactory/main/release/1.76.0/source/boost_1_76_0.tar.bz2#https://archives.boost.io/release/1.76.0/source/boost_1_76_0.tar.bz2#' /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core/Formula/b/boost@1.76.rb
|
||||||
|
brew install \
|
||||||
|
icu4c@74 \
|
||||||
|
boost@1.76 \
|
||||||
|
automake \
|
||||||
|
git \
|
||||||
|
nasm \
|
||||||
|
tbb \
|
||||||
|
texinfo \
|
||||||
|
zlib
|
||||||
|
|
||||||
|
- name: Setup PkgConfig
|
||||||
|
if: startsWith(matrix.os, 'windows-')
|
||||||
|
run: choco install pkgconfiglite -y
|
||||||
|
|
||||||
|
- name: Setup CMake
|
||||||
|
uses: ssrobins/install-cmake@v1
|
||||||
|
with:
|
||||||
|
version: 3.31.6
|
||||||
|
|
||||||
|
- name: Setup Perl
|
||||||
|
uses: shogo82148/actions-setup-perl@v1.36.0
|
||||||
|
|
||||||
|
- name: Checkout code
|
||||||
|
uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Build Dependencies on Windows
|
||||||
|
if: startsWith(matrix.os, 'windows-')
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
set CMAKE_TLS_VERIFY=0
|
||||||
|
cd deps
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
mkdir QIDIStudio_dep
|
||||||
|
cmake ../ -G "Visual Studio 17 2022" -DDESTDIR="./QIDIStudio_dep" -DCMAKE_BUILD_TYPE=Release
|
||||||
|
msbuild /m ALL_BUILD.vcxproj
|
||||||
|
|
||||||
|
- name: Build QIDI Studio on Windows
|
||||||
|
if: startsWith(matrix.os, 'windows-')
|
||||||
|
shell: cmd
|
||||||
|
run: |
|
||||||
|
mkdir install_dir
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake .. -G "Visual Studio 17 2022" -DQDT_RELEASE_TO_PUBLIC=0 -DCMAKE_PREFIX_PATH="${{ github.workspace }}\deps\build\QIDIStudio_dep\usr\local" -DCMAKE_INSTALL_PREFIX="../install_dir" -DCMAKE_BUILD_TYPE=Release -DWIN10SDK_PATH="C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0"
|
||||||
|
cmake --build . --target install --config Release
|
||||||
|
|
||||||
|
- name: Build QIDI Studio on Linux
|
||||||
|
if: startsWith(matrix.os, 'ubuntu-')
|
||||||
|
run: |
|
||||||
|
export CMAKE_TLS_VERIFY=0
|
||||||
|
sed -i "s/-DQDT_INTERNAL_TESTING=0/-DQDT_INTERNAL_TESTING=1 -DQDT_RELEASE_TO_PUBLIC=0/" BuildLinux.sh
|
||||||
|
chmod +x BuildLinux.sh
|
||||||
|
./BuildLinux.sh -dsi
|
||||||
|
|
||||||
|
- name: Build QIDI Studio on MacOS
|
||||||
|
if: startsWith(matrix.os, 'macos-')
|
||||||
|
run: |
|
||||||
|
export CMAKE_TLS_VERIFY=0
|
||||||
|
export PATH="/usr/local/opt/curl/bin:$PATH"
|
||||||
|
export PATH="/usr/local/opt/icu4c@78/bin:$PATH"
|
||||||
|
export PATH="/usr/local/opt/icu4c@78/sbin:$PATH"
|
||||||
|
export LDFLAGS="-L/usr/local/opt/curl/lib -L/usr/local/opt/boost@1.76/lib -L/usr/local/opt/icu4c@78/lib -L/usr/local/opt/zlib/lib -L/usr/local/opt/zstd/lib"
|
||||||
|
export CPPFLAGS="-I/usr/local/opt/curl/include -I/usr/local/opt/boost@1.76/include -I/usr/local/opt/icu4c@78/include -I/usr/local/opt/zlib/include -I/usr/local/opt/zstd/include"
|
||||||
|
export PKG_CONFIG_PATH="/usr/local/opt/curl/lib/pkgconfig:/usr/local/opt/boost@1.76/lib/pkgconfig:/usr/local/opt/icu4c@78/lib/pkgconfig:/usr/local/opt/zlib/lib/pkgconfig://usr/local/opt/zstd/lib/pkgconfig"
|
||||||
|
export CMAKE_PREFIX_PATH="/usr/local/opt/boost@1.76;/usr/local/opt/curl;/usr/local/opt/icu4c@78"
|
||||||
|
sed -i '' -e 's/-DCMAKE_PREFIX_PATH="$DEPS/-DCMAKE_PREFIX_PATH="$CMAKE_PREFIX_PATH;$DEPS/' BuildMac.sh
|
||||||
|
sed -i '' -e 's/-DQDT_INTERNAL_TESTING=0/-DQDT_INTERNAL_TESTING=1/' BuildMac.sh
|
||||||
|
sed -i '' -e 's/-DQDT_RELEASE_TO_PUBLIC=1/-DQDT_RELEASE_TO_PUBLIC=0/' BuildMac.sh
|
||||||
|
chmod +x BuildMac.sh
|
||||||
|
./BuildMac.sh -t 14.0 -x
|
||||||
|
|
||||||
|
- name: Upload Artifacts on Windows
|
||||||
|
if: startsWith(matrix.os, 'windows-')
|
||||||
|
uses: actions/upload-artifact@v5.0.0
|
||||||
|
with:
|
||||||
|
name: QIDIStudio_windows
|
||||||
|
path: install_dir
|
||||||
|
|
||||||
|
- name: Upload Artifacts on MacOS
|
||||||
|
if: startsWith(matrix.os, 'macos-')
|
||||||
|
uses: actions/upload-artifact@v5.0.0
|
||||||
|
with:
|
||||||
|
name: QIDIStudio_macos
|
||||||
|
path: build/x86_64/QIDIStudio/QIDIStudio.app/
|
||||||
|
|
||||||
|
- name: Upload Artifacts on Linux
|
||||||
|
if: startsWith(matrix.os, 'ubuntu-')
|
||||||
|
uses: actions/upload-artifact@v5.0.0
|
||||||
|
with:
|
||||||
|
name: QIDIStudio_linux
|
||||||
|
path: build/QIDIStudio.tar
|
||||||
|
|
||||||
|
- name: Upload Artifacts on Linux - Appimage
|
||||||
|
if: startsWith(matrix.os, 'ubuntu-')
|
||||||
|
uses: actions/upload-artifact@v5.0.0
|
||||||
|
with:
|
||||||
|
name: QIDIStudio_AppImage
|
||||||
|
path: build/QIDIStudio_ubu64.AppImage
|
||||||
5
.gitignore
vendored
@@ -1,6 +1,7 @@
|
|||||||
Build
|
Build
|
||||||
Build.bat
|
Build.bat
|
||||||
/build/
|
/build/
|
||||||
|
/build2/
|
||||||
/build2022/
|
/build2022/
|
||||||
deps/build
|
deps/build
|
||||||
MYMETA.json
|
MYMETA.json
|
||||||
@@ -28,3 +29,7 @@ SVG
|
|||||||
**/machine_full/
|
**/machine_full/
|
||||||
**/filament_full/
|
**/filament_full/
|
||||||
.idea/
|
.idea/
|
||||||
|
test.js
|
||||||
|
/.cache/
|
||||||
|
.clangd
|
||||||
|
/src/slic3r/QIDI/
|
||||||
244
BuildMac.sh
Normal file
@@ -0,0 +1,244 @@
|
|||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
set -o pipefail
|
||||||
|
|
||||||
|
while getopts "1dpa:st:xbc:h" opt; do
|
||||||
|
case "${opt}" in
|
||||||
|
d )
|
||||||
|
export BUILD_TARGET="deps"
|
||||||
|
;;
|
||||||
|
p )
|
||||||
|
export PACK_DEPS="1"
|
||||||
|
;;
|
||||||
|
a )
|
||||||
|
export ARCH="$OPTARG"
|
||||||
|
;;
|
||||||
|
s )
|
||||||
|
export BUILD_TARGET="slicer"
|
||||||
|
;;
|
||||||
|
t )
|
||||||
|
export OSX_DEPLOYMENT_TARGET="$OPTARG"
|
||||||
|
;;
|
||||||
|
x )
|
||||||
|
export SLICER_CMAKE_GENERATOR="Ninja"
|
||||||
|
export SLICER_BUILD_TARGET="all"
|
||||||
|
export DEPS_CMAKE_GENERATOR="Ninja"
|
||||||
|
;;
|
||||||
|
b )
|
||||||
|
export BUILD_ONLY="1"
|
||||||
|
;;
|
||||||
|
c )
|
||||||
|
export BUILD_CONFIG="$OPTARG"
|
||||||
|
;;
|
||||||
|
1 )
|
||||||
|
export CMAKE_BUILD_PARALLEL_LEVEL=1
|
||||||
|
;;
|
||||||
|
h ) echo "Usage: ./BuildMac.sh [-1][-d][-s][-x][-b][-c]"
|
||||||
|
echo " -d: Build deps"
|
||||||
|
echo " -a: Set ARCHITECTURE (arm64 or x86_64 or universal)"
|
||||||
|
echo " -s: Build slicer only"
|
||||||
|
echo " -t: Specify minimum version of the target platform, default is 10.15"
|
||||||
|
echo " -x: Use Ninja CMake generator, default is Xcode"
|
||||||
|
echo " -b: Build without reconfiguring CMake"
|
||||||
|
echo " -c: Set CMake build configuration, default is Release"
|
||||||
|
echo " -1: limit builds to 1 core (where possible)"
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
* )
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$ARCH" ]; then
|
||||||
|
ARCH="$(uname -m)"
|
||||||
|
export ARCH
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$BUILD_CONFIG" ]; then
|
||||||
|
export BUILD_CONFIG="Release"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$BUILD_TARGET" ]; then
|
||||||
|
export BUILD_TARGET="all"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SLICER_CMAKE_GENERATOR" ]; then
|
||||||
|
export SLICER_CMAKE_GENERATOR="Xcode"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$SLICER_BUILD_TARGET" ]; then
|
||||||
|
export SLICER_BUILD_TARGET="ALL_BUILD"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$DEPS_CMAKE_GENERATOR" ]; then
|
||||||
|
export DEPS_CMAKE_GENERATOR="Unix Makefiles"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ -z "$OSX_DEPLOYMENT_TARGET" ]; then
|
||||||
|
export OSX_DEPLOYMENT_TARGET="10.15"
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "Build params:"
|
||||||
|
echo " - ARCH: $ARCH"
|
||||||
|
echo " - BUILD_CONFIG: $BUILD_CONFIG"
|
||||||
|
echo " - BUILD_TARGET: $BUILD_TARGET"
|
||||||
|
echo " - CMAKE_GENERATOR: $SLICER_CMAKE_GENERATOR for Slicer, $DEPS_CMAKE_GENERATOR for deps"
|
||||||
|
echo " - OSX_DEPLOYMENT_TARGET: $OSX_DEPLOYMENT_TARGET"
|
||||||
|
echo " - CMAKE_BUILD_PARALLEL_LEVEL: $CMAKE_BUILD_PARALLEL_LEVEL"
|
||||||
|
echo
|
||||||
|
|
||||||
|
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||||
|
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$ARCH"
|
||||||
|
DEPS_DIR="$PROJECT_DIR/deps"
|
||||||
|
DEPS_BUILD_DIR="$DEPS_DIR/build/$ARCH"
|
||||||
|
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
|
||||||
|
|
||||||
|
if [ "$SLICER_CMAKE_GENERATOR" == "Xcode" ]; then
|
||||||
|
export BUILD_DIR_CONFIG_SUBDIR="/$BUILD_CONFIG"
|
||||||
|
else
|
||||||
|
export BUILD_DIR_CONFIG_SUBDIR=""
|
||||||
|
fi
|
||||||
|
|
||||||
|
function build_deps() {
|
||||||
|
# iterate over two architectures: x86_64 and arm64
|
||||||
|
for _ARCH in x86_64 arm64; do
|
||||||
|
# if ARCH is universal or equal to _ARCH
|
||||||
|
if [ "$ARCH" == "universal" ] || [ "$ARCH" == "$_ARCH" ]; then
|
||||||
|
|
||||||
|
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$_ARCH"
|
||||||
|
DEPS_BUILD_DIR="$DEPS_DIR/build/$_ARCH"
|
||||||
|
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
|
||||||
|
|
||||||
|
echo "Building deps..."
|
||||||
|
(
|
||||||
|
set -x
|
||||||
|
mkdir -p "$DEPS"
|
||||||
|
cd "$DEPS_BUILD_DIR"
|
||||||
|
if [ "1." != "$BUILD_ONLY". ]; then
|
||||||
|
cmake "${DEPS_DIR}" \
|
||||||
|
-G "${DEPS_CMAKE_GENERATOR}" \
|
||||||
|
-DDESTDIR="$DEPS" \
|
||||||
|
-DOPENSSL_ARCH="darwin64-${_ARCH}-cc" \
|
||||||
|
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
|
||||||
|
-DCMAKE_OSX_ARCHITECTURES:STRING="${_ARCH}" \
|
||||||
|
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}"
|
||||||
|
fi
|
||||||
|
cmake --build . --parallel ${CMAKE_BUILD_PARALLEL_LEVEL} --config "$BUILD_CONFIG" --target deps
|
||||||
|
)
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function pack_deps() {
|
||||||
|
echo "Packing deps..."
|
||||||
|
(
|
||||||
|
set -x
|
||||||
|
cd "$DEPS_DIR"
|
||||||
|
tar -zcvf "QIDIStudio_dep_mac_${ARCH}_$(date +"%Y%m%d").tar.gz" "build"
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
function build_slicer() {
|
||||||
|
# iterate over two architectures: x86_64 and arm64
|
||||||
|
for _ARCH in x86_64 arm64; do
|
||||||
|
# if ARCH is universal or equal to _ARCH
|
||||||
|
if [ "$ARCH" == "universal" ] || [ "$ARCH" == "$_ARCH" ]; then
|
||||||
|
|
||||||
|
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$_ARCH"
|
||||||
|
DEPS_BUILD_DIR="$DEPS_DIR/build/$_ARCH"
|
||||||
|
DEPS="$DEPS_BUILD_DIR/QIDIStudio_deps"
|
||||||
|
|
||||||
|
echo "Building slicer for $_ARCH..."
|
||||||
|
(
|
||||||
|
set -x
|
||||||
|
mkdir -p "$PROJECT_BUILD_DIR"
|
||||||
|
cd "$PROJECT_BUILD_DIR"
|
||||||
|
if [ "1." != "$BUILD_ONLY". ]; then
|
||||||
|
cmake "${PROJECT_DIR}" \
|
||||||
|
-G "${SLICER_CMAKE_GENERATOR}" \
|
||||||
|
-DQDT_RELEASE_TO_PUBLIC=1 \
|
||||||
|
-DQDT_INTERNAL_TESTING=0 \
|
||||||
|
-DCMAKE_PREFIX_PATH="$DEPS/usr/local" \
|
||||||
|
-DCMAKE_INSTALL_PREFIX="$PWD/QIDIStudio" \
|
||||||
|
-DCMAKE_BUILD_TYPE="$BUILD_CONFIG" \
|
||||||
|
-DCMAKE_MACOSX_RPATH=ON \
|
||||||
|
-DCMAKE_INSTALL_RPATH="${DEPS}/usr/local" \
|
||||||
|
-DCMAKE_MACOSX_BUNDLE=ON \
|
||||||
|
-DCMAKE_OSX_ARCHITECTURES="${_ARCH}" \
|
||||||
|
-DCMAKE_OSX_DEPLOYMENT_TARGET="${OSX_DEPLOYMENT_TARGET}"
|
||||||
|
fi
|
||||||
|
cmake --build . --config "$BUILD_CONFIG" --target "$SLICER_BUILD_TARGET"
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
echo "Fix macOS app package..."
|
||||||
|
(
|
||||||
|
cd "$PROJECT_BUILD_DIR"
|
||||||
|
mkdir -p QIDIStudio
|
||||||
|
cd QIDIStudio
|
||||||
|
# remove previously built app
|
||||||
|
rm -rf ./QIDIStudio.app
|
||||||
|
# fully copy newly built app
|
||||||
|
cp -pR "../src$BUILD_DIR_CONFIG_SUBDIR/QIDIStudio.app" ./QIDIStudio.app
|
||||||
|
# fix resources
|
||||||
|
resources_path=$(readlink ./QIDIStudio.app/Contents/Resources)
|
||||||
|
rm ./QIDIStudio.app/Contents/Resources
|
||||||
|
cp -R "$resources_path" ./QIDIStudio.app/Contents/Resources
|
||||||
|
# delete .DS_Store file
|
||||||
|
find ./QIDIStudio.app/ -name '.DS_Store' -delete
|
||||||
|
)
|
||||||
|
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
function build_universal() {
|
||||||
|
echo "Building universal binary..."
|
||||||
|
|
||||||
|
PROJECT_BUILD_DIR="$PROJECT_DIR/build/$ARCH"
|
||||||
|
|
||||||
|
# Create universal binary
|
||||||
|
echo "Creating universal binary..."
|
||||||
|
# PROJECT_BUILD_DIR="$PROJECT_DIR/build_Universal"
|
||||||
|
mkdir -p "$PROJECT_BUILD_DIR/QIDIStudio"
|
||||||
|
UNIVERSAL_APP="$PROJECT_BUILD_DIR/QIDIStudio/QIDIStudio.app"
|
||||||
|
rm -rf "$UNIVERSAL_APP"
|
||||||
|
cp -R "$PROJECT_DIR/build/arm64/QIDIStudio/QIDIStudio.app" "$UNIVERSAL_APP"
|
||||||
|
|
||||||
|
# Get the binary path inside the .app bundle
|
||||||
|
BINARY_PATH="Contents/MacOS/QIDIStudio"
|
||||||
|
|
||||||
|
# Create universal binary using lipo
|
||||||
|
lipo -create \
|
||||||
|
"$PROJECT_DIR/build/x86_64/QIDIStudio/QIDIStudio.app/$BINARY_PATH" \
|
||||||
|
"$PROJECT_DIR/build/arm64/QIDIStudio/QIDIStudio.app/$BINARY_PATH" \
|
||||||
|
-output "$UNIVERSAL_APP/$BINARY_PATH"
|
||||||
|
|
||||||
|
echo "Universal binary created at $UNIVERSAL_APP"
|
||||||
|
}
|
||||||
|
|
||||||
|
case "${BUILD_TARGET}" in
|
||||||
|
all)
|
||||||
|
build_deps
|
||||||
|
build_slicer
|
||||||
|
;;
|
||||||
|
deps)
|
||||||
|
build_deps
|
||||||
|
;;
|
||||||
|
slicer)
|
||||||
|
build_slicer
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Unknown target: $BUILD_TARGET. Available targets: deps, slicer, all."
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if [ "$ARCH" = "universal" ] && [ "$BUILD_TARGET" != "deps" ]; then
|
||||||
|
build_universal
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "1." == "$PACK_DEPS". ]; then
|
||||||
|
pack_deps
|
||||||
|
fi
|
||||||
@@ -1,4 +1,10 @@
|
|||||||
cmake_minimum_required(VERSION 3.13)
|
cmake_minimum_required(VERSION 3.13)
|
||||||
|
|
||||||
|
# The CMake version on Windows must not be greater than 4.0.
|
||||||
|
if ( ((MSVC) OR (WIN32)) AND (${CMAKE_VERSION} VERSION_GREATER_EQUAL "4.0") )
|
||||||
|
message(FATAL_ERROR "Only cmake versions between 3.13.x and 4.0.x is supported on windows. Detected version: ${CMAKE_VERSION}")
|
||||||
|
endif()
|
||||||
|
|
||||||
project(QIDIStudio)
|
project(QIDIStudio)
|
||||||
|
|
||||||
include("version.inc")
|
include("version.inc")
|
||||||
@@ -44,6 +50,7 @@ set(IS_CROSS_COMPILE FALSE)
|
|||||||
|
|
||||||
set(FLATPAK FALSE CACHE BOOL "Not copy FFMPEG file")
|
set(FLATPAK FALSE CACHE BOOL "Not copy FFMPEG file")
|
||||||
|
|
||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
set(CMAKE_FIND_FRAMEWORK LAST)
|
set(CMAKE_FIND_FRAMEWORK LAST)
|
||||||
set(CMAKE_FIND_APPBUNDLE LAST)
|
set(CMAKE_FIND_APPBUNDLE LAST)
|
||||||
@@ -54,7 +61,10 @@ if (APPLE)
|
|||||||
if (CMAKE_MACOSX_BUNDLE)
|
if (CMAKE_MACOSX_BUNDLE)
|
||||||
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
|
set(CMAKE_INSTALL_RPATH @executable_path/../Frameworks)
|
||||||
endif()
|
endif()
|
||||||
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
|
if (NOT CMAKE_OSX_DEPLOYMENT_TARGET)
|
||||||
|
set(CMAKE_OSX_DEPLOYMENT_TARGET "10.15" CACHE STRING "Minimum OS X deployment version" FORCE)
|
||||||
|
endif ()
|
||||||
|
message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET: ${CMAKE_OSX_DEPLOYMENT_TARGET}")
|
||||||
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
set(CMAKE_INSTALL_RPATH "$ORIGIN")
|
set(CMAKE_INSTALL_RPATH "$ORIGIN")
|
||||||
endif ()
|
endif ()
|
||||||
@@ -170,6 +180,18 @@ set(CMAKE_POSITION_INDEPENDENT_CODE ON)
|
|||||||
# WIN10SDK_PATH is used to point CMake to the WIN10 SDK installation directory.
|
# WIN10SDK_PATH is used to point CMake to the WIN10 SDK installation directory.
|
||||||
# We pick it from environment if it is not defined in another way
|
# We pick it from environment if it is not defined in another way
|
||||||
if(WIN32)
|
if(WIN32)
|
||||||
|
if(EXISTS "${CMAKE_SOURCE_DIR}/scripts/hooks/pre-commit" AND EXISTS "${CMAKE_SOURCE_DIR}/.git")
|
||||||
|
if(IS_DIRECTORY "${CMAKE_SOURCE_DIR}/.git")
|
||||||
|
message(STATUS ".git: directory")
|
||||||
|
configure_file(
|
||||||
|
"${CMAKE_SOURCE_DIR}/scripts/hooks/pre-commit"
|
||||||
|
"${CMAKE_SOURCE_DIR}/.git/hooks/pre-commit"
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
message(STATUS "skip pre-commit git hook")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
find_package(PkgConfig REQUIRED)
|
find_package(PkgConfig REQUIRED)
|
||||||
if(NOT DEFINED WIN10SDK_PATH)
|
if(NOT DEFINED WIN10SDK_PATH)
|
||||||
if(DEFINED ENV{WIN10SDK_PATH})
|
if(DEFINED ENV{WIN10SDK_PATH})
|
||||||
@@ -238,6 +260,8 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
|
|||||||
# On GCC and Clang, no return from a non-void function is a warning only. Here, we make it an error.
|
# On GCC and Clang, no return from a non-void function is a warning only. Here, we make it an error.
|
||||||
add_compile_options(-Werror=return-type)
|
add_compile_options(-Werror=return-type)
|
||||||
|
|
||||||
|
# add_compile_options(-Wno-unused-function -Wno-unused-variable -Wno-unused-but-set-variable -Wno-unused-label -Wno-unused-local-typedefs)
|
||||||
|
|
||||||
# removes LOTS of extraneous Eigen warnings (GCC only supports it since 6.1)
|
# removes LOTS of extraneous Eigen warnings (GCC only supports it since 6.1)
|
||||||
# https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
|
# https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1221
|
||||||
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
|
if("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang" OR CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0)
|
||||||
@@ -251,6 +275,10 @@ if (NOT MSVC AND ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" OR "${CMAKE_CXX_COMP
|
|||||||
add_compile_options(-Wno-deprecated-declarations)
|
add_compile_options(-Wno-deprecated-declarations)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if((${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_CXX_COMPILER_ID} STREQUAL "AppleClang") AND ${CMAKE_CXX_COMPILER_VERSION} VERSION_GREATER 15)
|
||||||
|
add_compile_options(-Wno-error=enum-constexpr-conversion)
|
||||||
|
endif()
|
||||||
|
|
||||||
#GCC generates loads of -Wunknown-pragmas when compiling igl. The fix is not easy due to a bug in gcc, see
|
#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=66943 or
|
||||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
|
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53431
|
||||||
@@ -305,7 +333,7 @@ if(WIN32)
|
|||||||
add_definitions(-D_USE_MATH_DEFINES -D_WIN32 -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
|
add_definitions(-D_USE_MATH_DEFINES -D_WIN32 -D_CRT_SECURE_NO_WARNINGS -D_SCL_SECURE_NO_WARNINGS)
|
||||||
if(MSVC)
|
if(MSVC)
|
||||||
# BOOST_ALL_NO_LIB: Avoid the automatic linking of Boost libraries on Windows. Rather rely on explicit linking.
|
# BOOST_ALL_NO_LIB: Avoid the automatic linking of Boost libraries on Windows. Rather rely on explicit linking.
|
||||||
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x601 -DBOOST_SYSTEM_USE_UTF8 )
|
add_definitions(-DBOOST_ALL_NO_LIB -DBOOST_USE_WINAPI_VERSION=0x602 -DBOOST_SYSTEM_USE_UTF8 )
|
||||||
# Force the source code encoding to UTF-8. See QIDIStudio GH pull request #5583
|
# Force the source code encoding to UTF-8. See QIDIStudio GH pull request #5583
|
||||||
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
||||||
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
|
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
|
||||||
@@ -347,7 +375,7 @@ endif()
|
|||||||
# set(Boost_COMPILER "-mgw81")
|
# set(Boost_COMPILER "-mgw81")
|
||||||
# boost::process was introduced first in version 1.64.0,
|
# boost::process was introduced first in version 1.64.0,
|
||||||
# boost::beast::detail::base64 was introduced first in version 1.66.0
|
# boost::beast::detail::base64 was introduced first in version 1.66.0
|
||||||
set(MINIMUM_BOOST_VERSION "1.66.0")
|
set(MINIMUM_BOOST_VERSION "1.83.0")
|
||||||
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams")
|
set(_boost_components "system;filesystem;thread;log;locale;regex;chrono;atomic;date_time;iostreams")
|
||||||
find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components})
|
find_package(Boost ${MINIMUM_BOOST_VERSION} REQUIRED COMPONENTS ${_boost_components})
|
||||||
|
|
||||||
@@ -543,12 +571,12 @@ foreach(po_file ${QDT_L10N_PO_FILES})
|
|||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# copy pt-BR/QidiStudio.mo to pt_br/
|
# copy pt-BR/QidiStudio.mo to pt_br/
|
||||||
SET(PT_BR "${L10N_DIR}/pt-BR/QIDIStudio.mo")
|
#SET(PT_BR "${L10N_DIR}/pt-BR/QIDIStudio.mo")
|
||||||
SET(PT_BR_DST "${L10N_DIR}/pt_br/")
|
#SET(PT_BR_DST "${L10N_DIR}/pt_br/")
|
||||||
add_custom_command(
|
#add_custom_command(
|
||||||
TARGET gettext_po_to_mo POST_BUILD
|
# TARGET gettext_po_to_mo POST_BUILD
|
||||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PT_BR} ${PT_BR_DST}
|
# COMMAND ${CMAKE_COMMAND} -E copy_if_different ${PT_BR} ${PT_BR_DST}
|
||||||
)
|
#)
|
||||||
|
|
||||||
find_package(NLopt 1.4 REQUIRED)
|
find_package(NLopt 1.4 REQUIRED)
|
||||||
|
|
||||||
|
|||||||
@@ -1,15 +1,73 @@
|
|||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
PROJECT_ROOT=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
|
PROJECT_ROOT=$(cd -P -- "$(dirname -- "$0")" && printf '%s\n' "$(pwd -P)")
|
||||||
|
|
||||||
set -x
|
set -e
|
||||||
|
|
||||||
# Wishlist hint: For developers, creating a Docker Compose
|
function usage() {
|
||||||
# setup with persistent volumes for the build & deps directories
|
echo "Usage: ./DockerBuild.sh [-c][-d][-i][-v]"
|
||||||
# would speed up recompile times significantly. For end users,
|
echo " -c: Build a self-contained Docker image that can be run directly"
|
||||||
# the simplicity of a single Docker image and a one-time compilation
|
echo " -d: disable safe parallel number limit(By default, the maximum number of parallels is set to free memory/2.5)"
|
||||||
# seems better.
|
echo " -i: Build and export an AppImage"
|
||||||
docker build -t qidistudio \
|
echo " -v: Build System Version:ubu22 or ubu24"
|
||||||
--build-arg USER=${USER:-root} \
|
echo " -h: this help output"
|
||||||
--build-arg UID=$(id -u) \
|
echo "If you only need to run the program on a built Docker container, just use './DockerBuild.sh -c'"
|
||||||
--build-arg GID=$(id -g) \
|
echo "If you need to build an AppImage using Docker, first run './DockerBuild.sh -d', then run './DockerBuild.sh -s'."
|
||||||
$PROJECT_ROOT
|
}
|
||||||
|
|
||||||
|
unset name
|
||||||
|
while getopts "hcdiv:" opt; do
|
||||||
|
case ${opt} in
|
||||||
|
c )
|
||||||
|
BUILD_RUNNER=1
|
||||||
|
;;
|
||||||
|
d )
|
||||||
|
BUILD_DEPS=1
|
||||||
|
;;
|
||||||
|
i )
|
||||||
|
BUILD_APPIMAGE=1
|
||||||
|
;;
|
||||||
|
v )
|
||||||
|
SYSTEM_VERSION="$OPTARG"
|
||||||
|
;;
|
||||||
|
h ) usage
|
||||||
|
exit 0
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ -z "$SYSTEM_VERSION" ]; then
|
||||||
|
SYSTEM_VERSION="ubu22"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "${BUILD_DEPS}" ]]; then
|
||||||
|
if [ "$SYSTEM_VERSION" == "ubu22" ]; then
|
||||||
|
echo "Building dependencies for Ubuntu 22.04..."
|
||||||
|
docker build -f docker/BuildDepsDockerfile -t studio_dep_22:1.0 .
|
||||||
|
else
|
||||||
|
docker build -f docker/BuildDepsDockerfile24 -t studio_dep_24:1.0 .
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "${BUILD_APPIMAGE}" ]]; then
|
||||||
|
if [ "$SYSTEM_VERSION" == "ubu22" ]; then
|
||||||
|
docker build -f docker/BuildAppimageDockerfile --build-arg VERSION=studio_dep_22 -o type=local,dest=./build .
|
||||||
|
mv build/QIDIStudio_ubu64.AppImage build/QIDIStudio_ubu22.AppImage
|
||||||
|
else
|
||||||
|
docker build -f docker/BuildAppimageDockerfile --build-arg VERSION=studio_dep_24 -o type=local,dest=./build .
|
||||||
|
mv build/QIDIStudio_ubu64.AppImage build/QIDIStudio_ubu24.AppImage
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ -n "${BUILD_RUNNER}" ]]
|
||||||
|
then
|
||||||
|
# Wishlist hint: For developers, creating a Docker Compose
|
||||||
|
# setup with persistent volumes for the build & deps directories
|
||||||
|
# would speed up recompile times significantly. For end users,
|
||||||
|
# the simplicity of a single Docker image and a one-time compilation
|
||||||
|
# seems better.
|
||||||
|
docker build -t qidistudio \
|
||||||
|
--build-arg USER=${USER:-root} \
|
||||||
|
--build-arg UID=$(id -u) \
|
||||||
|
--build-arg GID=$(id -g) \
|
||||||
|
$PROJECT_ROOT
|
||||||
|
fi
|
||||||
14
Dockerfile
@@ -68,8 +68,11 @@ WORKDIR /QIDIStudio
|
|||||||
# It might conflict with your mapped user, remove if user ubuntu exist
|
# It might conflict with your mapped user, remove if user ubuntu exist
|
||||||
RUN if id "ubuntu" >/dev/null 2>&1; then userdel -r ubuntu; fi
|
RUN if id "ubuntu" >/dev/null 2>&1; then userdel -r ubuntu; fi
|
||||||
|
|
||||||
|
# It's easier to run QIDI Studio as the same username,
|
||||||
# Use bash as the shell
|
# UID and GID as your workstation. Since we bind mount
|
||||||
|
# your home directory into the container, it's handy
|
||||||
|
# to keep permissions the same. Just in case, defaults
|
||||||
|
# are root.
|
||||||
|
|
||||||
# Set ARG values
|
# Set ARG values
|
||||||
# If user was passed from build it will create a user same
|
# If user was passed from build it will create a user same
|
||||||
@@ -114,11 +117,8 @@ RUN ./BuildLinux.sh -s
|
|||||||
ENV container=podman
|
ENV container=podman
|
||||||
RUN ./BuildLinux.sh -i
|
RUN ./BuildLinux.sh -i
|
||||||
|
|
||||||
# It's easier to run QIDI Studio as the same username,
|
|
||||||
# UID and GID as your workstation. Since we bind mount
|
# Use bash as the shell
|
||||||
# your home directory into the container, it's handy
|
|
||||||
# to keep permissions the same. Just in case, defaults
|
|
||||||
# are root.
|
|
||||||
SHELL ["/bin/bash", "-l", "-c"]
|
SHELL ["/bin/bash", "-l", "-c"]
|
||||||
|
|
||||||
# Point FFMPEG Library search to the binary built upon QIDIStudio build time
|
# Point FFMPEG Library search to the binary built upon QIDIStudio build time
|
||||||
|
|||||||
127
deps/Boost/0001-FIX-OBS-cannot-start-streaming-on-MAC.patch
vendored
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
From 45d9cd6bdba9b829fcfe40ff7c5f3f786afd41e1 Mon Sep 17 00:00:00 2001
|
||||||
|
From: "changyu.chen" <changyu.chen@bambulab.com>
|
||||||
|
Date: Fri, 7 Nov 2025 10:15:47 +0800
|
||||||
|
Subject: [PATCH] FIX: OBS cannot start streaming on MAC
|
||||||
|
|
||||||
|
jira: [STUDIO-14205]
|
||||||
|
|
||||||
|
Change-Id: I3f7c7982737b3b52729df856bc0cf69d89d1820d
|
||||||
|
---
|
||||||
|
.../include/boost/process/detail/posix/executor.hpp | 3 ++-
|
||||||
|
.../include/boost/process/detail/posix/pipe_out.hpp | 13 +++++++++++--
|
||||||
|
.../include/boost/process/detail/used_handles.hpp | 3 +++
|
||||||
|
.../boost/process/detail/windows/handles.hpp | 10 +++++++---
|
||||||
|
4 files changed, 23 insertions(+), 6 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/usr/local/include/boost/process/detail/posix/executor.hpp b/usr/local/include/boost/process/detail/posix/executor.hpp
|
||||||
|
index c4d99906..4d9b47ba 100644
|
||||||
|
--- a/usr/local/include/boost/process/detail/posix/executor.hpp
|
||||||
|
+++ b/usr/local/include/boost/process/detail/posix/executor.hpp
|
||||||
|
@@ -328,6 +328,7 @@ public:
|
||||||
|
}
|
||||||
|
void set_error(const std::error_code &ec, const std::string &msg) {set_error(ec, msg.c_str());};
|
||||||
|
|
||||||
|
+ int error_sink() const {return _pipe_sink;}
|
||||||
|
std::vector<int> get_used_handles() const
|
||||||
|
{
|
||||||
|
if (_pipe_sink == -1)
|
||||||
|
@@ -398,6 +399,7 @@ child executor<Sequence>::invoke(boost::mpl::false_, boost::mpl::false_)
|
||||||
|
set_error(err, "fcntl(2) failed");//this might throw, so we need to be sure our pipe is safe.
|
||||||
|
return child();
|
||||||
|
}
|
||||||
|
+ _pipe_sink = p.p[1];
|
||||||
|
_ec.clear();
|
||||||
|
boost::fusion::for_each(seq, call_on_setup(*this));
|
||||||
|
|
||||||
|
@@ -421,7 +423,6 @@ child executor<Sequence>::invoke(boost::mpl::false_, boost::mpl::false_)
|
||||||
|
}
|
||||||
|
else if (pid == 0)
|
||||||
|
{
|
||||||
|
- _pipe_sink = p.p[1];
|
||||||
|
::close(p.p[0]);
|
||||||
|
|
||||||
|
boost::fusion::for_each(seq, call_on_exec_setup(*this));
|
||||||
|
diff --git a/usr/local/include/boost/process/detail/posix/pipe_out.hpp b/usr/local/include/boost/process/detail/posix/pipe_out.hpp
|
||||||
|
index d54cca4e..7a711983 100644
|
||||||
|
--- a/usr/local/include/boost/process/detail/posix/pipe_out.hpp
|
||||||
|
+++ b/usr/local/include/boost/process/detail/posix/pipe_out.hpp
|
||||||
|
@@ -18,7 +18,7 @@
|
||||||
|
namespace boost { namespace process { namespace detail { namespace posix {
|
||||||
|
|
||||||
|
template<int p1, int p2>
|
||||||
|
-struct pipe_out : handler_base_ext
|
||||||
|
+struct pipe_out : handler_base_ext, ::boost::process::detail::uses_handles
|
||||||
|
{
|
||||||
|
int sink;
|
||||||
|
int source; //opposite end
|
||||||
|
@@ -31,6 +31,14 @@ struct pipe_out : handler_base_ext
|
||||||
|
p.assign_sink(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
+ std::array<int, 4> get_used_handles()
|
||||||
|
+ {
|
||||||
|
+ const auto pp1 = p1 != -1 ? p1 : p2;
|
||||||
|
+ const auto pp2 = p2 != -1 ? p2 : p1;
|
||||||
|
+
|
||||||
|
+ return {sink, source, pp1, pp2};
|
||||||
|
+ }
|
||||||
|
+
|
||||||
|
template<typename Executor>
|
||||||
|
void on_error(Executor &, const std::error_code &) const
|
||||||
|
{
|
||||||
|
@@ -66,7 +74,7 @@ void pipe_out<2,-1>::on_exec_setup(Executor &e) const
|
||||||
|
if (::dup2(sink, STDERR_FILENO) == -1)
|
||||||
|
e.set_error(::boost::process::detail::get_last_error(), "dup2() failed");
|
||||||
|
|
||||||
|
- if (sink != STDOUT_FILENO)
|
||||||
|
+ if (sink != STDERR_FILENO)
|
||||||
|
::close(sink);
|
||||||
|
::close(source);
|
||||||
|
}
|
||||||
|
@@ -81,6 +89,7 @@ void pipe_out<1,2>::on_exec_setup(Executor &e) const
|
||||||
|
e.set_error(::boost::process::detail::get_last_error(), "dup2() failed");
|
||||||
|
if ((sink != STDOUT_FILENO) && (sink != STDERR_FILENO))
|
||||||
|
::close(sink);
|
||||||
|
+ ::close(source);
|
||||||
|
}
|
||||||
|
|
||||||
|
class async_pipe;
|
||||||
|
diff --git a/usr/local/include/boost/process/detail/used_handles.hpp b/usr/local/include/boost/process/detail/used_handles.hpp
|
||||||
|
index 8db226d4..b7dc13d0 100644
|
||||||
|
--- a/usr/local/include/boost/process/detail/used_handles.hpp
|
||||||
|
+++ b/usr/local/include/boost/process/detail/used_handles.hpp
|
||||||
|
@@ -61,6 +61,9 @@ struct foreach_handle_invocator
|
||||||
|
template<typename Executor, typename Function>
|
||||||
|
void foreach_used_handle(Executor &exec, Function &&func)
|
||||||
|
{
|
||||||
|
+#if defined(BOOST_POSIX_API)
|
||||||
|
+ func(exec.error_sink());
|
||||||
|
+#endif
|
||||||
|
boost::fusion::for_each(boost::fusion::filter_if<does_use_handle<boost::mpl::_>>(exec.seq),
|
||||||
|
foreach_handle_invocator<Function>(func));
|
||||||
|
}
|
||||||
|
diff --git a/usr/local/include/boost/process/detail/windows/handles.hpp b/usr/local/include/boost/process/detail/windows/handles.hpp
|
||||||
|
index 901b339a..da78b1ce 100644
|
||||||
|
--- a/usr/local/include/boost/process/detail/windows/handles.hpp
|
||||||
|
+++ b/usr/local/include/boost/process/detail/windows/handles.hpp
|
||||||
|
@@ -141,10 +141,14 @@ struct limit_handles_ : handler_base_ext
|
||||||
|
::boost::winapi::DWORD_ flags = 0u;
|
||||||
|
if (itr != all_handles.end())
|
||||||
|
*itr = ::boost::winapi::INVALID_HANDLE_VALUE_;
|
||||||
|
- else if ((::boost::winapi::GetHandleInformation(*itr, &flags) != 0)
|
||||||
|
- &&((flags & ::boost::winapi::HANDLE_FLAG_INHERIT_) == 0)) //it is NOT inherited anyhow, so ignore too
|
||||||
|
- *itr = ::boost::winapi::INVALID_HANDLE_VALUE_;
|
||||||
|
});
|
||||||
|
+ for (auto& h : all_handles) {
|
||||||
|
+ ::boost::winapi::DWORD_ flags = 0u;
|
||||||
|
+ if ((h != ::boost::winapi::INVALID_HANDLE_VALUE_)
|
||||||
|
+ && (::boost::winapi::GetHandleInformation(h, &flags) != 0)
|
||||||
|
+ && ((flags & ::boost::winapi::HANDLE_FLAG_INHERIT_) == 0)) //it is NOT inherited anyhow, so ignore too
|
||||||
|
+ h = ::boost::winapi::INVALID_HANDLE_VALUE_;
|
||||||
|
+ }
|
||||||
|
|
||||||
|
auto part_itr = std::partition(all_handles.begin(), all_handles.end(),
|
||||||
|
[](::boost::winapi::HANDLE_ handle) {return handle != ::boost::winapi::INVALID_HANDLE_VALUE_;});
|
||||||
|
--
|
||||||
|
2.51.2.windows.1
|
||||||
|
|
||||||
175
deps/Boost/Boost.cmake
vendored
@@ -1,160 +1,27 @@
|
|||||||
include(ExternalProject)
|
|
||||||
|
|
||||||
if (WIN32)
|
set(_context_abi_line "")
|
||||||
set(_bootstrap_cmd bootstrap.bat)
|
set(_context_arch_line "")
|
||||||
set(_build_cmd b2.exe)
|
if (APPLE AND CMAKE_OSX_ARCHITECTURES)
|
||||||
else()
|
if (CMAKE_OSX_ARCHITECTURES MATCHES "x86")
|
||||||
set(_bootstrap_cmd ./bootstrap.sh)
|
set(_context_abi_line "-DBOOST_CONTEXT_ABI:STRING=sysv")
|
||||||
set(_build_cmd ./b2)
|
elseif (CMAKE_OSX_ARCHITECTURES MATCHES "arm")
|
||||||
endif()
|
set (_context_abi_line "-DBOOST_CONTEXT_ABI:STRING=aapcs")
|
||||||
|
|
||||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
|
||||||
set(_boost_toolset gcc)
|
|
||||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam boost-user-config.jam)
|
|
||||||
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/boost-user-config.jam ./tools/build/src/tools/user-config.jam)
|
|
||||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
|
|
||||||
# https://cmake.org/cmake/help/latest/variable/MSVC_VERSION.html
|
|
||||||
if (MSVC_VERSION EQUAL 1800)
|
|
||||||
# 1800 = VS 12.0 (v120 toolset)
|
|
||||||
set(_boost_toolset "msvc-12.0")
|
|
||||||
elseif (MSVC_VERSION EQUAL 1900)
|
|
||||||
# 1900 = VS 14.0 (v140 toolset)
|
|
||||||
set(_boost_toolset "msvc-14.0")
|
|
||||||
elseif (MSVC_VERSION LESS 1920)
|
|
||||||
# 1910-1919 = VS 15.0 (v141 toolset)
|
|
||||||
set(_boost_toolset "msvc-14.1")
|
|
||||||
elseif (MSVC_VERSION LESS 1930)
|
|
||||||
# 1920-1929 = VS 16.0 (v142 toolset)
|
|
||||||
set(_boost_toolset "msvc-14.2")
|
|
||||||
elseif (MSVC_VERSION LESS 1950)
|
|
||||||
# 1930-1949 = VS 17.0 (v143 toolset)
|
|
||||||
set(_boost_toolset "msvc-14.3")
|
|
||||||
else ()
|
|
||||||
message(FATAL_ERROR "Unsupported MSVC version")
|
|
||||||
endif ()
|
endif ()
|
||||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
set(_context_arch_line "-DBOOST_CONTEXT_ARCHITECTURE:STRING=${CMAKE_OSX_ARCHITECTURES}")
|
||||||
if (WIN32)
|
message(STATUS "BOOST param: ${_context_abi_line} ${_context_arch_line}")
|
||||||
set(_boost_toolset "clang-win")
|
|
||||||
elseif (APPLE)
|
|
||||||
set(_boost_toolset "clang")
|
|
||||||
else()
|
|
||||||
set(_boost_toolset clang)
|
|
||||||
configure_file(${CMAKE_CURRENT_LIST_DIR}/user-config.jam boost-user-config.jam)
|
|
||||||
set(_patch_command ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_BINARY_DIR}/boost-user-config.jam ./tools/build/src/tools/user-config.jam)
|
|
||||||
endif()
|
|
||||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
|
|
||||||
set(_boost_toolset "intel")
|
|
||||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
|
||||||
set(_boost_toolset "clang")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
message(STATUS "Deduced boost toolset: ${_boost_toolset} based on ${CMAKE_CXX_COMPILER_ID} compiler")
|
|
||||||
|
|
||||||
set(_libs "")
|
|
||||||
foreach(_comp ${DEP_Boost_COMPONENTS})
|
|
||||||
list(APPEND _libs "--with-${_comp}")
|
|
||||||
endforeach()
|
|
||||||
|
|
||||||
if (BUILD_SHARED_LIBS)
|
|
||||||
set(_link shared)
|
|
||||||
else()
|
|
||||||
set(_link static)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(_bits "")
|
|
||||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
|
||||||
set(_bits 64)
|
|
||||||
elseif ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "4")
|
|
||||||
set(_bits 32)
|
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
include(ProcessorCount)
|
qidistudio_add_cmake_project(Boost
|
||||||
ProcessorCount(NPROC)
|
URL "https://github.com/boostorg/boost/releases/download/boost-1.84.0/boost-1.84.0.tar.gz"
|
||||||
file(TO_NATIVE_PATH ${DESTDIR}/usr/local/ _prefix)
|
URL_HASH SHA256=4d27e9efed0f6f152dc28db6430b9d3dfb40c0345da7342eaa5a987dde57bd95
|
||||||
|
LIST_SEPARATOR |
|
||||||
set(_boost_flags "")
|
#PATCH_COMMAND git apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-FIX-OBS-cannot-start-streaming-on-MAC.patch
|
||||||
if (UNIX)
|
CMAKE_ARGS
|
||||||
set(_boost_flags "cflags=-fPIC;cxxflags=-fPIC")
|
-DBOOST_EXCLUDE_LIBRARIES:STRING=contract|fiber|numpy|wave|test
|
||||||
endif ()
|
-DBOOST_LOCALE_ENABLE_ICU:BOOL=OFF # do not link to libicu, breaks compatibility between distros
|
||||||
|
-DBUILD_TESTING:BOOL=OFF
|
||||||
if(APPLE)
|
"${_context_abi_line}"
|
||||||
set(_boost_flags
|
"${_context_arch_line}"
|
||||||
"cflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
|
||||||
"cxxflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
|
||||||
"mflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET};"
|
|
||||||
"mmflags=-fPIC -mmacosx-version-min=${DEP_OSX_TARGET}")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(_boost_variants "")
|
|
||||||
if(CMAKE_BUILD_TYPE)
|
|
||||||
list(APPEND CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
|
|
||||||
list(REMOVE_DUPLICATES CMAKE_CONFIGURATION_TYPES)
|
|
||||||
endif()
|
|
||||||
list(FIND CMAKE_CONFIGURATION_TYPES "Release" _cfg_rel)
|
|
||||||
list(FIND CMAKE_CONFIGURATION_TYPES "RelWithDebInfo" _cfg_relwdeb)
|
|
||||||
list(FIND CMAKE_CONFIGURATION_TYPES "MinSizeRel" _cfg_minsizerel)
|
|
||||||
list(FIND CMAKE_CONFIGURATION_TYPES "Debug" _cfg_deb)
|
|
||||||
|
|
||||||
if (_cfg_rel GREATER -1 OR _cfg_relwdeb GREATER -1 OR _cfg_minsizerel GREATER -1)
|
|
||||||
list(APPEND _boost_variants release)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if ( (NOT MSVC AND _cfg_deb GREATER -1) OR (MSVC AND ${DEP_DEBUG}) )
|
|
||||||
list(APPEND _boost_variants debug)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
if (NOT _boost_variants)
|
|
||||||
set(_boost_variants release)
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(_build_cmd ${_build_cmd}
|
|
||||||
${_boost_flags}
|
|
||||||
-j${NPROC}
|
|
||||||
${_libs}
|
|
||||||
--layout=versioned
|
|
||||||
--debug-configuration
|
|
||||||
toolset=${_boost_toolset}
|
|
||||||
address-model=${_bits}
|
|
||||||
link=${_link}
|
|
||||||
threading=multi
|
|
||||||
boost.locale.icu=off
|
|
||||||
--disable-icu
|
|
||||||
${_boost_variants}
|
|
||||||
stage)
|
|
||||||
|
|
||||||
set(_install_cmd ${_build_cmd} --prefix=${_prefix} install)
|
|
||||||
|
|
||||||
list(APPEND _patch_command COMMAND git init && ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-Boost-fix.patch)
|
|
||||||
|
|
||||||
ExternalProject_Add(
|
|
||||||
dep_Boost
|
|
||||||
#URL "https://boostorg.jfrog.io/artifactory/main/release/1.78.0/source/boost_1_78_0.zip"
|
|
||||||
URL "https://github.com/bambulab/boost/releases/download/1.78.0/boost_1_78_0.zip"
|
|
||||||
URL_HASH SHA256=f22143b5528e081123c3c5ed437e92f648fe69748e95fa6e2bd41484e2986cc3
|
|
||||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/Boost
|
|
||||||
CONFIGURE_COMMAND "${_bootstrap_cmd}"
|
|
||||||
PATCH_COMMAND ${_patch_command}
|
|
||||||
BUILD_COMMAND "${_build_cmd}"
|
|
||||||
BUILD_IN_SOURCE ON
|
|
||||||
INSTALL_COMMAND "${_install_cmd}"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
if ("${CMAKE_SIZEOF_VOID_P}" STREQUAL "8")
|
set(DEP_Boost_DEPENDS ZLIB)
|
||||||
# Patch the boost::polygon library with a custom one.
|
|
||||||
ExternalProject_Add(dep_boost_polygon
|
|
||||||
EXCLUDE_FROM_ALL ON
|
|
||||||
# GIT_REPOSITORY "https://github.com/prusa3d/polygon"
|
|
||||||
# GIT_TAG prusaslicer_gmp
|
|
||||||
URL https://github.com/prusa3d/polygon/archive/refs/heads/prusaslicer_gmp.zip
|
|
||||||
URL_HASH SHA256=abeb9710f0a7069fb9b22181ae5c56f6066002f125db210e7ffb27032aed6824
|
|
||||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/boost_polygon
|
|
||||||
DEPENDS dep_Boost
|
|
||||||
CONFIGURE_COMMAND ""
|
|
||||||
BUILD_COMMAND ""
|
|
||||||
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory
|
|
||||||
"${CMAKE_CURRENT_BINARY_DIR}/dep_boost_polygon-prefix/src/dep_boost_polygon/include/boost/polygon"
|
|
||||||
"${DESTDIR}/usr/local/include/boost/polygon"
|
|
||||||
)
|
|
||||||
# Only override boost::Polygon Voronoi implementation with Vojtech's GMP hacks on 64bit platforms.
|
|
||||||
list(APPEND _dep_list "dep_boost_polygon")
|
|
||||||
endif ()
|
|
||||||
59
deps/CGAL/0001-clang19.patch
vendored
Normal file
@@ -0,0 +1,59 @@
|
|||||||
|
--- a/BGL/include/CGAL/boost/graph/iterator.h 2022-10-07 19:04:41 UTC
|
||||||
|
+++ b/BGL/include/CGAL/boost/graph/iterator.h
|
||||||
|
@@ -213,18 +213,7 @@ class Halfedge_around_source_iterator { (public)
|
||||||
|
{}
|
||||||
|
|
||||||
|
#ifndef DOXYGEN_RUNNING
|
||||||
|
- // design patter: "safe bool"
|
||||||
|
- // will be replaced by explicit operator bool with C++11
|
||||||
|
- typedef void (Halfedge_around_source_iterator::*bool_type)() const;
|
||||||
|
|
||||||
|
- void this_type_does_not_support_comparisons() const {}
|
||||||
|
-
|
||||||
|
- operator bool_type() const
|
||||||
|
- {
|
||||||
|
- return (! (this->base() == nullptr)) ?
|
||||||
|
- &Halfedge_around_source_iterator::this_type_does_not_support_comparisons : 0;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
bool operator==( const Self& i) const {
|
||||||
|
CGAL_assertion( anchor == anchor);
|
||||||
|
return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
|
||||||
|
@@ -313,18 +302,7 @@ class Halfedge_around_target_iterator { (public)
|
||||||
|
{}
|
||||||
|
|
||||||
|
#ifndef DOXYGEN_RUNNING
|
||||||
|
- // design patter: "safe bool"
|
||||||
|
- // will be replaced by explicit operator bool with C++11
|
||||||
|
- typedef void (Halfedge_around_target_iterator::*bool_type)() const;
|
||||||
|
|
||||||
|
- void this_type_does_not_support_comparisons() const {}
|
||||||
|
-
|
||||||
|
- operator bool_type() const
|
||||||
|
- {
|
||||||
|
- return (! (this->base() == nullptr)) ?
|
||||||
|
- &Halfedge_around_target_iterator::this_type_does_not_support_comparisons : 0;
|
||||||
|
- }
|
||||||
|
-
|
||||||
|
bool operator==( const Self& i) const {
|
||||||
|
CGAL_assertion( anchor == anchor);
|
||||||
|
return ( g == i.g) && ( pos == i.pos) && ( winding == i.winding);
|
||||||
|
@@ -411,18 +389,6 @@ class Halfedge_around_face_iterator { (public)
|
||||||
|
const value_type& operator * ( ) const { return pos; }
|
||||||
|
pointer operator -> ( ) { return &pos; }
|
||||||
|
const value_type* operator -> ( ) const { return &pos; }
|
||||||
|
-
|
||||||
|
- // design patter: "safe bool"
|
||||||
|
- // will be replaced by explicit operator bool with C++11
|
||||||
|
- typedef void (Halfedge_around_face_iterator::*bool_type)() const;
|
||||||
|
-
|
||||||
|
- void this_type_does_not_support_comparisons() const {}
|
||||||
|
-
|
||||||
|
- operator bool_type() const
|
||||||
|
- {
|
||||||
|
- return (! (this->base() == nullptr)) ?
|
||||||
|
- &Halfedge_around_face_iterator::this_type_does_not_support_comparisons : 0;
|
||||||
|
- }
|
||||||
|
|
||||||
|
bool operator==( const Self& i) const {
|
||||||
|
CGAL_assertion( anchor == anchor);
|
||||||
8
deps/CGAL/CGAL.cmake
vendored
@@ -1,10 +1,12 @@
|
|||||||
|
if (IN_GIT_REPO)
|
||||||
|
set(CGAL_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_CGAL-prefix/src/dep_CGAL)
|
||||||
|
endif ()
|
||||||
|
|
||||||
qidistudio_add_cmake_project(
|
qidistudio_add_cmake_project(
|
||||||
CGAL
|
CGAL
|
||||||
# GIT_REPOSITORY https://github.com/CGAL/cgal.git
|
|
||||||
# GIT_TAG caacd806dc55c61cc68adaad99f2240f00493b29 # releases/CGAL-5.3
|
|
||||||
# For whatever reason, this keeps downloading forever (repeats downloads if finished)
|
|
||||||
URL https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip
|
URL https://github.com/CGAL/cgal/archive/refs/tags/v5.4.zip
|
||||||
URL_HASH SHA256=d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0
|
URL_HASH SHA256=d7605e0a5a5ca17da7547592f6f6e4a59430a0bc861948974254d0de43eab4c0
|
||||||
|
PATCH_COMMAND git apply ${CGAL_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-clang19.patch
|
||||||
DEPENDS ${BOOST_PKG} dep_GMP dep_MPFR
|
DEPENDS ${BOOST_PKG} dep_GMP dep_MPFR
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
41
deps/CMakeLists.txt
vendored
@@ -27,6 +27,9 @@ include(ExternalProject)
|
|||||||
include(ProcessorCount)
|
include(ProcessorCount)
|
||||||
|
|
||||||
ProcessorCount(NPROC)
|
ProcessorCount(NPROC)
|
||||||
|
if(DEFINED ENV{CMAKE_BUILD_PARALLEL_LEVEL})
|
||||||
|
set(NPROC $ENV{CMAKE_BUILD_PARALLEL_LEVEL})
|
||||||
|
endif()
|
||||||
if (NPROC EQUAL 0)
|
if (NPROC EQUAL 0)
|
||||||
set(NPROC 1)
|
set(NPROC 1)
|
||||||
endif ()
|
endif ()
|
||||||
@@ -40,6 +43,7 @@ option(DEP_BUILD_GLFW "Compile GLFW" ON)
|
|||||||
option(DEP_BUILD_FREETYPE "Compile freetype" ON)
|
option(DEP_BUILD_FREETYPE "Compile freetype" ON)
|
||||||
option(DEP_BUILD_WXWIDGETS "Compile wxWidgets" ON)
|
option(DEP_BUILD_WXWIDGETS "Compile wxWidgets" ON)
|
||||||
option(DEP_BUILD_FFMPEG "Compile ffmpeg" ON)
|
option(DEP_BUILD_FFMPEG "Compile ffmpeg" ON)
|
||||||
|
option(DEP_BUILD_WEBSOCKET "Comile websocket" ON)
|
||||||
|
|
||||||
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination directory")
|
set(DESTDIR "${CMAKE_CURRENT_BINARY_DIR}/destdir" CACHE PATH "Destination directory")
|
||||||
set(DEP_DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH "Path for downloaded source packages.")
|
set(DEP_DOWNLOAD_DIR ${CMAKE_CURRENT_BINARY_DIR} CACHE PATH "Path for downloaded source packages.")
|
||||||
@@ -50,6 +54,24 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|||||||
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
|
option(DEP_WX_GTK3 "Build wxWidgets against GTK3" OFF)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
set(IS_CROSS_COMPILE FALSE)
|
||||||
|
|
||||||
|
if (APPLE)
|
||||||
|
set(CMAKE_FIND_FRAMEWORK LAST)
|
||||||
|
set(CMAKE_FIND_APPBUNDLE LAST)
|
||||||
|
list(FIND CMAKE_OSX_ARCHITECTURES ${CMAKE_SYSTEM_PROCESSOR} _arch_idx)
|
||||||
|
message(STATUS "qidistudio_add_cmake_project for Apple")
|
||||||
|
if (CMAKE_OSX_ARCHITECTURES AND _arch_idx LESS 0)
|
||||||
|
message(STATUS "qidistudio_add_cmake_project for Apple crosscompiling")
|
||||||
|
set(IS_CROSS_COMPILE TRUE)
|
||||||
|
set(CMAKE_CXX_COMPILER_ID "Clang")
|
||||||
|
string(REPLACE ";" "$<SEMICOLON>" CMAKE_OSX_ARCHS "${CMAKE_OSX_ARCHITECTURES}")
|
||||||
|
set(_cmake_osx_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
|
||||||
|
set(_cmake_args_osx_arch CMAKE_ARGS -DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHS})
|
||||||
|
message(STATUS "Detect Cross-compilation. Will build for target ${CMAKE_OSX_ARCHS}" )
|
||||||
|
endif ()
|
||||||
|
endif ()
|
||||||
|
|
||||||
# On developer machines, it can be enabled to speed up compilation and suppress warnings coming from IGL.
|
# On developer machines, it can be enabled to speed up compilation and suppress warnings coming from IGL.
|
||||||
# FIXME:
|
# FIXME:
|
||||||
# Enabling this option is not safe. IGL will compile itself with its own version of Eigen while
|
# Enabling this option is not safe. IGL will compile itself with its own version of Eigen while
|
||||||
@@ -72,6 +94,17 @@ if (NOT _is_multi AND NOT CMAKE_BUILD_TYPE)
|
|||||||
message(STATUS "Forcing CMAKE_BUILD_TYPE to Release as it was not specified.")
|
message(STATUS "Forcing CMAKE_BUILD_TYPE to Release as it was not specified.")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
execute_process(
|
||||||
|
COMMAND ${GIT_EXECUTABLE} rev-parse --is-inside-work-tree
|
||||||
|
RESULT_VARIABLE REV_PARSE_RESULT
|
||||||
|
OUTPUT_VARIABLE REV_PARSE_OUTPUT
|
||||||
|
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||||
|
)
|
||||||
|
if((REV_PARSE_RESULT EQUAL 0) AND (REV_PARSE_OUTPUT STREQUAL "true"))
|
||||||
|
# Find relative path from root to source used for adjusting patch command
|
||||||
|
file(RELATIVE_PATH BINARY_DIR_REL ${CMAKE_SOURCE_DIR}/.. ${CMAKE_BINARY_DIR})
|
||||||
|
endif ()
|
||||||
|
|
||||||
function(qidistudio_add_cmake_project projectname)
|
function(qidistudio_add_cmake_project projectname)
|
||||||
cmake_parse_arguments(P_ARGS "" "INSTALL_DIR;BUILD_COMMAND;INSTALL_COMMAND" "CMAKE_ARGS" ${ARGN})
|
cmake_parse_arguments(P_ARGS "" "INSTALL_DIR;BUILD_COMMAND;INSTALL_COMMAND" "CMAKE_ARGS" ${ARGN})
|
||||||
|
|
||||||
@@ -102,6 +135,7 @@ function(qidistudio_add_cmake_project projectname)
|
|||||||
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
-DCMAKE_CXX_COMPILER:STRING=${CMAKE_CXX_COMPILER}
|
||||||
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_TOOLCHAIN_FILE}
|
||||||
-DBUILD_SHARED_LIBS:BOOL=OFF
|
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||||
|
${_cmake_osx_arch}
|
||||||
"${_configs_line}"
|
"${_configs_line}"
|
||||||
${DEP_CMAKE_OPTS}
|
${DEP_CMAKE_OPTS}
|
||||||
${P_ARGS_CMAKE_ARGS}
|
${P_ARGS_CMAKE_ARGS}
|
||||||
@@ -236,6 +270,12 @@ if (DEP_BUILD_FFMPEG)
|
|||||||
set(FFMPEG_PKG dep_FFMPEG)
|
set(FFMPEG_PKG dep_FFMPEG)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
set(WEBSOCKETPP_PKG "")
|
||||||
|
if (DEP_BUILD_WEBSOCKET)
|
||||||
|
include(WebSocketPP/WebSocketPP.cmake)
|
||||||
|
set(WEBSOCKETPP_PKG dep_WebSocketPP)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(_dep_list
|
set(_dep_list
|
||||||
${BOOST_PKG}
|
${BOOST_PKG}
|
||||||
dep_TBB
|
dep_TBB
|
||||||
@@ -254,6 +294,7 @@ set(_dep_list
|
|||||||
${EXPAT_PKG}
|
${EXPAT_PKG}
|
||||||
${FREETYPE_PKG}
|
${FREETYPE_PKG}
|
||||||
${FFMPEG_PKG}
|
${FFMPEG_PKG}
|
||||||
|
${WEBSOCKETPP_PKG}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
|
|||||||
64
deps/FFMPEG/FFMPEG.cmake
vendored
@@ -28,32 +28,58 @@ else ()
|
|||||||
string(APPEND _extra_cmd "--enable-gpl")
|
string(APPEND _extra_cmd "--enable-gpl")
|
||||||
string(APPEND _extra_cmd "--enable-nonfree")
|
string(APPEND _extra_cmd "--enable-nonfree")
|
||||||
|
|
||||||
|
if (APPLE)
|
||||||
|
set(_minos_cmd
|
||||||
|
"CFLAGS=-mmacosx-version-min=${DEP_OSX_TARGET}"
|
||||||
|
"LDFLAGS=-mmacosx-version-min=${DEP_OSX_TARGET}"
|
||||||
|
)
|
||||||
|
if (IS_CROSS_COMPILE)
|
||||||
|
set(_cross_cmd --enable-cross-compile)
|
||||||
|
set(_pic_cmd --enable-pic)
|
||||||
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64")
|
||||||
|
set(_arch_cmd --arch=arm64)
|
||||||
|
set(_cc_cmd "--cc=clang -arch arm64")
|
||||||
|
else()
|
||||||
|
set(_arch_cmd --arch=x86_64)
|
||||||
|
set(_cc_cmd "--cc=clang -arch x86_64")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(_build_j -j)
|
||||||
|
if(DEFINED ENV{CMAKE_BUILD_PARALLEL_LEVEL})
|
||||||
|
set(_build_j "-j$ENV{CMAKE_BUILD_PARALLEL_LEVEL}")
|
||||||
|
endif()
|
||||||
|
|
||||||
ExternalProject_Add(dep_FFMPEG
|
ExternalProject_Add(dep_FFMPEG
|
||||||
URL https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n7.0.2.tar.gz
|
URL https://github.com/FFmpeg/FFmpeg/archive/refs/tags/n7.0.2.tar.gz
|
||||||
URL_HASH SHA256=5EB46D18D664A0CCADF7B0ADEE03BD3B7FA72893D667F36C69E202A807E6D533
|
URL_HASH SHA256=5EB46D18D664A0CCADF7B0ADEE03BD3B7FA72893D667F36C69E202A807E6D533
|
||||||
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/FFMPEG
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/FFMPEG
|
||||||
CONFIGURE_COMMAND ${_conf_cmd}
|
CONFIGURE_COMMAND ${_conf_cmd}
|
||||||
"--prefix=${DESTDIR}/usr/local"
|
${_cross_cmd}
|
||||||
"--enable-shared"
|
${_pic_cmd}
|
||||||
"--disable-doc"
|
${_arch_cmd}
|
||||||
"--enable-small"
|
${_cc_cmd}
|
||||||
"--disable-outdevs"
|
--prefix="${DESTDIR}/usr/local"
|
||||||
"--disable-filters"
|
--enable-shared
|
||||||
"--enable-filter=*null*,afade,*fifo,*format,*resample,aeval,allrgb,allyuv,atempo,pan,*bars,color,*key,crop,draw*,eq*,framerate,*_qsv,*_vaapi,*v4l2*,hw*,scale,volume,test*"
|
--disable-doc
|
||||||
"--disable-protocols"
|
--enable-small
|
||||||
"--enable-protocol=file,fd,pipe,rtp,udp"
|
--disable-outdevs
|
||||||
"--disable-muxers"
|
--disable-filters
|
||||||
"--enable-muxer=rtp"
|
--enable-filter=*null*,afade,*fifo,*format,*resample,aeval,allrgb,allyuv,atempo,pan,*bars,color,*key,crop,draw*,eq*,framerate,*_qsv,*_vaapi,*v4l2*,hw*,scale,volume,test*
|
||||||
"--disable-encoders"
|
--disable-protocols
|
||||||
"--disable-decoders"
|
--enable-protocol=file,fd,pipe,rtp,udp
|
||||||
"--enable-decoder=*aac*,h264*,mp3*,mjpeg,rv*"
|
--disable-muxers
|
||||||
"--disable-demuxers"
|
--enable-muxer=rtp
|
||||||
"--enable-demuxer=h264,mp3,mov"
|
--disable-encoders
|
||||||
"--disable-zlib"
|
--disable-decoders
|
||||||
"--disable-avdevice"
|
--enable-decoder=*aac*,h264*,mp3*,mjpeg,rv*
|
||||||
|
--disable-demuxers
|
||||||
|
--enable-demuxer=h264,mp3,mov
|
||||||
|
--disable-zlib
|
||||||
|
--disable-avdevice
|
||||||
BUILD_IN_SOURCE ON
|
BUILD_IN_SOURCE ON
|
||||||
BUILD_COMMAND make -j
|
BUILD_COMMAND make ${_build_j}
|
||||||
INSTALL_COMMAND make install
|
INSTALL_COMMAND make install
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
9
deps/GLEW/glew/CMakeLists.txt
vendored
@@ -3,9 +3,12 @@ project(GLEW)
|
|||||||
|
|
||||||
find_package(OpenGL REQUIRED)
|
find_package(OpenGL REQUIRED)
|
||||||
|
|
||||||
if(OpenGL_EGL_FOUND)
|
# we do not support wayland for now
|
||||||
message(STATUS "building GLEW for EGL (hope that wxWidgets agrees, otherwise you won't have any output!)")
|
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGLEW_EGL")
|
if(OpenGL_EGL_FOUND)
|
||||||
|
message(STATUS "building GLEW for EGL (hope that wxWidgets agrees, otherwise you won't have any output!)")
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DGLEW_EGL")
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(GLEW src/glew.c)
|
add_library(GLEW src/glew.c)
|
||||||
|
|||||||
20
deps/GMP/GMP.cmake
vendored
@@ -22,10 +22,24 @@ else ()
|
|||||||
|
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||||
set(_gmp_build_tgt aarch64)
|
set(_gmp_build_arch aarch64)
|
||||||
|
else ()
|
||||||
|
set(_gmp_build_arch ${CMAKE_SYSTEM_PROCESSOR})
|
||||||
|
endif()
|
||||||
|
if (IS_CROSS_COMPILE)
|
||||||
|
if (${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
||||||
|
set(_gmp_host_arch aarch64)
|
||||||
|
set(_gmp_host_arch_flags "-arch arm64")
|
||||||
|
elseif (${CMAKE_OSX_ARCHITECTURES} MATCHES "x86_64")
|
||||||
|
set(_gmp_host_arch x86_64)
|
||||||
|
set(_gmp_host_arch_flags "-arch x86_64")
|
||||||
|
endif()
|
||||||
|
set(_gmp_ccflags "${_gmp_ccflags} ${_gmp_host_arch_flags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||||
|
set(_gmp_build_tgt --build=${_gmp_build_arch}-apple-darwin --host=${_gmp_host_arch}-apple-darwin)
|
||||||
|
else ()
|
||||||
|
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
||||||
|
set(_gmp_build_tgt "--build=${_gmp_build_arch}-apple-darwin")
|
||||||
endif()
|
endif()
|
||||||
set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
|
|
||||||
set(_gmp_build_tgt "--build=${_gmp_build_tgt}-apple-darwin")
|
|
||||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||||
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
|
set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
|
||||||
|
|||||||
4
deps/JPEG/JPEG.cmake
vendored
@@ -12,8 +12,8 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
qidistudio_add_cmake_project(JPEG
|
qidistudio_add_cmake_project(JPEG
|
||||||
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/2.0.6.zip
|
URL https://github.com/libjpeg-turbo/libjpeg-turbo/archive/refs/tags/3.0.1.zip
|
||||||
URL_HASH SHA256=017bdc33ff3a72e11301c0feb4657cb27719d7f97fa67a78ed506c594218bbf1
|
URL_HASH SHA256=d6d99e693366bc03897677650e8b2dfa76b5d6c54e2c9e70c03f0af821b0a52f
|
||||||
DEPENDS ${ZLIB_PKG}
|
DEPENDS ${ZLIB_PKG}
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DENABLE_SHARED=OFF
|
-DENABLE_SHARED=OFF
|
||||||
|
|||||||
7
deps/OCCT/OCCT.cmake
vendored
@@ -4,11 +4,14 @@ else()
|
|||||||
set(library_build_type "Static")
|
set(library_build_type "Static")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (BINARY_DIR_REL)
|
||||||
|
set(OCCT_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OCCT-prefix/src/dep_OCCT)
|
||||||
|
endif ()
|
||||||
|
|
||||||
qidistudio_add_cmake_project(OCCT
|
qidistudio_add_cmake_project(OCCT
|
||||||
URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip
|
URL https://github.com/Open-Cascade-SAS/OCCT/archive/refs/tags/V7_6_0.zip
|
||||||
URL_HASH SHA256=28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc
|
URL_HASH SHA256=28334f0e98f1b1629799783e9b4d21e05349d89e695809d7e6dfa45ea43e1dbc
|
||||||
#PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
PATCH_COMMAND git apply ${OCCT_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
||||||
PATCH_COMMAND ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OCCT-fix.patch
|
|
||||||
#DEPENDS dep_Boost
|
#DEPENDS dep_Boost
|
||||||
#DEPENDS dep_FREETYPE
|
#DEPENDS dep_FREETYPE
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
|
|||||||
24
deps/OpenCV/0002-clang19-macos.patch
vendored
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
diff --git a/3rdparty/libpng/pngpriv.h b/3rdparty/libpng/pngpriv.h
|
||||||
|
index 583c26f..83e0ab8 100644
|
||||||
|
--- a/3rdparty/libpng/pngpriv.h
|
||||||
|
+++ b/3rdparty/libpng/pngpriv.h
|
||||||
|
@@ -517,18 +517,7 @@
|
||||||
|
*/
|
||||||
|
# include <float.h>
|
||||||
|
|
||||||
|
-# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
|
||||||
|
- defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
|
||||||
|
- /* We need to check that <math.h> hasn't already been included earlier
|
||||||
|
- * as it seems it doesn't agree with <fp.h>, yet we should really use
|
||||||
|
- * <fp.h> if possible.
|
||||||
|
- */
|
||||||
|
-# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
|
||||||
|
-# include <fp.h>
|
||||||
|
-# endif
|
||||||
|
-# else
|
||||||
|
-# include <math.h>
|
||||||
|
-# endif
|
||||||
|
+# include <math.h>
|
||||||
|
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
|
||||||
|
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
|
||||||
|
* MATH=68881
|
||||||
7
deps/OpenCV/OpenCV.cmake
vendored
@@ -4,10 +4,14 @@ else ()
|
|||||||
set(_use_IPP "-DWITH_IPP=OFF")
|
set(_use_IPP "-DWITH_IPP=OFF")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
if (BINARY_DIR_REL)
|
||||||
|
set(OpenCV_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OpenCV-prefix/src/dep_OpenCV)
|
||||||
|
endif ()
|
||||||
|
|
||||||
qidistudio_add_cmake_project(OpenCV
|
qidistudio_add_cmake_project(OpenCV
|
||||||
URL https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz
|
URL https://github.com/opencv/opencv/archive/refs/tags/4.6.0.tar.gz
|
||||||
URL_HASH SHA256=1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277
|
URL_HASH SHA256=1ec1cba65f9f20fe5a41fda1586e01c70ea0c9a6d7b67c9e13edf0cfe2239277
|
||||||
PATCH_COMMAND ${GIT_EXECUTABLE} apply --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch
|
PATCH_COMMAND git apply ${OpenCV_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-OpenCV-fix.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-DBUILD_SHARED_LIBS=0
|
-DBUILD_SHARED_LIBS=0
|
||||||
-DBUILD_PERE_TESTS=OFF
|
-DBUILD_PERE_TESTS=OFF
|
||||||
@@ -49,6 +53,7 @@ qidistudio_add_cmake_project(OpenCV
|
|||||||
-DWITH_OPENJPEG=OFF
|
-DWITH_OPENJPEG=OFF
|
||||||
-DWITH_QUIRC=OFF
|
-DWITH_QUIRC=OFF
|
||||||
-DWITH_VTK=OFF
|
-DWITH_VTK=OFF
|
||||||
|
-DWITH_JPEG=OFF
|
||||||
-DWITH_WEBP=OFF
|
-DWITH_WEBP=OFF
|
||||||
-DENABLE_PRECOMPILED_HEADERS=OFF
|
-DENABLE_PRECOMPILED_HEADERS=OFF
|
||||||
-DINSTALL_TESTS=OFF
|
-DINSTALL_TESTS=OFF
|
||||||
|
|||||||
31
deps/OpenEXR/OpenEXR.cmake
vendored
@@ -1,3 +1,32 @@
|
|||||||
|
if (APPLE AND IS_CROSS_COMPILE)
|
||||||
|
if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "x86_64" AND ${CMAKE_OSX_ARCHITECTURES} MATCHES "arm")
|
||||||
|
set(_openexr_arch arm64^^x86_64)
|
||||||
|
set(_openxr_list_sep LIST_SEPARATOR ^^)
|
||||||
|
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
|
||||||
|
else()
|
||||||
|
set(_openexr_arch ${CMAKE_OSX_ARCHITECTURES})
|
||||||
|
set(_cmake_openexr_arch -DCMAKE_OSX_ARCHITECTURES:STRING=${_openexr_arch})
|
||||||
|
endif()
|
||||||
|
ExternalProject_Add(dep_OpenEXR
|
||||||
|
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
|
||||||
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/OpenEXR
|
||||||
|
${_openxr_list_sep}
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DCMAKE_INSTALL_PREFIX:STRING=${DESTDIR}/usr/local
|
||||||
|
-DBUILD_SHARED_LIBS:BOOL=OFF
|
||||||
|
-DCMAKE_POSITION_INDEPENDENT_CODE=ON
|
||||||
|
-DBUILD_TESTING=OFF
|
||||||
|
-DPYILMBASE_ENABLE:BOOL=OFF
|
||||||
|
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
||||||
|
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
||||||
|
-DCMAKE_OSX_DEPLOYMENT_TARGET=${DEP_OSX_TARGET}
|
||||||
|
${_cmake_openexr_arch}
|
||||||
|
)
|
||||||
|
else()
|
||||||
|
|
||||||
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
||||||
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OpenEXR-GCC13.patch)
|
set(_patch_cmd ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/0001-OpenEXR-GCC13.patch)
|
||||||
else()
|
else()
|
||||||
@@ -18,7 +47,7 @@ qidistudio_add_cmake_project(OpenEXR
|
|||||||
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
-DOPENEXR_VIEWERS_ENABLE:BOOL=OFF
|
||||||
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
-DOPENEXR_BUILD_UTILS:BOOL=OFF
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_debug_dep(dep_OpenEXR)
|
add_debug_dep(dep_OpenEXR)
|
||||||
endif ()
|
endif ()
|
||||||
|
|||||||
3
deps/OpenSSL/OpenSSL.cmake
vendored
@@ -19,7 +19,7 @@ if(WIN32)
|
|||||||
set(_install_cmd nmake install_sw )
|
set(_install_cmd nmake install_sw )
|
||||||
else()
|
else()
|
||||||
if(APPLE)
|
if(APPLE)
|
||||||
set(_conf_cmd ./Configure )
|
set(_conf_cmd export MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} && ./Configure -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET} )
|
||||||
else()
|
else()
|
||||||
set(_conf_cmd "./config")
|
set(_conf_cmd "./config")
|
||||||
endif()
|
endif()
|
||||||
@@ -58,6 +58,7 @@ ExternalProject_Add(dep_OpenSSL
|
|||||||
${_cross_comp_prefix_line}
|
${_cross_comp_prefix_line}
|
||||||
no-shared
|
no-shared
|
||||||
no-asm
|
no-asm
|
||||||
|
no-tests
|
||||||
no-ssl3-method
|
no-ssl3-method
|
||||||
no-dynamic-engine
|
no-dynamic-engine
|
||||||
BUILD_IN_SOURCE ON
|
BUILD_IN_SOURCE ON
|
||||||
|
|||||||
31
deps/OpenVDB/0001-clang19.patch
vendored
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
diff --git a/openvdb/openvdb/tree/NodeManager.h b/openvdb/openvdb/tree/NodeManager.h
|
||||||
|
index 4d0d9b4..12dabaa 100644
|
||||||
|
--- a/openvdb/openvdb/tree/NodeManager.h
|
||||||
|
+++ b/openvdb/openvdb/tree/NodeManager.h
|
||||||
|
@@ -327,7 +327,7 @@ private:
|
||||||
|
void operator()(const NodeRange& range) const
|
||||||
|
{
|
||||||
|
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
|
||||||
|
- OpT::template eval(mNodeOp, it);
|
||||||
|
+ OpT::eval(mNodeOp, it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const NodeOp mNodeOp;
|
||||||
|
@@ -347,7 +347,7 @@ private:
|
||||||
|
void operator()(const NodeRange& range) const
|
||||||
|
{
|
||||||
|
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
|
||||||
|
- OpT::template eval(mNodeOp, it);
|
||||||
|
+ OpT::eval(mNodeOp, it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
const NodeOp& mNodeOp;
|
||||||
|
@@ -372,7 +372,7 @@ private:
|
||||||
|
void operator()(const NodeRange& range)
|
||||||
|
{
|
||||||
|
for (typename NodeRange::Iterator it = range.begin(); it; ++it) {
|
||||||
|
- OpT::template eval(*mNodeOp, it);
|
||||||
|
+ OpT::eval(*mNodeOp, it);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
void join(const NodeReducer& other)
|
||||||
5
deps/OpenVDB/OpenVDB.cmake
vendored
@@ -6,6 +6,10 @@ else()
|
|||||||
set(_build_static ON)
|
set(_build_static ON)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if (BINARY_DIR_REL)
|
||||||
|
set(OPENVDB_DIRECTORY_FLAG --directory ${BINARY_DIR_REL}/dep_OpenVDB-prefix/src/dep_OpenVDB)
|
||||||
|
endif ()
|
||||||
|
|
||||||
set (_openvdb_vdbprint ON)
|
set (_openvdb_vdbprint ON)
|
||||||
#if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
#if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
|
||||||
# Build fails on raspberry pi due to missing link directive to latomic
|
# Build fails on raspberry pi due to missing link directive to latomic
|
||||||
@@ -15,6 +19,7 @@ set (_openvdb_vdbprint ON)
|
|||||||
qidistudio_add_cmake_project(OpenVDB
|
qidistudio_add_cmake_project(OpenVDB
|
||||||
URL https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip # 8.2 patched
|
URL https://github.com/tamasmeszaros/openvdb/archive/a68fd58d0e2b85f01adeb8b13d7555183ab10aa5.zip # 8.2 patched
|
||||||
URL_HASH SHA256=f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
|
URL_HASH SHA256=f353e7b99bd0cbfc27ac9082de51acf32a8bc0b3e21ff9661ecca6f205ec1d81
|
||||||
|
PATCH_COMMAND git apply ${OPENVDB_DIRECTORY_FLAG} --verbose --ignore-space-change --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/0001-clang19.patch
|
||||||
# URL https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v10.0.1.zip
|
# URL https://github.com/AcademySoftwareFoundation/openvdb/archive/refs/tags/v10.0.1.zip
|
||||||
# URL_HASH SHA256=48C2CFA9853B58FA86282DF1F83F0E99D07858CC03EB2BA8227DC447A830100A
|
# URL_HASH SHA256=48C2CFA9853B58FA86282DF1F83F0E99D07858CC03EB2BA8227DC447A830100A
|
||||||
DEPENDS dep_TBB dep_Blosc dep_OpenEXR ${BOOST_PKG}
|
DEPENDS dep_TBB dep_Blosc dep_OpenEXR ${BOOST_PKG}
|
||||||
|
|||||||
29
deps/PNG/0002-clang19-macos.patch
vendored
Normal file
@@ -0,0 +1,29 @@
|
|||||||
|
--- a/pngpriv.h 2025-04-20 19:36:04.000000000
|
||||||
|
+++ b/pngpriv.h 2025-04-20 19:35:55.000000000
|
||||||
|
@@ -511,24 +511,14 @@
|
||||||
|
* DBL_DIG Maximum number of decimal digits (can be set to any constant)
|
||||||
|
* DBL_MIN Smallest normalized fp number (can be set to an arbitrary value)
|
||||||
|
* DBL_MAX Maximum floating point number (can be set to an arbitrary value)
|
||||||
|
*/
|
||||||
|
# include <float.h>
|
||||||
|
|
||||||
|
-# if (defined(__MWERKS__) && defined(macintosh)) || defined(applec) || \
|
||||||
|
- defined(THINK_C) || defined(__SC__) || defined(TARGET_OS_MAC)
|
||||||
|
- /* We need to check that <math.h> hasn't already been included earlier
|
||||||
|
- * as it seems it doesn't agree with <fp.h>, yet we should really use
|
||||||
|
- * <fp.h> if possible.
|
||||||
|
- */
|
||||||
|
-# if !defined(__MATH_H__) && !defined(__MATH_H) && !defined(__cmath__)
|
||||||
|
-# include <fp.h>
|
||||||
|
-# endif
|
||||||
|
-# else
|
||||||
|
-# include <math.h>
|
||||||
|
-# endif
|
||||||
|
+# include <math.h>
|
||||||
|
+
|
||||||
|
# if defined(_AMIGA) && defined(__SASC) && defined(_M68881)
|
||||||
|
/* Amiga SAS/C: We must include builtin FPU functions when compiling using
|
||||||
|
* MATH=68881
|
||||||
|
*/
|
||||||
|
# include <m68881.h>
|
||||||
|
# endif
|
||||||
53
deps/PNG/PNG.cmake
vendored
@@ -5,26 +5,43 @@ else ()
|
|||||||
set(_disable_neon_extension "")
|
set(_disable_neon_extension "")
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
|
if(APPLE AND IS_CROSS_COMPILE)
|
||||||
|
# TODO: check if it doesn't create problem when compiling from arm to x86_64
|
||||||
|
qidistudio_add_cmake_project(PNG
|
||||||
|
GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||||
|
GIT_TAG v1.6.35
|
||||||
|
DEPENDS ${ZLIB_PKG}
|
||||||
|
PATCH_COMMAND ${GIT_EXECUTABLE} checkout -f -- . && git clean -df &&
|
||||||
|
${GIT_EXECUTABLE} apply --whitespace=fix ${CMAKE_CURRENT_LIST_DIR}/macos-arm64.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch
|
||||||
|
CMAKE_ARGS
|
||||||
|
-DPNG_SHARED=OFF
|
||||||
|
-DPNG_STATIC=ON
|
||||||
|
-DPNG_PREFIX=prusaslicer_
|
||||||
|
-DPNG_TESTS=OFF
|
||||||
|
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||||
|
${_disable_neon_extension}
|
||||||
|
)
|
||||||
|
else ()
|
||||||
set(_patch_step "")
|
set(_patch_step "")
|
||||||
if (APPLE)
|
if (APPLE)
|
||||||
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch)
|
set(_patch_step PATCH_COMMAND ${PATCH_CMD} ${CMAKE_CURRENT_LIST_DIR}/PNG.patch ${CMAKE_CURRENT_LIST_DIR}/0002-clang19-macos.patch)
|
||||||
endif ()
|
endif ()
|
||||||
|
qidistudio_add_cmake_project(PNG
|
||||||
qidistudio_add_cmake_project(PNG
|
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
||||||
# GIT_REPOSITORY https://github.com/glennrp/libpng.git
|
# GIT_TAG v1.6.35
|
||||||
# GIT_TAG v1.6.35
|
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
|
||||||
URL https://github.com/glennrp/libpng/archive/refs/tags/v1.6.35.zip
|
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
|
||||||
URL_HASH SHA256=3d22d46c566b1761a0e15ea397589b3a5f36ac09b7c785382e6470156c04247f
|
DEPENDS ${ZLIB_PKG}
|
||||||
DEPENDS ${ZLIB_PKG}
|
"${_patch_step}"
|
||||||
"${_patch_step}"
|
CMAKE_ARGS
|
||||||
CMAKE_ARGS
|
-DPNG_SHARED=OFF
|
||||||
-DPNG_SHARED=OFF
|
-DPNG_STATIC=ON
|
||||||
-DPNG_STATIC=ON
|
-DPNG_PREFIX=prusaslicer_
|
||||||
-DPNG_PREFIX=prusaslicer_
|
-DPNG_TESTS=OFF
|
||||||
-DPNG_TESTS=OFF
|
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
||||||
-DDISABLE_DEPENDENCY_TRACKING=OFF
|
${_disable_neon_extension}
|
||||||
${_disable_neon_extension}
|
|
||||||
)
|
)
|
||||||
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
add_debug_dep(dep_PNG)
|
add_debug_dep(dep_PNG)
|
||||||
|
|||||||
90
deps/PNG/macos-arm64.patch
vendored
Normal file
@@ -0,0 +1,90 @@
|
|||||||
|
Based on https://github.com/vespakoen/libpng to work around until
|
||||||
|
https://github.com/glennrp/libpng/pull/354 is resolved.
|
||||||
|
also added patch from PS2.4 (PNG.pach) in pngrutil.c
|
||||||
|
---
|
||||||
|
CMakeLists.txt | 28 ++++++++++++++++++++--------
|
||||||
|
pngrutil.c | 7 -------
|
||||||
|
2 files changed, 20 insertions(+), 15 deletions(-)
|
||||||
|
|
||||||
|
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||||
|
index 4db9bb87d..9099d1edf 100644
|
||||||
|
--- a/CMakeLists.txt
|
||||||
|
+++ b/CMakeLists.txt
|
||||||
|
@@ -82,10 +82,22 @@ option(PNG_HARDWARE_OPTIMIZATIONS "Enable Hardware Optimizations" ON)
|
||||||
|
set(PNG_PREFIX "" CACHE STRING "Prefix to add to the API function names")
|
||||||
|
set(DFA_XTRA "" CACHE FILEPATH "File containing extra configuration settings")
|
||||||
|
|
||||||
|
+# CMake currently sets CMAKE_SYSTEM_PROCESSOR to one of x86_64 or arm64 on macOS,
|
||||||
|
+# based upon the OS architecture, not the target architecture. As such, we need
|
||||||
|
+# to check CMAKE_OSX_ARCHITECTURES to identify which hardware-specific flags to
|
||||||
|
+# enable. Note that this will fail if you attempt to build a universal binary in
|
||||||
|
+# a single cmake invokation.
|
||||||
|
+if (APPLE AND CMAKE_OSX_ARCHITECTURES)
|
||||||
|
+ set(TARGET_ARCH ${CMAKE_OSX_ARCHITECTURES})
|
||||||
|
+else()
|
||||||
|
+ set(TARGET_ARCH ${CMAKE_SYSTEM_PROCESSOR})
|
||||||
|
+endif()
|
||||||
|
+
|
||||||
|
+
|
||||||
|
if(PNG_HARDWARE_OPTIMIZATIONS)
|
||||||
|
# set definitions and sources for arm
|
||||||
|
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
|
||||||
|
- CMAKE_SYSTEM_PROCESSOR MATCHES "^aarch64")
|
||||||
|
+if(TARGET_ARCH MATCHES "^arm" OR
|
||||||
|
+ TARGET_ARCH MATCHES "^aarch64")
|
||||||
|
set(PNG_ARM_NEON_POSSIBLE_VALUES check on off)
|
||||||
|
set(PNG_ARM_NEON "check" CACHE STRING "Enable ARM NEON optimizations:
|
||||||
|
check: (default) use internal checking code;
|
||||||
|
@@ -114,8 +126,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^arm" OR
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# set definitions and sources for powerpc
|
||||||
|
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
|
||||||
|
- CMAKE_SYSTEM_PROCESSOR MATCHES "^ppc64*" )
|
||||||
|
+if(TARGET_ARCH MATCHES "^powerpc*" OR
|
||||||
|
+ TARGET_ARCH MATCHES "^ppc64*" )
|
||||||
|
set(PNG_POWERPC_VSX_POSSIBLE_VALUES on off)
|
||||||
|
set(PNG_POWERPC_VSX "on" CACHE STRING "Enable POWERPC VSX optimizations:
|
||||||
|
off: disable the optimizations.")
|
||||||
|
@@ -138,8 +150,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^powerpc*" OR
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# set definitions and sources for intel
|
||||||
|
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
|
||||||
|
- CMAKE_SYSTEM_PROCESSOR MATCHES "^x86_64*" )
|
||||||
|
+if(TARGET_ARCH MATCHES "^i?86" OR
|
||||||
|
+ TARGET_ARCH MATCHES "^x86_64*" )
|
||||||
|
set(PNG_INTEL_SSE_POSSIBLE_VALUES on off)
|
||||||
|
set(PNG_INTEL_SSE "on" CACHE STRING "Enable INTEL_SSE optimizations:
|
||||||
|
off: disable the optimizations")
|
||||||
|
@@ -162,8 +174,8 @@ if(CMAKE_SYSTEM_PROCESSOR MATCHES "^i?86" OR
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# set definitions and sources for MIPS
|
||||||
|
-if(CMAKE_SYSTEM_PROCESSOR MATCHES "mipsel*" OR
|
||||||
|
- CMAKE_SYSTEM_PROCESSOR MATCHES "mips64el*" )
|
||||||
|
+if(TARGET_ARCH MATCHES "mipsel*" OR
|
||||||
|
+ TARGET_ARCH MATCHES "mips64el*" )
|
||||||
|
set(PNG_MIPS_MSA_POSSIBLE_VALUES on off)
|
||||||
|
set(PNG_MIPS_MSA "on" CACHE STRING "Enable MIPS_MSA optimizations:
|
||||||
|
off: disable the optimizations")
|
||||||
|
diff --git a/pngrutil.c b/pngrutil.c
|
||||||
|
index 7001f1976..91930f1f2 100644
|
||||||
|
--- a/pngrutil.c
|
||||||
|
+++ b/pngrutil.c
|
||||||
|
@@ -422,13 +422,6 @@ png_inflate_claim(png_structrp png_ptr, png_uint_32 owner)
|
||||||
|
png_ptr->flags |= PNG_FLAG_ZSTREAM_INITIALIZED;
|
||||||
|
}
|
||||||
|
|
||||||
|
-#if ZLIB_VERNUM >= 0x1290 && \
|
||||||
|
- defined(PNG_SET_OPTION_SUPPORTED) && defined(PNG_IGNORE_ADLER32)
|
||||||
|
- if (((png_ptr->options >> PNG_IGNORE_ADLER32) & 3) == PNG_OPTION_ON)
|
||||||
|
- /* Turn off validation of the ADLER32 checksum in IDAT chunks */
|
||||||
|
- ret = inflateValidate(&png_ptr->zstream, 0);
|
||||||
|
-#endif
|
||||||
|
-
|
||||||
|
if (ret == Z_OK)
|
||||||
|
png_ptr->zowner = owner;
|
||||||
|
|
||||||
|
--
|
||||||
|
2.33.0.windows.1
|
||||||
4
deps/TIFF/TIFF.cmake
vendored
@@ -1,8 +1,8 @@
|
|||||||
find_package(OpenGL QUIET REQUIRED)
|
find_package(OpenGL QUIET REQUIRED)
|
||||||
|
|
||||||
qidistudio_add_cmake_project(TIFF
|
qidistudio_add_cmake_project(TIFF
|
||||||
URL https://gitlab.com/libtiff/libtiff/-/archive/v4.1.0/libtiff-v4.1.0.zip
|
URL https://download.osgeo.org/libtiff/tiff-4.1.0.zip
|
||||||
URL_HASH SHA256=c56edfacef0a60c0de3e6489194fcb2f24c03dbb550a8a7de5938642d045bd32
|
URL_HASH SHA256=6F3DBED9D2ECFED33C7192B5C01884078970657FA21B4AD28E3CDF3438EB2419
|
||||||
DEPENDS ${ZLIB_PKG} ${PNG_PKG} ${JPEG_PKG}
|
DEPENDS ${ZLIB_PKG} ${PNG_PKG} ${JPEG_PKG}
|
||||||
CMAKE_ARGS
|
CMAKE_ARGS
|
||||||
-Dlzma:BOOL=OFF
|
-Dlzma:BOOL=OFF
|
||||||
|
|||||||
25
deps/WebSocketPP/WebSocketPP.cmake
vendored
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
# 构建 WebSocketPP
|
||||||
|
ExternalProject_Add(
|
||||||
|
dep_WebSocketPP
|
||||||
|
GIT_REPOSITORY https://github.com/zaphoyd/websocketpp.git
|
||||||
|
GIT_TAG 0.8.2
|
||||||
|
DOWNLOAD_DIR ${DEP_DOWNLOAD_DIR}/WebSocketPP
|
||||||
|
PREFIX ${CMAKE_CURRENT_BINARY_DIR}/WebSocketPP
|
||||||
|
CONFIGURE_COMMAND ""
|
||||||
|
BUILD_COMMAND ""
|
||||||
|
INSTALL_COMMAND
|
||||||
|
${CMAKE_COMMAND} -E make_directory ${DESTDIR}/usr/local/include &&
|
||||||
|
${CMAKE_COMMAND} -E copy_directory
|
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/WebSocketPP/src/dep_WebSocketPP/websocketpp
|
||||||
|
${DESTDIR}/usr/local/include/websocketpp
|
||||||
|
UPDATE_COMMAND ""
|
||||||
|
PATCH_COMMAND ""
|
||||||
|
)
|
||||||
|
|
||||||
|
# 设置依赖关系
|
||||||
|
ExternalProject_Add_StepDependencies(
|
||||||
|
dep_WebSocketPP
|
||||||
|
configure
|
||||||
|
dep_OpenSSL
|
||||||
|
dep_Boost
|
||||||
|
)
|
||||||
4
deps/wxWidgets/wxWidgets.cmake
vendored
@@ -6,8 +6,9 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
|
|||||||
endif ()
|
endif ()
|
||||||
set(_wx_toolkit "-DwxBUILD_TOOLKIT=gtk${_gtk_ver}")
|
set(_wx_toolkit "-DwxBUILD_TOOLKIT=gtk${_gtk_ver}")
|
||||||
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1")
|
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=1")
|
||||||
|
set(_wx_egl "-DwxUSE_GLCANVAS_EGL=OFF")
|
||||||
else ()
|
else ()
|
||||||
set(_wx_private_font "-DwxUSE_PRIVATE_FONTS=0")
|
set(_wx_egl "")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
@@ -52,6 +53,7 @@ qidistudio_add_cmake_project(wxWidgets
|
|||||||
-DwxUSE_LIBJPEG=sys
|
-DwxUSE_LIBJPEG=sys
|
||||||
-DwxUSE_LIBTIFF=sys
|
-DwxUSE_LIBTIFF=sys
|
||||||
-DwxUSE_EXPAT=sys
|
-DwxUSE_EXPAT=sys
|
||||||
|
${_wx_egl}
|
||||||
)
|
)
|
||||||
|
|
||||||
if (MSVC)
|
if (MSVC)
|
||||||
|
|||||||
19
docker/BuildAppimageDockerfile
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
ARG VERSION="studio_dep_22"
|
||||||
|
FROM ${VERSION}:1.0 AS builder
|
||||||
|
|
||||||
|
COPY ./ /QIDIStudio
|
||||||
|
|
||||||
|
WORKDIR /QIDIStudio
|
||||||
|
|
||||||
|
RUN mkdir -p /QIDIStudio/deps/build
|
||||||
|
|
||||||
|
RUN mv /destdir /QIDIStudio/deps/build/
|
||||||
|
|
||||||
|
RUN ./BuildLinux.sh -s
|
||||||
|
|
||||||
|
ENV container=podman
|
||||||
|
RUN ./BuildLinux.sh -i
|
||||||
|
|
||||||
|
FROM scratch AS export-stage
|
||||||
|
|
||||||
|
COPY --from=builder /QIDIStudio/build/QIDIStudio_ubu64.AppImage /
|
||||||
39
docker/BuildDepsDockerfile
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
FROM docker.io/ubuntu:22.04
|
||||||
|
|
||||||
|
# Disable interactive package configuration
|
||||||
|
RUN apt-get update && \
|
||||||
|
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
autoconf \
|
||||||
|
build-essential \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
xvfb \
|
||||||
|
extra-cmake-modules \
|
||||||
|
file \
|
||||||
|
git \
|
||||||
|
locales \
|
||||||
|
locales-all \
|
||||||
|
m4 \
|
||||||
|
pkgconf \
|
||||||
|
sudo \
|
||||||
|
wayland-protocols \
|
||||||
|
libwebkit2gtk-4.0-dev \
|
||||||
|
wget
|
||||||
|
|
||||||
|
COPY ./ /QIDIStudio
|
||||||
|
|
||||||
|
WORKDIR /QIDIStudio
|
||||||
|
|
||||||
|
# Allow password-less sudo for ALL users
|
||||||
|
RUN echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/999-passwordless
|
||||||
|
RUN chmod 440 /etc/sudoers.d/999-passwordless
|
||||||
|
|
||||||
|
RUN ./BuildLinux.sh -u
|
||||||
|
|
||||||
|
RUN ./BuildLinux.sh -dfr
|
||||||
|
|
||||||
|
RUN cp -r deps/build/destdir /
|
||||||
|
|
||||||
|
RUN rm -rf /QIDIStudio
|
||||||
39
docker/BuildDepsDockerfile24
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
FROM docker.io/ubuntu:24.04
|
||||||
|
|
||||||
|
# Disable interactive package configuration
|
||||||
|
RUN apt-get update && \
|
||||||
|
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections
|
||||||
|
|
||||||
|
RUN apt-get update && apt-get install -y \
|
||||||
|
autoconf \
|
||||||
|
build-essential \
|
||||||
|
cmake \
|
||||||
|
curl \
|
||||||
|
xvfb \
|
||||||
|
extra-cmake-modules \
|
||||||
|
file \
|
||||||
|
git \
|
||||||
|
locales \
|
||||||
|
locales-all \
|
||||||
|
m4 \
|
||||||
|
pkgconf \
|
||||||
|
sudo \
|
||||||
|
wayland-protocols \
|
||||||
|
libwebkit2gtk-4.1-dev \
|
||||||
|
wget
|
||||||
|
|
||||||
|
COPY ./ /QIDIStudio
|
||||||
|
|
||||||
|
WORKDIR /QIDIStudio
|
||||||
|
|
||||||
|
# Allow password-less sudo for ALL users
|
||||||
|
RUN echo "ALL ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/999-passwordless
|
||||||
|
RUN chmod 440 /etc/sudoers.d/999-passwordless
|
||||||
|
|
||||||
|
RUN ./BuildLinux.sh -u
|
||||||
|
|
||||||
|
RUN ./BuildLinux.sh -dfr
|
||||||
|
|
||||||
|
RUN cp -r deps/build/destdir /
|
||||||
|
|
||||||
|
RUN rm -rf /QIDIStudio
|
||||||
@@ -30,6 +30,7 @@ REQUIRED_DEV_PACKAGES=(
|
|||||||
nasm
|
nasm
|
||||||
yasm
|
yasm
|
||||||
libx264-dev
|
libx264-dev
|
||||||
|
libbz2-dev
|
||||||
)
|
)
|
||||||
|
|
||||||
if [[ -n "$UPDATE_LIB" ]]
|
if [[ -n "$UPDATE_LIB" ]]
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ REQUIRED_DEV_PACKAGES=(
|
|||||||
nasm
|
nasm
|
||||||
yasm
|
yasm
|
||||||
x264-devel
|
x264-devel
|
||||||
|
bzip2-devel
|
||||||
)
|
)
|
||||||
|
|
||||||
if [[ -n "$UPDATE_LIB" ]]
|
if [[ -n "$UPDATE_LIB" ]]
|
||||||
|
|||||||
@@ -138,11 +138,12 @@ GCodeCheckResult GCodeChecker::parse_comment(GCodeLine& line)
|
|||||||
if (is_multi_nozzle) {
|
if (is_multi_nozzle) {
|
||||||
double expected_temp = nozzle_temperature[filament_id];
|
double expected_temp = nozzle_temperature[filament_id];
|
||||||
if (std::abs(check_nozzle_temp - expected_temp) > MULTI_NOZZLE_TEMP_THRESHOLD) {
|
if (std::abs(check_nozzle_temp - expected_temp) > MULTI_NOZZLE_TEMP_THRESHOLD) {
|
||||||
std::cout << "Multi-nozzle: Invalid filament nozzle temperature! Expected: "
|
// for two nozzle gcode, remove temp check temply
|
||||||
<< expected_temp
|
//std::cout << "Multi-nozzle: Invalid filament nozzle temperature! Expected: "
|
||||||
<< ", but got: " << check_nozzle_temp
|
// << expected_temp
|
||||||
<< " (Threshold: ±100)." << std::endl;
|
// << ", but got: " << check_nozzle_temp
|
||||||
return GCodeCheckResult::ParseFailed;
|
// << " (Threshold: ±100)." << std::endl;
|
||||||
|
return GCodeCheckResult::Success;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
@@ -316,7 +317,7 @@ GCodeCheckResult GCodeChecker::parse_command(GCodeLine& gcode_line)
|
|||||||
case 'T':{
|
case 'T':{
|
||||||
|
|
||||||
int pt = ::atoi(&cmd[1]);
|
int pt = ::atoi(&cmd[1]);
|
||||||
if (pt == 1000 || pt == 1100 || pt == 255 || pt == 1001 || pt == 65535 || pt == 65279) {
|
if (pt == 1000 || pt == 1100 || pt == 255 || pt == 1001 || pt == 65535 || pt == 65279 || pt == -1) {
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -553,38 +554,36 @@ GCodeCheckResult GCodeChecker::parse_M83(const GCodeLine& gcode_line)
|
|||||||
return GCodeCheckResult::Success;
|
return GCodeCheckResult::Success;
|
||||||
}
|
}
|
||||||
|
|
||||||
GCodeCheckResult GCodeChecker::parse_M104_M109(const GCodeLine &gcode_line)
|
GCodeCheckResult GCodeChecker::parse_M104_M109(const GCodeLine& gcode_line)
|
||||||
{
|
{
|
||||||
const char *c = gcode_line.m_raw.c_str();
|
const char* c = gcode_line.m_raw.c_str();
|
||||||
const char *rs = strchr(c,'S');
|
const char* rs = strchr(c, 'S');
|
||||||
|
if (!rs) {
|
||||||
std::string strS = rs;
|
std::cout << "No S parameter found in M104/M109 command!" << std::endl;
|
||||||
strS = strS.substr(1);
|
return GCodeCheckResult::Success;
|
||||||
for (int i = 0; i < strS.size(); i++) {
|
|
||||||
if (strS[i] == ' ')
|
|
||||||
strS = strS.substr(0,i);
|
|
||||||
}
|
}
|
||||||
double temp_nozzle_temp;
|
|
||||||
|
|
||||||
|
std::string strS = rs + 1;
|
||||||
|
size_t pos = strS.find_first_of(" ;");
|
||||||
|
if (pos != std::string::npos)
|
||||||
|
strS = strS.substr(0, pos);
|
||||||
|
|
||||||
|
double temp_nozzle_temp;
|
||||||
if (!parse_double_from_str(strS, temp_nozzle_temp)) {
|
if (!parse_double_from_str(strS, temp_nozzle_temp)) {
|
||||||
std::cout << "invalid nozzle temperature comment with invalid value!" << std::endl;
|
std::cout << "Invalid nozzle temperature: " << strS << std::endl;
|
||||||
return GCodeCheckResult::ParseFailed;
|
return GCodeCheckResult::ParseFailed;
|
||||||
}
|
}
|
||||||
if (is_multi_nozzle == true) {
|
if (is_multi_nozzle == true) {
|
||||||
const char* rt = strchr(c, 'T');
|
const char* rt = strchr(c, 'T');
|
||||||
if (rt) {
|
if (rt) {
|
||||||
std::string strT = rt + 1; // 跳过 'T'
|
std::string strT = rt + 1;
|
||||||
for (size_t i = 0; i < strT.size(); i++) {
|
size_t posT = strT.find_first_of(" ;");
|
||||||
if (strT[i] == ' ') {
|
if (posT != std::string::npos)
|
||||||
strT = strT.substr(0, i);
|
strT = strT.substr(0, posT);
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
int logic_nozzle_id = physical_to_logic_extruder_map[std::stoi(strT)];
|
int logic_nozzle_id = physical_to_logic_extruder_map[std::stoi(strT)];
|
||||||
multi_nozzle_temp[logic_nozzle_id] = temp_nozzle_temp;
|
multi_nozzle_temp[logic_nozzle_id] = temp_nozzle_temp;
|
||||||
}
|
}
|
||||||
else
|
else {
|
||||||
{
|
|
||||||
multi_nozzle_temp[current_nozzle_id] = temp_nozzle_temp;
|
multi_nozzle_temp[current_nozzle_id] = temp_nozzle_temp;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,11 +1,69 @@
|
|||||||
src/libslic3r/PresetBundle.cpp
|
src/libslic3r/PresetBundle.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevAxis.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevBed.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevBed.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevConfig.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevConfig.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevConfigUtil.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevConfigUtil.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevCtrl.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevCtrl.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevDefs.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevExtensionTool.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevExtensionTool.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevExtruderSystem.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevExtruderSystem.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevExtruderSystemCtrl.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevFan.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevFan.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevFilaAmsSetting.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevFilaBlackList.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevFilaBlackList.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevFilaSystem.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevFilaSystem.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevFirmware.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevFirmware.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevPrintOptions.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevPrintOptions.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevPrintTaskInfo.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevPrintTaskInfo.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevHMS.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevHMS.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevStorage.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevStorage.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevInfo.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevInfo.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevLamp.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevLamp.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevLampCtrl.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevManager.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevManager.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevMapping.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevMapping.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevNozzleRack.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevNozzleRack.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevNozzleRackCtrl.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevNozzleSystem.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevNozzleSystem.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevUpgrade.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevUpgrade.cpp
|
||||||
|
src/slic3r/GUI/DeviceCore/DevUtil.h
|
||||||
|
src/slic3r/GUI/DeviceCore/DevUtil.cpp
|
||||||
src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.h
|
src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.h
|
||||||
src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.cpp
|
src/slic3r/GUI/DeviceTab/uiAmsHumidityPopup.cpp
|
||||||
src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.h
|
src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.h
|
||||||
src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.cpp
|
src/slic3r/GUI/DeviceTab/uiDeviceUpdateVersion.cpp
|
||||||
|
src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRack.h
|
||||||
|
src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRack.cpp
|
||||||
|
src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRackUpdate.h
|
||||||
|
src/slic3r/GUI/DeviceTab/wgtDeviceNozzleRackUpdate.cpp
|
||||||
|
src/slic3r/GUI/DeviceTab/wgtDeviceNozzleSelect.h
|
||||||
|
src/slic3r/GUI/DeviceTab/wgtDeviceNozzleSelect.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoFdmSupports.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoFlatten.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoMmuSegmentation.cpp
|
||||||
|
src/slic3r/GUI/Gizmos/GLGizmoFuzzySkin.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoMove.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoMove.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoRotate.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoScale.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoScale.cpp
|
||||||
@@ -56,6 +114,8 @@ src/slic3r/GUI/Jobs/RotoptimizeJob.cpp
|
|||||||
src/slic3r/GUI/Jobs/BindJob.cpp
|
src/slic3r/GUI/Jobs/BindJob.cpp
|
||||||
src/slic3r/GUI/Jobs/PrintJob.cpp
|
src/slic3r/GUI/Jobs/PrintJob.cpp
|
||||||
src/slic3r/GUI/Jobs/SendJob.cpp
|
src/slic3r/GUI/Jobs/SendJob.cpp
|
||||||
|
src/slic3r/GUI/ThermalPreconditioningDialog.cpp
|
||||||
|
src/slic3r/GUI/ThermalPreconditioningDialog.hpp
|
||||||
src/slic3r/GUI/Jobs/SLAImportJob.cpp
|
src/slic3r/GUI/Jobs/SLAImportJob.cpp
|
||||||
src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp
|
src/slic3r/GUI/Jobs/UpgradeNetworkJob.cpp
|
||||||
src/slic3r/GUI/AboutDialog.cpp
|
src/slic3r/GUI/AboutDialog.cpp
|
||||||
@@ -71,8 +131,12 @@ src/slic3r/GUI/BedShapeDialog.cpp
|
|||||||
src/slic3r/GUI/BedShapeDialog.hpp
|
src/slic3r/GUI/BedShapeDialog.hpp
|
||||||
src/slic3r/GUI/ConfigManipulation.cpp
|
src/slic3r/GUI/ConfigManipulation.cpp
|
||||||
src/slic3r/GUI/DeviceManager.cpp
|
src/slic3r/GUI/DeviceManager.cpp
|
||||||
|
src/slic3r/GUI/DeviceErrorDialog.cpp
|
||||||
src/slic3r/GUI/ExtraRenderers.cpp
|
src/slic3r/GUI/ExtraRenderers.cpp
|
||||||
src/slic3r/GUI/Field.cpp
|
src/slic3r/GUI/Field.cpp
|
||||||
|
src/slic3r/GUI/GCodeRenderer/AdvancedRenderer.cpp
|
||||||
|
src/slic3r/GUI/GCodeRenderer/BaseRenderer.cpp
|
||||||
|
src/slic3r/GUI/GCodeRenderer/LegacyRenderer.cpp
|
||||||
src/slic3r/GUI/GCodeViewer.cpp
|
src/slic3r/GUI/GCodeViewer.cpp
|
||||||
src/slic3r/GUI/GLCanvas3D.cpp
|
src/slic3r/GUI/GLCanvas3D.cpp
|
||||||
src/slic3r/GUI/Calibration.cpp
|
src/slic3r/GUI/Calibration.cpp
|
||||||
@@ -98,6 +162,7 @@ src/slic3r/GUI/ObjectDataViewModel.cpp
|
|||||||
src/slic3r/GUI/OpenGLManager.cpp
|
src/slic3r/GUI/OpenGLManager.cpp
|
||||||
src/slic3r/GUI/OptionsGroup.cpp
|
src/slic3r/GUI/OptionsGroup.cpp
|
||||||
src/slic3r/GUI/PrintOptionsDialog.cpp
|
src/slic3r/GUI/PrintOptionsDialog.cpp
|
||||||
|
src/slic3r/GUI/SafetyOptionsDialog.cpp
|
||||||
src/slic3r/GUI/ParamsPanel.cpp
|
src/slic3r/GUI/ParamsPanel.cpp
|
||||||
src/slic3r/GUI/PartPlate.cpp
|
src/slic3r/GUI/PartPlate.cpp
|
||||||
src/slic3r/GUI/Plater.cpp
|
src/slic3r/GUI/Plater.cpp
|
||||||
@@ -106,12 +171,14 @@ src/slic3r/GUI/PresetComboBoxes.cpp
|
|||||||
src/slic3r/GUI/PresetHints.cpp
|
src/slic3r/GUI/PresetHints.cpp
|
||||||
src/slic3r/GUI/ProgressStatusBar.cpp
|
src/slic3r/GUI/ProgressStatusBar.cpp
|
||||||
src/slic3r/GUI/PlateSettingsDialog.cpp
|
src/slic3r/GUI/PlateSettingsDialog.cpp
|
||||||
|
src/slic3r/GUI/PlateMoveDialog.cpp
|
||||||
src/slic3r/GUI/PrivacyUpdateDialog.cpp
|
src/slic3r/GUI/PrivacyUpdateDialog.cpp
|
||||||
src/slic3r/GUI/PublishDialog.cpp
|
src/slic3r/GUI/PublishDialog.cpp
|
||||||
src/slic3r/GUI/SavePresetDialog.cpp
|
src/slic3r/GUI/SavePresetDialog.cpp
|
||||||
src/slic3r/GUI/Search.cpp
|
src/slic3r/GUI/Search.cpp
|
||||||
src/slic3r/GUI/Selection.cpp
|
src/slic3r/GUI/Selection.cpp
|
||||||
src/slic3r/GUI/SelectMachine.cpp
|
src/slic3r/GUI/SelectMachine.cpp
|
||||||
|
src/slic3r/GUI/PrePrintChecker.cpp
|
||||||
src/slic3r/GUI/SendSystemInfoDialog.cpp
|
src/slic3r/GUI/SendSystemInfoDialog.cpp
|
||||||
src/slic3r/GUI/SendToPrinter.cpp
|
src/slic3r/GUI/SendToPrinter.cpp
|
||||||
src/slic3r/GUI/SlicingProgressNotification.cpp
|
src/slic3r/GUI/SlicingProgressNotification.cpp
|
||||||
@@ -132,7 +199,10 @@ src/slic3r/GUI/KBShortcutsDialog.hpp
|
|||||||
src/slic3r/GUI/KBShortcutsDialog.cpp
|
src/slic3r/GUI/KBShortcutsDialog.cpp
|
||||||
src/slic3r/GUI/ReleaseNote.cpp
|
src/slic3r/GUI/ReleaseNote.cpp
|
||||||
src/slic3r/GUI/ReleaseNote.hpp
|
src/slic3r/GUI/ReleaseNote.hpp
|
||||||
|
src/slic3r/GUI/HelioReleaseNote.cpp
|
||||||
|
src/slic3r/GUI/HelioReleaseNote.hpp
|
||||||
src/slic3r/GUI/UpgradePanel.cpp
|
src/slic3r/GUI/UpgradePanel.cpp
|
||||||
|
src/slic3r/GUI/Project.cpp
|
||||||
src/slic3r/Utils/FixModelByWin10.cpp
|
src/slic3r/Utils/FixModelByWin10.cpp
|
||||||
src/slic3r/Utils/PresetUpdater.cpp
|
src/slic3r/Utils/PresetUpdater.cpp
|
||||||
src/slic3r/Utils/Http.cpp
|
src/slic3r/Utils/Http.cpp
|
||||||
@@ -168,6 +238,7 @@ src/slic3r/GUI/BonjourDialog.cpp
|
|||||||
src/slic3r/GUI/calib_dlg.cpp
|
src/slic3r/GUI/calib_dlg.cpp
|
||||||
src/slic3r/GUI/PrintHostDialogs.cpp
|
src/slic3r/GUI/PrintHostDialogs.cpp
|
||||||
src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp
|
src/slic3r/GUI/Gizmos/GLGizmoMeshBoolean.cpp
|
||||||
|
src/slic3r/GUI/UIHelpers/MeshBooleanUI.cpp
|
||||||
src/slic3r/GUI/NetworkTestDialog.cpp
|
src/slic3r/GUI/NetworkTestDialog.cpp
|
||||||
src/slic3r/GUI/CreatePresetsDialog.cpp
|
src/slic3r/GUI/CreatePresetsDialog.cpp
|
||||||
src/slic3r/GUI/DailyTips.cpp
|
src/slic3r/GUI/DailyTips.cpp
|
||||||
@@ -180,11 +251,25 @@ src/slic3r/Utils/MKS.cpp
|
|||||||
src/slic3r/Utils/OctoPrint.cpp
|
src/slic3r/Utils/OctoPrint.cpp
|
||||||
src/slic3r/Utils/Repetier.cpp
|
src/slic3r/Utils/Repetier.cpp
|
||||||
src/slic3r/Utils/ProfileDescription.hpp
|
src/slic3r/Utils/ProfileDescription.hpp
|
||||||
|
src/slic3r/Utils/HelioDragon.cpp
|
||||||
src/slic3r/GUI/SendMultiMachinePage.cpp
|
src/slic3r/GUI/SendMultiMachinePage.cpp
|
||||||
src/slic3r/GUI/MultiMachinePage.cpp
|
src/slic3r/GUI/MultiMachinePage.cpp
|
||||||
src/slic3r/GUI/MultiMachineManagerPage.cpp
|
src/slic3r/GUI/MultiMachineManagerPage.cpp
|
||||||
src/slic3r/GUI/MultiTaskManagerPage.cpp
|
src/slic3r/GUI/MultiTaskManagerPage.cpp
|
||||||
src/slic3r/GUI/MultiMachine.cpp
|
src/slic3r/GUI/MultiMachine.cpp
|
||||||
|
src/slic3r/GUI/UserPresetsDialog.cpp
|
||||||
src/slic3r/GUI/FilamentMapDialog.cpp
|
src/slic3r/GUI/FilamentMapDialog.cpp
|
||||||
src/slic3r/GUI/FilamentGroupPopup.cpp
|
src/slic3r/GUI/FilamentGroupPopup.cpp
|
||||||
src/slic3r/GUI/FilamentMapPanel.cpp
|
src/slic3r/GUI/FilamentMapPanel.cpp
|
||||||
|
src/slic3r/GUI/PartSkipDialog.cpp
|
||||||
|
src/slic3r/GUI/PartSkipDialog.hpp
|
||||||
|
src/slic3r/GUI/SkipPartCanvas.cpp
|
||||||
|
src/slic3r/GUI/SkipPartCanvas.hpp
|
||||||
|
src/slic3r/GUI/FilamentBitmapUtils.cpp
|
||||||
|
src/slic3r/GUI/FilamentBitmapUtils.hpp
|
||||||
|
src/slic3r/GUI/FilamentPickerDialog.cpp
|
||||||
|
src/slic3r/GUI/FilamentPickerDialog.hpp
|
||||||
|
src/slic3r/GUI/Widgets/MultiNozzleSync.cpp
|
||||||
|
src/slic3r/GUI/Widgets/MultiNozzleSync.hpp
|
||||||
|
src/slic3r/GUI/PurgeModeDialog.cpp
|
||||||
|
src/slic3r/GUI/PurgeModeDialog.hpp
|
||||||
BIN
resources/calib/pressure_advance/auto_pa_line_dual.3mf
Normal file
BIN
resources/calib/pressure_advance/auto_pa_line_single.3mf
Normal file
@@ -1,4 +1,92 @@
|
|||||||
-----BEGIN CERTIFICATE-----
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIFfzCCA2egAwIBAgIUXtzR6tRiL/RHBRXOoyFU0+XrliowDQYJKoZIhvcNAQEL
|
||||||
|
BQAwRjELMAkGA1UEBhMCQ04xITAfBgNVBAoMGEJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||||
|
IEx0ZDEUMBIGA1UEAwwLQkJMIENBMiBSU0EwIBcNMjUwNjE3MDEzODA4WhgPMjA1
|
||||||
|
MDA2MTcwMTM4MDhaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5v
|
||||||
|
bG9naWVzIENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgUlNBMIICIjANBgkqhkiG
|
||||||
|
9w0BAQEFAAOCAg8AMIICCgKCAgEAo4550G4c42gTKzQqixwKT089RizIdZpyOcGA
|
||||||
|
679rPaOdWsMqVwnYPP2FpMqXKkjFbedE+SpGloi2NKCuiPNVRbq9PHOOZwTs7YLo
|
||||||
|
bOwf53FJuO6vRFpzFfX1tlc9zlFqJvZnYO9NgHpMysidocWcgrDN/SIDywgPB5CV
|
||||||
|
bYg3Vvzua9fwZx9e5KT9xd5IpTqdTrWS47jQOVKLhdQCbJFIlMrblOwLBAx+fHok
|
||||||
|
wqh6tkI6Ktuyyjw8Dysebi1ndWjKtZ2mW47r8xZ/J+z3EZqcyJMY6MRtx/zb1jBF
|
||||||
|
uHtkjrb5Kv1DMzSKlkaNJIbvC+Mk+hI97W+SjLSRuIdC7+oJUzWaSzgu9cjXCVfm
|
||||||
|
q8t4IL/35hP69PK95LgLectIrP96CYAT/aVMG19FrFW0QWEyfT+kzG4jkumfPbHq
|
||||||
|
Y2nNkEN0+tjj3h4WdzrWgQEojK/lhfcRFVkts74+aZoMpQP+vmL17CKmSzXk5o/e
|
||||||
|
K21xgxJdzMbdztfTpibiXk0abfOpN+1VR+3NYa+bROAKNyGaReEGsyW2bjcjNx51
|
||||||
|
5Vqzj3SVxhMSp5vfF9E4A1jE99M/l9jQDM6RzkT0lMccGAd5tUSdNvDlrqtQaQiK
|
||||||
|
v/ZsXPgXLTWfOpvaLNEgwdMgZMuhjpkwvAZyoYfeF9kyydjDh7bvrX//cz/VopAU
|
||||||
|
lxUtQtMCAwEAAaNjMGEwHQYDVR0OBBYEFNVJgQad1sNTN0jxVkwbJ/XM1an1MB8G
|
||||||
|
A1UdIwQYMBaAFNVJgQad1sNTN0jxVkwbJ/XM1an1MA8GA1UdEwEB/wQFMAMBAf8w
|
||||||
|
DgYDVR0PAQH/BAQDAgEGMA0GCSqGSIb3DQEBCwUAA4ICAQBFZDKMJfp/N4gBeFHh
|
||||||
|
MiFehaUyMS6e9mzrTfMLJLJoj6Jopa9V9jIfcCEBGZuRThqFcATV+UdFHSINpUcH
|
||||||
|
upcCYnazTRC4dn1hnxnQ1ojQcHxdGp9xGw/YclAKD97d8bPShfBMT1to9zbMK7T5
|
||||||
|
L8zgqg01YIOKjQk0Hcd0+0iUr6m8zQ5P8Rl3QXqAyeWgqmYQrrjTWwPsgdfHNXKX
|
||||||
|
vDrx7/cqry5lKU802hUplKMBxelv4W8407Ytj1lfJOwvxqxxsFU5jSwcUG3zo2vk
|
||||||
|
QtjRs8m5BKup5K1OPYkkPu7Ld89X0XpU073/dNDG11uxb1eDKrtNP6vZuZjNE2Pq
|
||||||
|
8HCoI1EtP+ItyqtUMvHi6Z2zsmlA25broVioeUKxjlIecpQ9JR/FhDu9CWNF/nDW
|
||||||
|
LSORNaMMzgsMSzI+HCiUhqN+qMIvVP6rzGTJzwqz/lc5Lf+ZPCnGA9WJTT4uPIhf
|
||||||
|
ufbZmnUJ35WuWKHxovDsqBh88zQ9sZ+ei4Hi4vVzOhUgfG3aLoSQEYqRoqaboANh
|
||||||
|
wCwzyuW2Rv54u5QSBbd6Gx1OpvsWmLPWd2/iL2kISl5wfmLGVydvSJa+rbOfuAy7
|
||||||
|
ycVQacVDQCAnbhoVrQy7+454QsKSW3ZV6BcyRrorewCyCYgd7nyxflxHZTBEykXX
|
||||||
|
haGNe/KFNvJBMOIuIUzknRRmiQ==
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIB8zCCAZmgAwIBAgIUe61jGQ4RzIC8k+sNuqbI/CaNqPIwCgYIKoZIzj0EAwIw
|
||||||
|
RjELMAkGA1UEBhMCQ04xITAfBgNVBAoMGEJCTCBUZWNobm9sb2dpZXMgQ28uIEx0
|
||||||
|
ZDEUMBIGA1UEAwwLQkJMIENBMiBFQ0MwIBcNMjUwNjE3MDEzODM1WhgPMjA1MDA2
|
||||||
|
MTcwMTM4MzVaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9n
|
||||||
|
aWVzIENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgRUNDMFkwEwYHKoZIzj0CAQYI
|
||||||
|
KoZIzj0DAQcDQgAEpKTF7wRSty4DXpGJzgCPwRh8ghLlxUC3qJbyEgLqTvJgbiwY
|
||||||
|
APPHK7kVbVmerkqhHOT4QeWRlTG3dOQGLA2VpaNjMGEwHQYDVR0OBBYEFKuRpsjY
|
||||||
|
REOyIKH7HwOE6jhGBd6NMB8GA1UdIwQYMBaAFKuRpsjYREOyIKH7HwOE6jhGBd6N
|
||||||
|
MA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEGMAoGCCqGSM49BAMCA0gA
|
||||||
|
MEUCIErBiUm3VdtP3rz4kb8aLpI5p+BzL7M9vElBGWWJxpHMAiEA3r5tJWVGwuxi
|
||||||
|
YCrB1c40KYFRFyahGrhOJZAj/YhRdnU=
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIIEeTCCA2GgAwIBAgIUOq+lNIaC2xsswkFqj5JPyVBl45cwDQYJKoZIhvcNAQEL
|
||||||
|
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||||
|
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yNTA2MTcwMjAxMjdaFw0zNTA2MTUw
|
||||||
|
MjAxMjdaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9naWVz
|
||||||
|
IENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgUlNBMIICIjANBgkqhkiG9w0BAQEF
|
||||||
|
AAOCAg8AMIICCgKCAgEAo4550G4c42gTKzQqixwKT089RizIdZpyOcGA679rPaOd
|
||||||
|
WsMqVwnYPP2FpMqXKkjFbedE+SpGloi2NKCuiPNVRbq9PHOOZwTs7YLobOwf53FJ
|
||||||
|
uO6vRFpzFfX1tlc9zlFqJvZnYO9NgHpMysidocWcgrDN/SIDywgPB5CVbYg3Vvzu
|
||||||
|
a9fwZx9e5KT9xd5IpTqdTrWS47jQOVKLhdQCbJFIlMrblOwLBAx+fHokwqh6tkI6
|
||||||
|
Ktuyyjw8Dysebi1ndWjKtZ2mW47r8xZ/J+z3EZqcyJMY6MRtx/zb1jBFuHtkjrb5
|
||||||
|
Kv1DMzSKlkaNJIbvC+Mk+hI97W+SjLSRuIdC7+oJUzWaSzgu9cjXCVfmq8t4IL/3
|
||||||
|
5hP69PK95LgLectIrP96CYAT/aVMG19FrFW0QWEyfT+kzG4jkumfPbHqY2nNkEN0
|
||||||
|
+tjj3h4WdzrWgQEojK/lhfcRFVkts74+aZoMpQP+vmL17CKmSzXk5o/eK21xgxJd
|
||||||
|
zMbdztfTpibiXk0abfOpN+1VR+3NYa+bROAKNyGaReEGsyW2bjcjNx515Vqzj3SV
|
||||||
|
xhMSp5vfF9E4A1jE99M/l9jQDM6RzkT0lMccGAd5tUSdNvDlrqtQaQiKv/ZsXPgX
|
||||||
|
LTWfOpvaLNEgwdMgZMuhjpkwvAZyoYfeF9kyydjDh7bvrX//cz/VopAUlxUtQtMC
|
||||||
|
AwEAAaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0O
|
||||||
|
BBYEFNVJgQad1sNTN0jxVkwbJ/XM1an1MB8GA1UdIwQYMBaAFI80QmjcZ06PxCKe
|
||||||
|
xXxJ5avdRL4eMA0GCSqGSIb3DQEBCwUAA4IBAQAvS8tyfagaGsFf9YncA2ko/Na5
|
||||||
|
9BVF+8TlUo+32oznwIVpS1AhSgLP6rNVekXNFKbuP5htudLQ17ZRBJI/UMVyYEDq
|
||||||
|
IN7xv7Zj+zJwF6W6haYrjb2Vk8igw1XvNULZfvVNNKIkvJUiVqEslWrC+k74crk/
|
||||||
|
Wv8ChVf+zqvfIN6LV3esaGRL02J3AprQGb7DDhR1EefQMScDkNpGJMUmvCmfknrl
|
||||||
|
iK8qgvQN1SWO7JRf6fNKHsN1ZQvyP0pgLWxpT3V0/0/WttqX3cMGuJF+jVUzm/Nh
|
||||||
|
xYhFewG8vc3KzTjnwQApMA6CW554FOJWFyOD2jn5yJLT3Vue+aYDQRp4bKMx
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
|
MIICrjCCAZagAwIBAgIUOq+lNIaC2xsswkFqj5JPyVBl45gwDQYJKoZIhvcNAQEL
|
||||||
|
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||||
|
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yNTA2MTcwMjAxNDdaFw0zNTA2MTUw
|
||||||
|
MjAxNDdaMEYxCzAJBgNVBAYTAkNOMSEwHwYDVQQKDBhCQkwgVGVjaG5vbG9naWVz
|
||||||
|
IENvLiBMdGQxFDASBgNVBAMMC0JCTCBDQTIgRUNDMFkwEwYHKoZIzj0CAQYIKoZI
|
||||||
|
zj0DAQcDQgAEpKTF7wRSty4DXpGJzgCPwRh8ghLlxUC3qJbyEgLqTvJgbiwYAPPH
|
||||||
|
K7kVbVmerkqhHOT4QeWRlTG3dOQGLA2VpaNjMGEwDwYDVR0TAQH/BAUwAwEB/zAO
|
||||||
|
BgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFKuRpsjYREOyIKH7HwOE6jhGBd6NMB8G
|
||||||
|
A1UdIwQYMBaAFI80QmjcZ06PxCKexXxJ5avdRL4eMA0GCSqGSIb3DQEBCwUAA4IB
|
||||||
|
AQCg6PjUSSZV+4bvejcVMvgXmKzfD95osWn0ctnoMBxPDa+m+Gg+BcLT2IlFAe3E
|
||||||
|
KYMvu4T295WQc92rjKYqW6cirFppng9uEFW2mZLimxaSmutsTftE3sbMVMJ/SLYN
|
||||||
|
PV7TFv6mcBSIFWXwmBOIpbh4BUcVfONTvdSfIqfyAVxsq4xzc2nc6hPBpAm21Ayj
|
||||||
|
ToC1ev/TbDJ8VllFZiEVmWWlIP3aNzAm8S2mOpxPB2WnanaZHSrvXLFhstyzwrjD
|
||||||
|
yO1/isOZ7wtr7rcuTJdEvvvCimOZlkfRhaDoTew9tQ0E2FVpzzSinw02qmQ1xIE9
|
||||||
|
5/H5ZzJSPkpeAHWEPnKkxg0v
|
||||||
|
-----END CERTIFICATE-----
|
||||||
|
-----BEGIN CERTIFICATE-----
|
||||||
MIIDZTCCAk2gAwIBAgIUV1FckwXElyek1onFnQ9kL7Bk4N8wDQYJKoZIhvcNAQEL
|
MIIDZTCCAk2gAwIBAgIUV1FckwXElyek1onFnQ9kL7Bk4N8wDQYJKoZIhvcNAQEL
|
||||||
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
|
BQAwQjELMAkGA1UEBhMCQ04xIjAgBgNVBAoMGUJCTCBUZWNobm9sb2dpZXMgQ28u
|
||||||
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yMjA0MDQwMzQyMTFaFw0zMjA0MDEw
|
LCBMdGQxDzANBgNVBAMMBkJCTCBDQTAeFw0yMjA0MDQwMzQyMTFaFw0zMjA0MDEw
|
||||||
|
|||||||
79
resources/data/helio_hints.ini
Normal file
@@ -0,0 +1,79 @@
|
|||||||
|
[hint: Single-Material Only]
|
||||||
|
text = Single-Material Only\nHelio currently simulates one material and one nozzle per job. Multi-material or multi-extruder G-code adds long pauses that break thermal continuity, so results wouldn’t be meaningful.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio0.png
|
||||||
|
|
||||||
|
[hint: One Plate per Job]
|
||||||
|
text = One Plate per Job\nUpload G-code with a single build plate—multi-plate projects aren’t yet supported, so only the first plate would run.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio1.png
|
||||||
|
|
||||||
|
[hint: What is the Thermal Quality Index?]
|
||||||
|
text = What is the Thermal Quality Index?\nThe Thermal Quality Index (scale –100 to +100) shows how hot or cold each region prints—green (≈ 0) is the “just right” zone for strong, warp-free parts. Keep most of the part green for best results.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio2.png
|
||||||
|
|
||||||
|
[hint: Voxel-Level Accuracy]
|
||||||
|
text = Voxel-Level Accuracy\nWe predict temperature in every voxel at every time-step, and for standard jobs the forecast is typically within ±5–10 °C. Pauses, custom firmware or odd cooling can widen that margin.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio3.png
|
||||||
|
|
||||||
|
[hint: Fan & Airflow Model]
|
||||||
|
text = Fan & Airflow Model\nA simplified fan-and-room model shows how cooling settings change part temps without slow CFD maths—great for day-to-day tuning. Chamber vortices aren’t yet simulated so runs stay fast.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio0.png
|
||||||
|
|
||||||
|
[hint: TQI Limits Explained]
|
||||||
|
text = TQI Limits Explained\n-100 → too cold: tensile strength is ~50 % lower than parts printed at the ideal 0 (ASTM D638 dog-bone tests). +100 → too hot: layers stay molten and may sag or collapse. Keep regions near 0 for peak strength and accuracy.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio1.png
|
||||||
|
|
||||||
|
[hint: What Drives Runtime?]
|
||||||
|
text = What Drives Runtime?\nExtra layers, dense infill, lots of tiny arcs (small mesh elements) or very slow printing speeds all extend simulation time because the solver must step through more seconds. Multi-core CPUs or CUDA GPUs speed things up.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio2.png
|
||||||
|
|
||||||
|
[hint: Nozzle Temp Range]
|
||||||
|
text = Nozzle Temp Range\nSupported set-points are 190 – 320 °C; anything outside is clamped to keep physics realistic.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio3.png
|
||||||
|
|
||||||
|
[hint: Debugging Flowchart]
|
||||||
|
text = Debugging Flowchart\nNot sure why a result looks off? Follow our step-by-step debugging flowchart to trace settings, G-code and material issues in minutes.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/flowchart
|
||||||
|
image = images/dailytips_helio0.png
|
||||||
|
|
||||||
|
[hint: Why Cooling Varies]
|
||||||
|
text = Why Cooling Varies\nOuter walls and bridges cool fastest while thick interiors stay warmer—geometry, airflow and tool-path all play a part, and the simulation visualises these differences.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio1.png
|
||||||
|
|
||||||
|
[hint: Extrusion Temp Model]
|
||||||
|
text = Extrusion Temp Model\nMaterial properties shape the melt curve, but printer geometry decides how much heat the filament actually gains, so the model is material-specific and printer-calibrated.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio2.png
|
||||||
|
|
||||||
|
[hint: Nozzle setting of 190 °C vs 320 °C?]
|
||||||
|
text = Nozzle setting of 190 °C vs 320 °C?\nA 100 °C nozzle change only nudges the thermal index because extrusion temp, flow rate and post-deposition cooling dominate the part’s heat history.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio3.png
|
||||||
|
|
||||||
|
[hint: Bed Temperature influence]
|
||||||
|
text = Bed Temperature influence\nOnly the first-layer bed temp feeds the model right now; later bed changes aren’t yet captured.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio0.png
|
||||||
|
|
||||||
|
[hint: Actual Tool-Path]
|
||||||
|
text = Actual Tool-Path\nYes—your exact G-code path, speeds and fan commands are simulated.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio1.png
|
||||||
|
|
||||||
|
[hint: Mesh Resolution]
|
||||||
|
text = Mesh Resolution\nThe voxel grid is finer than the G-code line spacing, capturing layer-by-layer detail without wasting compute.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/FAQ
|
||||||
|
image = images/dailytips_helio2.png
|
||||||
|
|
||||||
|
[hint: Shrinkage, Warping & Stress]
|
||||||
|
text = Shrinkage, Warping & Stress\nBy controlling the thermal index you can remove the heat-driven causes of warp and stress.
|
||||||
|
documentation_link = https://wiki.helioadditive.com/en/flowchart
|
||||||
|
image = images/dailytips_helio3.png
|
||||||
@@ -1,94 +1,329 @@
|
|||||||
colors
|
colors
|
||||||
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0A2989 #FF6A13 #0086D6 #F7E6DE #00AE42
|
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0086D6 #F7E6DE #4479fb #5E43B7 #482960 #0056B8 #FEC600 #EC008C #F5547C #6F5034 #FF9016 #00B1B7 #BECF00
|
||||||
src dst flush
|
src dst flush
|
||||||
#000000 #FFFFFF 900
|
#000000 #FFFFFF 900
|
||||||
#000000 #545454 330
|
#000000 #545454 270
|
||||||
#000000 #8E9089 570
|
#000000 #C12E1F 900
|
||||||
#000000 #C12E1F 660
|
|
||||||
#000000 #F4EE2A 900
|
#000000 #F4EE2A 900
|
||||||
#000000 #0A2989 480
|
#000000 #0086D6 900
|
||||||
#000000 #FF6A13 900
|
|
||||||
#000000 #0086D6 630
|
|
||||||
#000000 #F7E6DE 900
|
#000000 #F7E6DE 900
|
||||||
#000000 #00AE42 660
|
#000000 #4479fb 900
|
||||||
#FFFFFF #000000 90
|
#000000 #5E43B7 900
|
||||||
#FFFFFF #545454 120
|
#000000 #482960 360
|
||||||
#FFFFFF #F4EE2A 120
|
#000000 #0056B8 660
|
||||||
#FFFFFF #0A2989 150
|
#000000 #FEC600 900
|
||||||
#FFFFFF #FF6A13 120
|
#000000 #EC008C 900
|
||||||
#FFFFFF #00AE42 120
|
#000000 #F5547C 900
|
||||||
#545454 #000000 90
|
#000000 #6F5034 510
|
||||||
#545454 #FFFFFF 780
|
#000000 #FF9016 900
|
||||||
|
#000000 #BECF00 900
|
||||||
|
#FFFFFF #000000 120
|
||||||
|
#FFFFFF #545454 150
|
||||||
|
#FFFFFF #8E9089 120
|
||||||
|
#FFFFFF #C12E1F 120
|
||||||
|
#FFFFFF #F4EE2A 150
|
||||||
|
#FFFFFF #0086D6 90
|
||||||
|
#FFFFFF #F7E6DE 120
|
||||||
|
#FFFFFF #4479fb 120
|
||||||
|
#FFFFFF #5E43B7 150
|
||||||
|
#FFFFFF #482960 120
|
||||||
|
#FFFFFF #0056B8 150
|
||||||
|
#FFFFFF #FEC600 120
|
||||||
|
#FFFFFF #EC008C 150
|
||||||
|
#FFFFFF #F5547C 120
|
||||||
|
#FFFFFF #6F5034 150
|
||||||
|
#FFFFFF #FF9016 120
|
||||||
|
#FFFFFF #00B1B7 90
|
||||||
|
#FFFFFF #BECF00 120
|
||||||
|
#545454 #000000 150
|
||||||
|
#545454 #FFFFFF 480
|
||||||
#545454 #8E9089 210
|
#545454 #8E9089 210
|
||||||
#545454 #C12E1F 270
|
#545454 #C12E1F 270
|
||||||
#545454 #F4EE2A 390
|
#545454 #F4EE2A 390
|
||||||
#545454 #0A2989 120
|
#545454 #0086D6 240
|
||||||
#545454 #FF6A13 360
|
#545454 #F7E6DE 360
|
||||||
#545454 #0086D6 300
|
#545454 #4479fb 330
|
||||||
#545454 #F7E6DE 780
|
#545454 #5E43B7 180
|
||||||
#545454 #00AE42 330
|
#545454 #482960 150
|
||||||
#8E9089 #000000 210
|
#545454 #0056B8 180
|
||||||
#8E9089 #FFFFFF 450
|
#545454 #FEC600 300
|
||||||
|
#545454 #EC008C 240
|
||||||
|
#545454 #F5547C 330
|
||||||
|
#545454 #6F5034 120
|
||||||
|
#545454 #FF9016 330
|
||||||
|
#545454 #00B1B7 270
|
||||||
|
#545454 #BECF00 330
|
||||||
|
#8E9089 #000000 180
|
||||||
|
#8E9089 #FFFFFF 330
|
||||||
#8E9089 #545454 180
|
#8E9089 #545454 180
|
||||||
|
#8E9089 #C12E1F 180
|
||||||
#8E9089 #F4EE2A 360
|
#8E9089 #F4EE2A 360
|
||||||
#8E9089 #0A2989 210
|
#8E9089 #0086D6 180
|
||||||
#8E9089 #FF6A13 300
|
#8E9089 #F7E6DE 360
|
||||||
#8E9089 #F7E6DE 450
|
#8E9089 #4479fb 120
|
||||||
#8E9089 #00AE42 210
|
#8E9089 #5E43B7 240
|
||||||
#C12E1F #000000 120
|
#8E9089 #482960 240
|
||||||
#C12E1F #FFFFFF 720
|
#8E9089 #0056B8 150
|
||||||
#C12E1F #545454 270
|
#8E9089 #FEC600 330
|
||||||
#C12E1F #8E9089 480
|
#8E9089 #EC008C 270
|
||||||
#C12E1F #F4EE2A 540
|
#8E9089 #F5547C 240
|
||||||
#C12E1F #0A2989 300
|
#8E9089 #6F5034 300
|
||||||
#C12E1F #FF6A13 330
|
#8E9089 #FF9016 300
|
||||||
#C12E1F #F7E6DE 690
|
#8E9089 #00B1B7 180
|
||||||
#C12E1F #00AE42 600
|
#8E9089 #BECF00 300
|
||||||
|
#C12E1F #000000 150
|
||||||
|
#C12E1F #FFFFFF 600
|
||||||
|
#C12E1F #545454 570
|
||||||
|
#C12E1F #8E9089 390
|
||||||
|
#C12E1F #F4EE2A 900
|
||||||
|
#C12E1F #0086D6 900
|
||||||
|
#C12E1F #F7E6DE 900
|
||||||
|
#C12E1F #4479fb 540
|
||||||
|
#C12E1F #5E43B7 570
|
||||||
|
#C12E1F #482960 210
|
||||||
|
#C12E1F #0056B8 630
|
||||||
|
#C12E1F #FEC600 420
|
||||||
|
#C12E1F #EC008C 270
|
||||||
|
#C12E1F #F5547C 300
|
||||||
|
#C12E1F #6F5034 300
|
||||||
|
#C12E1F #FF9016 390
|
||||||
|
#C12E1F #00B1B7 600
|
||||||
|
#C12E1F #BECF00 660
|
||||||
#F4EE2A #000000 150
|
#F4EE2A #000000 150
|
||||||
#F4EE2A #FFFFFF 870
|
#F4EE2A #FFFFFF 660
|
||||||
#F4EE2A #545454 330
|
#F4EE2A #545454 420
|
||||||
#F4EE2A #0A2989 330
|
#F4EE2A #8E9089 300
|
||||||
#F4EE2A #FF6A13 150
|
#F4EE2A #C12E1F 180
|
||||||
#F4EE2A #0086D6 420
|
#F4EE2A #0086D6 900
|
||||||
#F4EE2A #F7E6DE 870
|
#F4EE2A #F7E6DE 900
|
||||||
#0A2989 #000000 90
|
#F4EE2A #4479fb 180
|
||||||
#0A2989 #FFFFFF 630
|
#F4EE2A #5E43B7 690
|
||||||
#0A2989 #545454 150
|
#F4EE2A #0056B8 360
|
||||||
#0A2989 #8E9089 390
|
#F4EE2A #FEC600 120
|
||||||
#0A2989 #C12E1F 450
|
#F4EE2A #EC008C 600
|
||||||
#0A2989 #F4EE2A 510
|
#F4EE2A #F5547C 240
|
||||||
#0A2989 #FF6A13 480
|
#F4EE2A #6F5034 270
|
||||||
#0A2989 #0086D6 300
|
#F4EE2A #FF9016 120
|
||||||
#0A2989 #F7E6DE 630
|
#F4EE2A #00B1B7 630
|
||||||
#0A2989 #00AE42 660
|
#F4EE2A #BECF00 120
|
||||||
#FF6A13 #000000 90
|
|
||||||
#FF6A13 #FFFFFF 570
|
|
||||||
#FF6A13 #545454 180
|
|
||||||
#FF6A13 #F4EE2A 390
|
|
||||||
#FF6A13 #0A2989 270
|
|
||||||
#FF6A13 #0086D6 360
|
|
||||||
#FF6A13 #F7E6DE 330
|
|
||||||
#FF6A13 #00AE42 300
|
|
||||||
#0086D6 #000000 120
|
#0086D6 #000000 120
|
||||||
#0086D6 #FFFFFF 600
|
#0086D6 #FFFFFF 510
|
||||||
#0086D6 #545454 150
|
#0086D6 #545454 150
|
||||||
#0086D6 #8E9089 390
|
#0086D6 #8E9089 180
|
||||||
#0086D6 #C12E1F 420
|
#0086D6 #C12E1F 300
|
||||||
#0086D6 #F4EE2A 480
|
#0086D6 #F4EE2A 360
|
||||||
#0086D6 #0A2989 120
|
#0086D6 #F7E6DE 480
|
||||||
#0086D6 #FF6A13 330
|
#0086D6 #4479fb 120
|
||||||
#0086D6 #F7E6DE 450
|
#0086D6 #5E43B7 210
|
||||||
#0086D6 #00AE42 180
|
#0086D6 #482960 120
|
||||||
#F7E6DE #000000 90
|
#0086D6 #0056B8 150
|
||||||
|
#0086D6 #FEC600 330
|
||||||
|
#0086D6 #EC008C 330
|
||||||
|
#0086D6 #F5547C 330
|
||||||
|
#0086D6 #6F5034 150
|
||||||
|
#0086D6 #FF9016 300
|
||||||
|
#0086D6 #00B1B7 120
|
||||||
|
#0086D6 #BECF00 360
|
||||||
|
#F7E6DE #000000 150
|
||||||
|
#F7E6DE #FFFFFF 150
|
||||||
#F7E6DE #545454 120
|
#F7E6DE #545454 120
|
||||||
|
#F7E6DE #8E9089 150
|
||||||
|
#F7E6DE #C12E1F 150
|
||||||
#F7E6DE #F4EE2A 120
|
#F7E6DE #F4EE2A 120
|
||||||
#F7E6DE #0A2989 150
|
#F7E6DE #0086D6 180
|
||||||
#F7E6DE #FF6A13 120
|
#F7E6DE #4479fb 150
|
||||||
#F7E6DE #00AE42 120
|
#F7E6DE #5E43B7 210
|
||||||
#00AE42 #000000 90
|
#F7E6DE #482960 150
|
||||||
#00AE42 #FFFFFF 630
|
#F7E6DE #0056B8 150
|
||||||
#00AE42 #545454 210
|
#F7E6DE #FEC600 120
|
||||||
#00AE42 #F4EE2A 360
|
#F7E6DE #EC008C 150
|
||||||
#00AE42 #0A2989 210
|
#F7E6DE #F5547C 150
|
||||||
#00AE42 #0086D6 360
|
#F7E6DE #6F5034 150
|
||||||
#00AE42 #F7E6DE 630
|
#F7E6DE #FF9016 120
|
||||||
|
#F7E6DE #00B1B7 120
|
||||||
|
#F7E6DE #BECF00 120
|
||||||
|
#4479fb #000000 120
|
||||||
|
#4479fb #FFFFFF 690
|
||||||
|
#4479fb #545454 330
|
||||||
|
#4479fb #8E9089 330
|
||||||
|
#4479fb #C12E1F 270
|
||||||
|
#4479fb #F4EE2A 480
|
||||||
|
#4479fb #0086D6 750
|
||||||
|
#4479fb #F7E6DE 900
|
||||||
|
#4479fb #5E43B7 450
|
||||||
|
#4479fb #482960 210
|
||||||
|
#4479fb #0056B8 240
|
||||||
|
#4479fb #FEC600 420
|
||||||
|
#4479fb #F5547C 390
|
||||||
|
#4479fb #6F5034 210
|
||||||
|
#4479fb #FF9016 420
|
||||||
|
#4479fb #00B1B7 390
|
||||||
|
#4479fb #BECF00 300
|
||||||
|
#5E43B7 #000000 150
|
||||||
|
#5E43B7 #FFFFFF 360
|
||||||
|
#5E43B7 #545454 150
|
||||||
|
#5E43B7 #8E9089 180
|
||||||
|
#5E43B7 #C12E1F 270
|
||||||
|
#5E43B7 #F4EE2A 570
|
||||||
|
#5E43B7 #0086D6 240
|
||||||
|
#5E43B7 #F7E6DE 660
|
||||||
|
#5E43B7 #4479fb 240
|
||||||
|
#5E43B7 #482960 240
|
||||||
|
#5E43B7 #0056B8 150
|
||||||
|
#5E43B7 #FEC600 390
|
||||||
|
#5E43B7 #EC008C 330
|
||||||
|
#5E43B7 #F5547C 270
|
||||||
|
#5E43B7 #6F5034 150
|
||||||
|
#5E43B7 #FF9016 300
|
||||||
|
#5E43B7 #00B1B7 270
|
||||||
|
#5E43B7 #BECF00 390
|
||||||
|
#482960 #000000 120
|
||||||
|
#482960 #FFFFFF 570
|
||||||
|
#482960 #545454 240
|
||||||
|
#482960 #8E9089 330
|
||||||
|
#482960 #C12E1F 480
|
||||||
|
#482960 #F4EE2A 780
|
||||||
|
#482960 #0086D6 420
|
||||||
|
#482960 #F7E6DE 900
|
||||||
|
#482960 #4479fb 510
|
||||||
|
#482960 #5E43B7 270
|
||||||
|
#482960 #0056B8 420
|
||||||
|
#482960 #FEC600 540
|
||||||
|
#482960 #EC008C 480
|
||||||
|
#482960 #F5547C 390
|
||||||
|
#482960 #6F5034 270
|
||||||
|
#482960 #FF9016 510
|
||||||
|
#482960 #00B1B7 480
|
||||||
|
#482960 #BECF00 540
|
||||||
|
#0056B8 #000000 120
|
||||||
|
#0056B8 #FFFFFF 900
|
||||||
|
#0056B8 #545454 240
|
||||||
|
#0056B8 #8E9089 330
|
||||||
|
#0056B8 #C12E1F 570
|
||||||
|
#0056B8 #F4EE2A 900
|
||||||
|
#0056B8 #0086D6 210
|
||||||
|
#0056B8 #F7E6DE 780
|
||||||
|
#0056B8 #4479fb 300
|
||||||
|
#0056B8 #5E43B7 210
|
||||||
|
#0056B8 #482960 270
|
||||||
|
#0056B8 #FEC600 630
|
||||||
|
#0056B8 #EC008C 540
|
||||||
|
#0056B8 #F5547C 660
|
||||||
|
#0056B8 #6F5034 300
|
||||||
|
#0056B8 #FF9016 690
|
||||||
|
#0056B8 #00B1B7 240
|
||||||
|
#0056B8 #BECF00 540
|
||||||
|
#FEC600 #000000 120
|
||||||
|
#FEC600 #FFFFFF 630
|
||||||
|
#FEC600 #545454 540
|
||||||
|
#FEC600 #8E9089 480
|
||||||
|
#FEC600 #C12E1F 180
|
||||||
|
#FEC600 #F4EE2A 180
|
||||||
|
#FEC600 #0086D6 900
|
||||||
|
#FEC600 #F7E6DE 720
|
||||||
|
#FEC600 #4479fb 210
|
||||||
|
#FEC600 #5E43B7 900
|
||||||
|
#FEC600 #482960 330
|
||||||
|
#FEC600 #0056B8 900
|
||||||
|
#FEC600 #EC008C 660
|
||||||
|
#FEC600 #F5547C 390
|
||||||
|
#FEC600 #6F5034 330
|
||||||
|
#FEC600 #FF9016 270
|
||||||
|
#FEC600 #00B1B7 630
|
||||||
|
#FEC600 #BECF00 210
|
||||||
|
#EC008C #000000 120
|
||||||
|
#EC008C #FFFFFF 540
|
||||||
|
#EC008C #545454 270
|
||||||
|
#EC008C #8E9089 330
|
||||||
|
#EC008C #C12E1F 120
|
||||||
|
#EC008C #F4EE2A 900
|
||||||
|
#EC008C #0086D6 330
|
||||||
|
#EC008C #4479fb 450
|
||||||
|
#EC008C #5E43B7 210
|
||||||
|
#EC008C #482960 180
|
||||||
|
#EC008C #0056B8 300
|
||||||
|
#EC008C #FEC600 360
|
||||||
|
#EC008C #F5547C 210
|
||||||
|
#EC008C #6F5034 240
|
||||||
|
#EC008C #FF9016 240
|
||||||
|
#EC008C #00B1B7 450
|
||||||
|
#EC008C #BECF00 510
|
||||||
|
#F5547C #000000 120
|
||||||
|
#F5547C #FFFFFF 570
|
||||||
|
#F5547C #545454 210
|
||||||
|
#F5547C #8E9089 240
|
||||||
|
#F5547C #C12E1F 150
|
||||||
|
#F5547C #F4EE2A 750
|
||||||
|
#F5547C #0086D6 270
|
||||||
|
#F5547C #F7E6DE 900
|
||||||
|
#F5547C #4479fb 540
|
||||||
|
#F5547C #5E43B7 150
|
||||||
|
#F5547C #482960 180
|
||||||
|
#F5547C #0056B8 150
|
||||||
|
#F5547C #FEC600 330
|
||||||
|
#F5547C #EC008C 150
|
||||||
|
#F5547C #6F5034 180
|
||||||
|
#F5547C #FF9016 270
|
||||||
|
#F5547C #00B1B7 390
|
||||||
|
#F5547C #BECF00 360
|
||||||
|
#6F5034 #000000 150
|
||||||
|
#6F5034 #FFFFFF 600
|
||||||
|
#6F5034 #545454 150
|
||||||
|
#6F5034 #8E9089 270
|
||||||
|
#6F5034 #C12E1F 180
|
||||||
|
#6F5034 #F4EE2A 360
|
||||||
|
#6F5034 #0086D6 360
|
||||||
|
#6F5034 #F7E6DE 390
|
||||||
|
#6F5034 #4479fb 330
|
||||||
|
#6F5034 #5E43B7 240
|
||||||
|
#6F5034 #482960 180
|
||||||
|
#6F5034 #0056B8 300
|
||||||
|
#6F5034 #FEC600 300
|
||||||
|
#6F5034 #EC008C 270
|
||||||
|
#6F5034 #F5547C 240
|
||||||
|
#6F5034 #FF9016 270
|
||||||
|
#6F5034 #00B1B7 270
|
||||||
|
#6F5034 #BECF00 390
|
||||||
|
#FF9016 #000000 120
|
||||||
|
#FF9016 #FFFFFF 450
|
||||||
|
#FF9016 #545454 240
|
||||||
|
#FF9016 #8E9089 300
|
||||||
|
#FF9016 #C12E1F 150
|
||||||
|
#FF9016 #F4EE2A 480
|
||||||
|
#FF9016 #0086D6 660
|
||||||
|
#FF9016 #F7E6DE 690
|
||||||
|
#FF9016 #4479fb 360
|
||||||
|
#FF9016 #5E43B7 360
|
||||||
|
#FF9016 #482960 210
|
||||||
|
#FF9016 #0056B8 330
|
||||||
|
#FF9016 #FEC600 210
|
||||||
|
#FF9016 #EC008C 240
|
||||||
|
#FF9016 #F5547C 210
|
||||||
|
#FF9016 #6F5034 270
|
||||||
|
#FF9016 #00B1B7 390
|
||||||
|
#FF9016 #BECF00 330
|
||||||
|
#00B1B7 #FFFFFF 630
|
||||||
|
#00B1B7 #8E9089 240
|
||||||
|
#00B1B7 #F4EE2A 390
|
||||||
|
#00B1B7 #EC008C 240
|
||||||
|
#00B1B7 #6F5034 360
|
||||||
|
#00B1B7 #FF9016 300
|
||||||
|
#00B1B7 #00B1B7 390
|
||||||
|
#00B1B7 #BECF00 300
|
||||||
|
#BECF00 #000000 150
|
||||||
|
#BECF00 #FFFFFF 630
|
||||||
|
#BECF00 #8E9089 300
|
||||||
|
#BECF00 #C12E1F 150
|
||||||
|
#BECF00 #F4EE2A 150
|
||||||
|
#BECF00 #0086D6 270
|
||||||
|
#BECF00 #F7E6DE 540
|
||||||
|
#BECF00 #4479fb 150
|
||||||
|
#BECF00 #5E43B7 270
|
||||||
|
#BECF00 #482960 210
|
||||||
|
#BECF00 #0056B8 240
|
||||||
|
#BECF00 #FEC600 120
|
||||||
|
#BECF00 #EC008C 270
|
||||||
|
#BECF00 #F5547C 270
|
||||||
|
#BECF00 #6F5034 150
|
||||||
|
#BECF00 #FF9016 120
|
||||||
|
#BECF00 #00B1B7 330
|
||||||
@@ -1,99 +1,338 @@
|
|||||||
colors
|
colors
|
||||||
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0A2989 #FF6A13 #0086D6 #F7E6DE #00AE42
|
#000000 #FFFFFF #545454 #8E9089 #C12E1F #F4EE2A #0086D6 #F7E6DE #4479fb #5E43B7 #482960 #0056B8 #FEC600 #EC008C #F5547C #6F5034 #FF9016 #00B1B7 #BECF00
|
||||||
src dst flush
|
src dst flush
|
||||||
#000000 #FFFFFF 900
|
#000000 #FFFFFF 900
|
||||||
#000000 #545454 270
|
#000000 #545454 450
|
||||||
#000000 #8E9089 510
|
#000000 #8E9089 540
|
||||||
#000000 #C12E1F 900
|
#000000 #C12E1F 600
|
||||||
#000000 #F4EE2A 900
|
#000000 #F4EE2A 900
|
||||||
#000000 #0A2989 360
|
#000000 #0086D6 570
|
||||||
#000000 #FF6A13 900
|
|
||||||
#000000 #0086D6 630
|
|
||||||
#000000 #F7E6DE 900
|
#000000 #F7E6DE 900
|
||||||
#000000 #00AE42 780
|
#000000 #4479fb 810
|
||||||
|
#000000 #5E43B7 480
|
||||||
|
#000000 #482960 270
|
||||||
|
#000000 #0056B8 540
|
||||||
|
#000000 #FEC600 900
|
||||||
|
#000000 #EC008C 900
|
||||||
|
#000000 #F5547C 900
|
||||||
|
#000000 #FF9016 900
|
||||||
|
#000000 #00B1B7 630
|
||||||
|
#000000 #BECF00 900
|
||||||
#FFFFFF #000000 90
|
#FFFFFF #000000 90
|
||||||
#FFFFFF #545454 90
|
#FFFFFF #545454 240
|
||||||
#FFFFFF #8E9089 180
|
#FFFFFF #8E9089 120
|
||||||
#FFFFFF #F4EE2A 150
|
#FFFFFF #C12E1F 90
|
||||||
#FFFFFF #0A2989 60
|
#FFFFFF #F4EE2A 90
|
||||||
#FFFFFF #FF6A13 150
|
#FFFFFF #0086D6 90
|
||||||
#FFFFFF #00AE42 150
|
#FFFFFF #F7E6DE 90
|
||||||
|
#FFFFFF #4479fb 120
|
||||||
|
#FFFFFF #5E43B7 90
|
||||||
|
#FFFFFF #0056B8 90
|
||||||
|
#FFFFFF #FEC600 150
|
||||||
|
#FFFFFF #EC008C 150
|
||||||
|
#FFFFFF #F5547C 120
|
||||||
|
#FFFFFF #6F5034 120
|
||||||
|
#FFFFFF #FF9016 120
|
||||||
|
#FFFFFF #00B1B7 120
|
||||||
|
#FFFFFF #BECF00 90
|
||||||
#545454 #000000 90
|
#545454 #000000 90
|
||||||
#545454 #8E9089 240
|
#545454 #FFFFFF 360
|
||||||
#545454 #C12E1F 360
|
#545454 #8E9089 120
|
||||||
#545454 #F4EE2A 390
|
#545454 #C12E1F 270
|
||||||
#545454 #0A2989 180
|
#545454 #F4EE2A 330
|
||||||
#545454 #FF6A13 300
|
|
||||||
#545454 #0086D6 270
|
#545454 #0086D6 270
|
||||||
#545454 #F7E6DE 330
|
#545454 #F7E6DE 390
|
||||||
#545454 #00AE42 390
|
#545454 #4479fb 270
|
||||||
#8E9089 #000000 210
|
#545454 #5E43B7 120
|
||||||
#8E9089 #FFFFFF 390
|
#545454 #482960 150
|
||||||
#8E9089 #545454 150
|
#545454 #0056B8 180
|
||||||
#8E9089 #F4EE2A 330
|
#545454 #FEC600 300
|
||||||
#8E9089 #0A2989 330
|
#545454 #EC008C 240
|
||||||
|
#545454 #F5547C 300
|
||||||
|
#545454 #6F5034 120
|
||||||
|
#545454 #FF9016 240
|
||||||
|
#545454 #00B1B7 270
|
||||||
|
#545454 #BECF00 300
|
||||||
|
#8E9089 #000000 270
|
||||||
|
#8E9089 #FFFFFF 330
|
||||||
|
#8E9089 #545454 300
|
||||||
|
#8E9089 #C12E1F 240
|
||||||
|
#8E9089 #F4EE2A 240
|
||||||
|
#8E9089 #0086D6 240
|
||||||
#8E9089 #F7E6DE 390
|
#8E9089 #F7E6DE 390
|
||||||
#8E9089 #00AE42 240
|
#8E9089 #4479fb 210
|
||||||
#C12E1F #000000 90
|
#8E9089 #5E43B7 270
|
||||||
#C12E1F #FFFFFF 780
|
#8E9089 #482960 300
|
||||||
#C12E1F #545454 360
|
#8E9089 #0056B8 180
|
||||||
#C12E1F #8E9089 510
|
#8E9089 #FEC600 240
|
||||||
#C12E1F #F4EE2A 600
|
#8E9089 #EC008C 240
|
||||||
#C12E1F #0A2989 420
|
#8E9089 #F5547C 240
|
||||||
#C12E1F #FF6A13 390
|
#8E9089 #6F5034 210
|
||||||
#C12E1F #0086D6 450
|
#8E9089 #FF9016 240
|
||||||
#C12E1F #F7E6DE 600
|
#8E9089 #00B1B7 210
|
||||||
#C12E1F #00AE42 510
|
#8E9089 #BECF00 270
|
||||||
#F4EE2A #000000 90
|
#C12E1F #000000 150
|
||||||
#F4EE2A #FFFFFF 690
|
#C12E1F #FFFFFF 900
|
||||||
|
#C12E1F #545454 300
|
||||||
|
#C12E1F #8E9089 570
|
||||||
|
#C12E1F #F4EE2A 450
|
||||||
|
#C12E1F #0086D6 390
|
||||||
|
#C12E1F #F7E6DE 630
|
||||||
|
#C12E1F #4479fb 420
|
||||||
|
#C12E1F #5E43B7 330
|
||||||
|
#C12E1F #482960 210
|
||||||
|
#C12E1F #0056B8 300
|
||||||
|
#C12E1F #FEC600 660
|
||||||
|
#C12E1F #EC008C 240
|
||||||
|
#C12E1F #F5547C 180
|
||||||
|
#C12E1F #6F5034 210
|
||||||
|
#C12E1F #FF9016 270
|
||||||
|
#C12E1F #00B1B7 540
|
||||||
|
#C12E1F #BECF00 360
|
||||||
|
#F4EE2A #000000 150
|
||||||
|
#F4EE2A #FFFFFF 900
|
||||||
#F4EE2A #545454 390
|
#F4EE2A #545454 390
|
||||||
#F4EE2A #8E9089 480
|
#F4EE2A #8E9089 450
|
||||||
#F4EE2A #0A2989 390
|
#F4EE2A #C12E1F 180
|
||||||
#F4EE2A #FF6A13 180
|
#F4EE2A #0086D6 270
|
||||||
#F4EE2A #0086D6 450
|
#F4EE2A #F7E6DE 570
|
||||||
#F4EE2A #F7E6DE 690
|
#F4EE2A #4479fb 120
|
||||||
#0A2989 #000000 90
|
#F4EE2A #5E43B7 330
|
||||||
#0A2989 #FFFFFF 630
|
#F4EE2A #482960 330
|
||||||
#0A2989 #545454 300
|
#F4EE2A #0056B8 240
|
||||||
#0A2989 #8E9089 450
|
#F4EE2A #FEC600 90
|
||||||
#0A2989 #C12E1F 450
|
#F4EE2A #EC008C 330
|
||||||
#0A2989 #F4EE2A 510
|
#F4EE2A #F5547C 420
|
||||||
#0A2989 #FF6A13 420
|
#F4EE2A #6F5034 240
|
||||||
#0A2989 #0086D6 330
|
#F4EE2A #FF9016 150
|
||||||
#0A2989 #F7E6DE 630
|
#F4EE2A #00B1B7 360
|
||||||
#0A2989 #00AE42 390
|
#F4EE2A #BECF00 240
|
||||||
#FF6A13 #000000 90
|
#0086D6 #000000 150
|
||||||
#FF6A13 #FFFFFF 420
|
#0086D6 #FFFFFF 420
|
||||||
#FF6A13 #545454 90
|
#0086D6 #545454 120
|
||||||
#FF6A13 #8E9089 360
|
#0086D6 #8E9089 480
|
||||||
#FF6A13 #C12E1F 180
|
#0086D6 #C12E1F 240
|
||||||
#FF6A13 #F4EE2A 180
|
#0086D6 #F4EE2A 360
|
||||||
#FF6A13 #0A2989 210
|
#0086D6 #F7E6DE 390
|
||||||
#FF6A13 #0086D6 360
|
#0086D6 #4479fb 120
|
||||||
#FF6A13 #F7E6DE 420
|
#0086D6 #5E43B7 150
|
||||||
#FF6A13 #00AE42 240
|
#0086D6 #482960 150
|
||||||
#0086D6 #000000 90
|
#0086D6 #0056B8 120
|
||||||
#0086D6 #FFFFFF 510
|
#0086D6 #EC008C 330
|
||||||
#0086D6 #545454 150
|
#0086D6 #F5547C 330
|
||||||
#0086D6 #8E9089 420
|
#0086D6 #6F5034 150
|
||||||
#0086D6 #C12E1F 420
|
#0086D6 #FF9016 300
|
||||||
#0086D6 #F4EE2A 420
|
#0086D6 #00B1B7 150
|
||||||
#0086D6 #0A2989 120
|
#0086D6 #BECF00 270
|
||||||
#0086D6 #FF6A13 390
|
|
||||||
#0086D6 #F7E6DE 510
|
|
||||||
#0086D6 #00AE42 300
|
|
||||||
#F7E6DE #000000 90
|
#F7E6DE #000000 90
|
||||||
#F7E6DE #545454 90
|
#F7E6DE #FFFFFF 90
|
||||||
#F7E6DE #8E9089 180
|
#F7E6DE #545454 120
|
||||||
#F7E6DE #F4EE2A 150
|
#F7E6DE #8E9089 120
|
||||||
#F7E6DE #0A2989 60
|
#F7E6DE #C12E1F 90
|
||||||
#F7E6DE #FF6A13 150
|
#F7E6DE #F4EE2A 60
|
||||||
#F7E6DE #00AE42 150
|
#F7E6DE #0086D6 90
|
||||||
#00AE42 #FFFFFF 570
|
#F7E6DE #4479fb 90
|
||||||
#00AE42 #545454 270
|
#F7E6DE #5E43B7 90
|
||||||
#00AE42 #8E9089 480
|
#F7E6DE #482960 120
|
||||||
#00AE42 #F4EE2A 450
|
#F7E6DE #0056B8 120
|
||||||
#00AE42 #0A2989 270
|
#F7E6DE #FEC600 120
|
||||||
#00AE42 #FF6A13 300
|
#F7E6DE #EC008C 150
|
||||||
#00AE42 #0086D6 390
|
#F7E6DE #F5547C 120
|
||||||
#00AE42 #F7E6DE 570
|
#F7E6DE #6F5034 150
|
||||||
|
#F7E6DE #FF9016 120
|
||||||
|
#F7E6DE #00B1B7 90
|
||||||
|
#F7E6DE #BECF00 120
|
||||||
|
#4479fb #000000 150
|
||||||
|
#4479fb #FFFFFF 900
|
||||||
|
#4479fb #545454 240
|
||||||
|
#4479fb #8E9089 330
|
||||||
|
#4479fb #C12E1F 210
|
||||||
|
#4479fb #F4EE2A 270
|
||||||
|
#4479fb #F7E6DE 360
|
||||||
|
#4479fb #5E43B7 180
|
||||||
|
#4479fb #482960 180
|
||||||
|
#4479fb #0056B8 240
|
||||||
|
#4479fb #FEC600 300
|
||||||
|
#4479fb #EC008C 300
|
||||||
|
#4479fb #F5547C 390
|
||||||
|
#4479fb #6F5034 180
|
||||||
|
#4479fb #FF9016 300
|
||||||
|
#4479fb #00B1B7 360
|
||||||
|
#4479fb #BECF00 270
|
||||||
|
#5E43B7 #000000 90
|
||||||
|
#5E43B7 #FFFFFF 630
|
||||||
|
#5E43B7 #545454 150
|
||||||
|
#5E43B7 #8E9089 210
|
||||||
|
#5E43B7 #C12E1F 210
|
||||||
|
#5E43B7 #F4EE2A 330
|
||||||
|
#5E43B7 #0086D6 180
|
||||||
|
#5E43B7 #F7E6DE 510
|
||||||
|
#5E43B7 #4479fb 240
|
||||||
|
#5E43B7 #482960 150
|
||||||
|
#5E43B7 #0056B8 120
|
||||||
|
#5E43B7 #FEC600 540
|
||||||
|
#5E43B7 #EC008C 270
|
||||||
|
#5E43B7 #F5547C 420
|
||||||
|
#5E43B7 #6F5034 150
|
||||||
|
#5E43B7 #FF9016 330
|
||||||
|
#5E43B7 #00B1B7 270
|
||||||
|
#5E43B7 #BECF00 330
|
||||||
|
#482960 #000000 90
|
||||||
|
#482960 #FFFFFF 900
|
||||||
|
#482960 #545454 240
|
||||||
|
#482960 #8E9089 510
|
||||||
|
#482960 #C12E1F 360
|
||||||
|
#482960 #F4EE2A 420
|
||||||
|
#482960 #0086D6 330
|
||||||
|
#482960 #F7E6DE 510
|
||||||
|
#482960 #4479fb 390
|
||||||
|
#482960 #5E43B7 270
|
||||||
|
#482960 #0056B8 300
|
||||||
|
#482960 #FEC600 660
|
||||||
|
#482960 #EC008C 360
|
||||||
|
#482960 #F5547C 510
|
||||||
|
#482960 #6F5034 180
|
||||||
|
#482960 #FF9016 540
|
||||||
|
#482960 #00B1B7 450
|
||||||
|
#482960 #BECF00 600
|
||||||
|
#0056B8 #000000 90
|
||||||
|
#0056B8 #FFFFFF 780
|
||||||
|
#0056B8 #545454 270
|
||||||
|
#0056B8 #8E9089 270
|
||||||
|
#0056B8 #C12E1F 330
|
||||||
|
#0056B8 #F4EE2A 630
|
||||||
|
#0056B8 #0086D6 180
|
||||||
|
#0056B8 #F7E6DE 840
|
||||||
|
#0056B8 #4479fb 270
|
||||||
|
#0056B8 #5E43B7 270
|
||||||
|
#0056B8 #482960 150
|
||||||
|
#0056B8 #FEC600 630
|
||||||
|
#0056B8 #EC008C 450
|
||||||
|
#0056B8 #6F5034 240
|
||||||
|
#0056B8 #FF9016 510
|
||||||
|
#0056B8 #00B1B7 240
|
||||||
|
#0056B8 #BECF00 510
|
||||||
|
#FEC600 #000000 90
|
||||||
|
#FEC600 #FFFFFF 900
|
||||||
|
#FEC600 #545454 390
|
||||||
|
#FEC600 #8E9089 600
|
||||||
|
#FEC600 #C12E1F 180
|
||||||
|
#FEC600 #F4EE2A 150
|
||||||
|
#FEC600 #0086D6 330
|
||||||
|
#FEC600 #F7E6DE 600
|
||||||
|
#FEC600 #4479fb 180
|
||||||
|
#FEC600 #5E43B7 270
|
||||||
|
#FEC600 #482960 330
|
||||||
|
#FEC600 #0056B8 300
|
||||||
|
#FEC600 #EC008C 390
|
||||||
|
#FEC600 #F5547C 570
|
||||||
|
#FEC600 #6F5034 240
|
||||||
|
#FEC600 #FF9016 150
|
||||||
|
#FEC600 #00B1B7 510
|
||||||
|
#FEC600 #BECF00 300
|
||||||
|
#EC008C #000000 90
|
||||||
|
#EC008C #FFFFFF 900
|
||||||
|
#EC008C #545454 240
|
||||||
|
#EC008C #8E9089 270
|
||||||
|
#EC008C #C12E1F 120
|
||||||
|
#EC008C #F4EE2A 360
|
||||||
|
#EC008C #0086D6 270
|
||||||
|
#EC008C #F7E6DE 660
|
||||||
|
#EC008C #4479fb 330
|
||||||
|
#EC008C #5E43B7 270
|
||||||
|
#EC008C #482960 270
|
||||||
|
#EC008C #0056B8 210
|
||||||
|
#EC008C #FEC600 510
|
||||||
|
#EC008C #F5547C 120
|
||||||
|
#EC008C #6F5034 180
|
||||||
|
#EC008C #00B1B7 360
|
||||||
|
#EC008C #BECF00 570
|
||||||
|
#F5547C #000000 90
|
||||||
|
#F5547C #FFFFFF 900
|
||||||
|
#F5547C #545454 180
|
||||||
|
#F5547C #8E9089 180
|
||||||
|
#F5547C #C12E1F 150
|
||||||
|
#F5547C #F4EE2A 270
|
||||||
|
#F5547C #0086D6 270
|
||||||
|
#F5547C #F7E6DE 540
|
||||||
|
#F5547C #4479fb 300
|
||||||
|
#F5547C #5E43B7 210
|
||||||
|
#F5547C #482960 240
|
||||||
|
#F5547C #0056B8 210
|
||||||
|
#F5547C #FEC600 330
|
||||||
|
#F5547C #EC008C 120
|
||||||
|
#F5547C #6F5034 180
|
||||||
|
#F5547C #FF9016 150
|
||||||
|
#F5547C #00B1B7 300
|
||||||
|
#F5547C #BECF00 330
|
||||||
|
#6F5034 #000000 180
|
||||||
|
#6F5034 #FFFFFF 660
|
||||||
|
#6F5034 #545454 180
|
||||||
|
#6F5034 #8E9089 240
|
||||||
|
#6F5034 #C12E1F 240
|
||||||
|
#6F5034 #F4EE2A 390
|
||||||
|
#6F5034 #0086D6 330
|
||||||
|
#6F5034 #F7E6DE 420
|
||||||
|
#6F5034 #4479fb 300
|
||||||
|
#6F5034 #5E43B7 300
|
||||||
|
#6F5034 #482960 180
|
||||||
|
#6F5034 #0056B8 300
|
||||||
|
#6F5034 #FEC600 270
|
||||||
|
#6F5034 #EC008C 210
|
||||||
|
#6F5034 #F5547C 240
|
||||||
|
#6F5034 #FF9016 240
|
||||||
|
#6F5034 #00B1B7 270
|
||||||
|
#6F5034 #BECF00 360
|
||||||
|
#FF9016 #FFFFFF 900
|
||||||
|
#FF9016 #545454 240
|
||||||
|
#FF9016 #8E9089 270
|
||||||
|
#FF9016 #C12E1F 150
|
||||||
|
#FF9016 #F4EE2A 330
|
||||||
|
#FF9016 #0086D6 240
|
||||||
|
#FF9016 #F7E6DE 390
|
||||||
|
#FF9016 #4479fb 240
|
||||||
|
#FF9016 #5E43B7 270
|
||||||
|
#FF9016 #482960 180
|
||||||
|
#FF9016 #0056B8 240
|
||||||
|
#FF9016 #FEC600 210
|
||||||
|
#FF9016 #EC008C 210
|
||||||
|
#FF9016 #F5547C 210
|
||||||
|
#FF9016 #6F5034 180
|
||||||
|
#FF9016 #00B1B7 300
|
||||||
|
#FF9016 #BECF00 270
|
||||||
|
#00B1B7 #000000 210
|
||||||
|
#00B1B7 #FFFFFF 480
|
||||||
|
#00B1B7 #545454 300
|
||||||
|
#00B1B7 #8E9089 180
|
||||||
|
#00B1B7 #C12E1F 300
|
||||||
|
#00B1B7 #F4EE2A 300
|
||||||
|
#00B1B7 #0086D6 150
|
||||||
|
#00B1B7 #F7E6DE 390
|
||||||
|
#00B1B7 #4479fb 120
|
||||||
|
#00B1B7 #5E43B7 270
|
||||||
|
#00B1B7 #482960 270
|
||||||
|
#00B1B7 #0056B8 150
|
||||||
|
#00B1B7 #FEC600 330
|
||||||
|
#00B1B7 #EC008C 270
|
||||||
|
#00B1B7 #F5547C 270
|
||||||
|
#00B1B7 #6F5034 210
|
||||||
|
#00B1B7 #FF9016 270
|
||||||
|
#00B1B7 #BECF00 240
|
||||||
|
#BECF00 #000000 270
|
||||||
|
#BECF00 #FFFFFF 450
|
||||||
|
#BECF00 #545454 270
|
||||||
|
#BECF00 #8E9089 270
|
||||||
|
#BECF00 #C12E1F 150
|
||||||
|
#BECF00 #F4EE2A 90
|
||||||
|
#BECF00 #0086D6 300
|
||||||
|
#BECF00 #F7E6DE 300
|
||||||
|
#BECF00 #4479fb 180
|
||||||
|
#BECF00 #5E43B7 270
|
||||||
|
#BECF00 #482960 210
|
||||||
|
#BECF00 #0056B8 240
|
||||||
|
#BECF00 #FEC600 210
|
||||||
|
#BECF00 #EC008C 240
|
||||||
|
#BECF00 #F5547C 150
|
||||||
|
#BECF00 #6F5034 150
|
||||||
|
#BECF00 #FF9016 150
|
||||||
|
#BECF00 #00B1B7 270
|
||||||
@@ -1,14 +1,14 @@
|
|||||||
colors
|
colors
|
||||||
#000000 #C12E1F #00AE42 #545454 #D1D3D5 #5B6579 #F4EE2A #9D432C #5E43B7 #0A2989 #FF6A13 #8E9089
|
#000000 #C12E1F #4479fb #545454 #D1D3D5 #5B6579 #F4EE2A #9D432C #5E43B7 #0A2989 #FF6A13 #8E9089
|
||||||
src dst flush
|
src dst flush
|
||||||
#000000 #F4EE2A 450
|
#000000 #F4EE2A 450
|
||||||
#000000 #5E43B7 330
|
#000000 #5E43B7 330
|
||||||
#C12E1F #F4EE2A 420
|
#C12E1F #F4EE2A 420
|
||||||
#C12E1F #FF6A13 210
|
#C12E1F #FF6A13 210
|
||||||
#00AE42 #D1D3D5 330
|
#4479fb #D1D3D5 330
|
||||||
#00AE42 #F4EE2A 240
|
#4479fb #F4EE2A 240
|
||||||
#00AE42 #FF6A13 270
|
#4479fb #FF6A13 270
|
||||||
#545454 #00AE42 180
|
#545454 #4479fb 180
|
||||||
#545454 #D1D3D5 240
|
#545454 #D1D3D5 240
|
||||||
#545454 #F4EE2A 270
|
#545454 #F4EE2A 270
|
||||||
#545454 #5E43B7 120
|
#545454 #5E43B7 120
|
||||||
@@ -17,7 +17,7 @@ src dst flush
|
|||||||
#D1D3D5 #F4EE2A 120
|
#D1D3D5 #F4EE2A 120
|
||||||
#D1D3D5 #FF6A13 150
|
#D1D3D5 #FF6A13 150
|
||||||
#5B6579 #C12E1F 120
|
#5B6579 #C12E1F 120
|
||||||
#5B6579 #00AE42 90
|
#5B6579 #4479fb 90
|
||||||
#5B6579 #D1D3D5 120
|
#5B6579 #D1D3D5 120
|
||||||
#5B6579 #F4EE2A 180
|
#5B6579 #F4EE2A 180
|
||||||
#5B6579 #9D432C 120
|
#5B6579 #9D432C 120
|
||||||
@@ -26,22 +26,22 @@ src dst flush
|
|||||||
#5B6579 #8E9089 90
|
#5B6579 #8E9089 90
|
||||||
#F4EE2A #000000 120
|
#F4EE2A #000000 120
|
||||||
#F4EE2A #C12E1F 90
|
#F4EE2A #C12E1F 90
|
||||||
#F4EE2A #00AE42 150
|
#F4EE2A #4479fb 150
|
||||||
#F4EE2A #9D432C 150
|
#F4EE2A #9D432C 150
|
||||||
#F4EE2A #FF6A13 90
|
#F4EE2A #FF6A13 90
|
||||||
#9D432C #00AE42 240
|
#9D432C #4479fb 240
|
||||||
#9D432C #D1D3D5 300
|
#9D432C #D1D3D5 300
|
||||||
#9D432C #F4EE2A 270
|
#9D432C #F4EE2A 270
|
||||||
#9D432C #FF6A13 180
|
#9D432C #FF6A13 180
|
||||||
#9D432C #8E9089 210
|
#9D432C #8E9089 210
|
||||||
#5E43B7 #00AE42 180
|
#5E43B7 #4479fb 180
|
||||||
#5E43B7 #D1D3D5 270
|
#5E43B7 #D1D3D5 270
|
||||||
#5E43B7 #F4EE2A 270
|
#5E43B7 #F4EE2A 270
|
||||||
#5E43B7 #9D432C 150
|
#5E43B7 #9D432C 150
|
||||||
#5E43B7 #FF6A13 270
|
#5E43B7 #FF6A13 270
|
||||||
#5E43B7 #8E9089 210
|
#5E43B7 #8E9089 210
|
||||||
#0A2989 #C12E1F 330
|
#0A2989 #C12E1F 330
|
||||||
#0A2989 #00AE42 210
|
#0A2989 #4479fb 210
|
||||||
#0A2989 #545454 150
|
#0A2989 #545454 150
|
||||||
#0A2989 #D1D3D5 450
|
#0A2989 #D1D3D5 450
|
||||||
#0A2989 #5B6579 240
|
#0A2989 #5B6579 240
|
||||||
@@ -55,7 +55,7 @@ src dst flush
|
|||||||
#FF6A13 #9D432C 120
|
#FF6A13 #9D432C 120
|
||||||
#FF6A13 #8E9089 180
|
#FF6A13 #8E9089 180
|
||||||
#8E9089 #C12E1F 150
|
#8E9089 #C12E1F 150
|
||||||
#8E9089 #00AE42 120
|
#8E9089 #4479fb 120
|
||||||
#8E9089 #D1D3D5 150
|
#8E9089 #D1D3D5 150
|
||||||
#8E9089 #F4EE2A 270
|
#8E9089 #F4EE2A 270
|
||||||
#8E9089 #FF6A13 150
|
#8E9089 #FF6A13 150
|
||||||
BIN
resources/i18n/pt_BR/QIDIStudio.mo
Normal file
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 9.8 KiB |
11
resources/images/QIDIStudio_p.svg
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<svg width="93" height="26" viewBox="0 0 93 26" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M15.3128 20.7596V18.6694V15.2999C15.3128 14.9344 15.5068 14.5974 15.8263 14.4147L20.2992 11.8276L22.3474 10.6454V7.32727C22.3474 6.59626 21.9594 5.91664 21.3262 5.55114L12.1978 0.274131C11.5645 -0.091377 10.7829 -0.091377 10.1496 0.274131L1.02124 5.55114C0.387957 5.91664 0 6.59626 0 7.32727V17.8813C0 18.6123 0.387957 19.2919 1.02124 19.6574L10.1496 24.9344C10.7829 25.2999 11.5645 25.2999 12.1978 24.9344L15.3128 23.1354V20.7596ZM12.1921 10.8396C11.5588 11.2051 11.1708 11.8847 11.1708 12.6157V21.3821C11.1708 22.1703 10.3151 22.6614 9.63613 22.2674L2.55594 18.1782C2.23645 17.9955 2.04247 17.6585 2.04247 17.293V7.92693C2.04247 7.56142 2.23645 7.22447 2.55594 7.04172L10.6574 2.35866C10.9769 2.17591 11.3648 2.17591 11.6786 2.35866L17.7376 5.85953C18.4222 6.25359 18.4222 7.2416 17.7376 7.63566L12.1921 10.8396Z" fill="#5475FF"/>
|
||||||
|
<path d="M23.7469 9.83924L22.3549 10.6445V13.5286V13.8084V17.3036V18.4915C22.3549 18.8513 22.1609 19.1825 21.8414 19.3538L21.733 19.4167L21.5847 19.5023L20.301 20.2448L19.4737 20.7245L15.3203 23.1231V24.1397V24.6251V24.6423V24.7051C15.3374 25.4646 16.1419 25.9501 16.8208 25.6074L16.855 25.5903L17.6766 25.1163L24.7682 20.9986C25.082 20.8159 25.2759 20.4789 25.2759 20.1134V10.7302C25.2817 9.94203 24.4259 9.44517 23.7469 9.83924Z" fill="#5475FF"/>
|
||||||
|
<path d="M66.4018 11.0684H64.1543C63.8168 11.0684 63.5469 11.3386 63.5469 11.6764V20.1822C63.5469 20.52 63.8168 20.7902 64.1543 20.7902H66.4018C66.7392 20.7902 67.0092 20.52 67.0092 20.1822V11.6764C67.0024 11.3386 66.7325 11.0684 66.4018 11.0684Z" fill="#777777"/>
|
||||||
|
<path d="M66.4018 8.96777H64.1543C63.8168 8.96777 63.5469 8.69753 63.5469 8.35973V6.10999C63.5469 5.77219 63.8168 5.50195 64.1543 5.50195H66.4018C66.7392 5.50195 67.0092 5.77219 67.0092 6.10999V8.35973C67.0024 8.69753 66.7325 8.96777 66.4018 8.96777Z" fill="#777777"/>
|
||||||
|
<path d="M92.0424 11.0684H89.7949C89.4575 11.0684 89.1875 11.3386 89.1875 11.6764V20.1822C89.1875 20.52 89.4575 20.7902 89.7949 20.7902H92.0424C92.3798 20.7902 92.6498 20.52 92.6498 20.1822V11.6764C92.6498 11.3386 92.3798 11.0684 92.0424 11.0684Z" fill="#777777"/>
|
||||||
|
<path d="M92.0424 8.96777H89.7949C89.4575 8.96777 89.1875 8.69753 89.1875 8.35973V6.10999C89.1875 5.77219 89.4575 5.50195 89.7949 5.50195H92.0424C92.3798 5.50195 92.6498 5.77219 92.6498 6.10999V8.35973C92.6498 8.69753 92.3798 8.96777 92.0424 8.96777Z" fill="#777777"/>
|
||||||
|
<path d="M80.0021 5.50781H79.0774H77.6736H74.974H73.7591H71.0595C70.722 5.50781 70.4521 5.77805 70.4521 6.11585V8.35884C70.4521 8.69664 70.722 8.96688 71.0595 8.96688H73.7591V8.98039H77.6669H78.0853H79.0639H79.8333C81.1697 8.98039 82.2563 10.0681 82.2563 11.4058V13.1488V13.1623V14.9054C82.2563 16.2431 81.1697 17.3308 79.8333 17.3308H78.0853H76.4858H76.3305H74.515C74.1776 17.3308 73.9076 17.0606 73.9076 16.7228V14.9054V14.3784V14.223V13.7636C73.9076 13.4258 73.6376 13.1556 73.3002 13.1556H71.0527C70.7153 13.1556 70.4453 13.4258 70.4453 13.7636V14.223V20.1751C70.4453 20.5129 70.7153 20.7831 71.0527 20.7831H71.3092H73.9076H75.7434C75.8851 20.7966 76.0268 20.7966 76.1753 20.7966H79.9886C83.1471 20.7966 85.7118 18.2293 85.7118 15.0675V13.1691V13.1556V11.2572C85.7253 8.07509 83.1607 5.50781 80.0021 5.50781Z" fill="#777777"/>
|
||||||
|
<path d="M54.3479 5.50781H50.5279C47.3694 5.50781 44.8047 8.07509 44.8047 11.2369V11.9463V13.1488V14.8986V15.054C44.8047 18.2158 47.3694 20.7831 50.5279 20.7831H51.8305C52.168 20.7831 52.4379 20.5129 52.4379 20.1751V17.9253C52.4379 17.5875 52.168 17.3173 51.8305 17.3173H50.6832C49.3468 17.3173 48.2602 16.2296 48.2602 14.8919V13.1421V11.9395V11.3855C48.2602 10.0478 49.3468 8.96012 50.6832 8.96012H54.186C55.5223 8.96012 56.6089 10.0478 56.6089 11.3855V12.534C56.6089 12.8718 56.8789 13.1421 57.2163 13.1421H59.4638C59.8012 13.1421 60.0712 12.8718 60.0712 12.534V11.2774C60.0712 11.2639 60.0712 11.2504 60.0712 11.2301C60.0779 8.06833 57.5133 5.50781 54.3479 5.50781Z" fill="#777777"/>
|
||||||
|
<path d="M59.8929 18.1633L55.0606 13.326C54.9458 13.2112 54.7906 13.1504 54.6354 13.1504H51.4498C50.9099 13.1504 50.6399 13.8057 51.0246 14.1841L57.4497 20.6158C57.686 20.8522 58.0707 20.8522 58.3069 20.6158L59.8997 19.0213C60.1291 18.7781 60.1291 18.3998 59.8929 18.1633Z" fill="#777777"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 4.2 KiB |
1
resources/images/add_copies.svg
Normal file
@@ -0,0 +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:1"/></svg>
|
||||||
|
After Width: | Height: | Size: 346 B |
@@ -1,6 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
<path d="M17.6283 12.2218H4.35589C3.97272 12.2218 3.66406 11.6765 3.66406 10.9996C3.66406 10.3226 3.97272 9.77734 4.35589 9.77734H17.6389C18.0221 9.77734 18.3307 10.3226 18.3307 10.9996C18.3307 11.6765 18.0114 12.2218 17.6283 12.2218Z" fill="white"/>
|
||||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
<path d="M11.0035 18.3327C10.3265 18.3327 9.78125 18.0238 9.78125 17.6404V4.35834C9.78125 3.9749 10.3265 3.66602 11.0035 3.66602C11.6804 3.66602 12.2257 3.9749 12.2257 4.35834V17.651C12.2257 18.0238 11.6804 18.3327 11.0035 18.3327Z" fill="white"/>
|
||||||
width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
||||||
<path fill="#00ff00" d="M11,11V5h2v6h6v2h-6v6h-2v-6H5v-2H11z"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 437 B After Width: | Height: | Size: 602 B |
@@ -1,6 +1,4 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<svg width="22" height="22" viewBox="0 0 22 22" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
<path d="M17.6283 12.2218H4.35589C3.97272 12.2218 3.66406 11.6765 3.66406 10.9996C3.66406 10.3226 3.97272 9.77734 4.35589 9.77734H17.6389C18.0221 9.77734 18.3307 10.3226 18.3307 10.9996C18.3307 11.6765 18.0114 12.2218 17.6283 12.2218Z" fill="white"/>
|
||||||
<svg version="1.1" id="图层_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
<path d="M11.0035 18.3327C10.3265 18.3327 9.78125 18.0238 9.78125 17.6404V4.35834C9.78125 3.9749 10.3265 3.66602 11.0035 3.66602C11.6804 3.66602 12.2257 3.9749 12.2257 4.35834V17.651C12.2257 18.0238 11.6804 18.3327 11.0035 18.3327Z" fill="white"/>
|
||||||
width="24px" height="24px" viewBox="0 0 24 24" enable-background="new 0 0 24 24" xml:space="preserve">
|
|
||||||
<path fill="#ADADAF" d="M11,11V5h2v6h6v2h-6v6h-2v-6H5v-2H11z"/>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|||||||
|
Before Width: | Height: | Size: 437 B After Width: | Height: | Size: 602 B |
4
resources/images/align_x_center.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="36" height="36" rx="4" fill="#F4F4F4"/>
|
||||||
|
<path d="M18 8.47925C18.391 8.47942 18.7079 8.79624 18.708 9.18726V10.9539H22.1826C22.6427 10.9539 23.0164 11.3268 23.0166 11.7869V16.3152C23.0166 16.7754 22.6429 17.1492 22.1826 17.1492H18.708V19.3162H24.459C24.9192 19.3162 25.293 19.6899 25.293 20.1501V24.9207C25.293 25.3809 24.9192 25.7537 24.459 25.7537H18.708V26.8123C18.708 27.2033 18.3911 27.5211 18 27.5212C17.6088 27.5212 17.291 27.2035 17.291 26.8123V25.7537H11.541C11.0808 25.7537 10.707 25.3809 10.707 24.9207V20.1501C10.707 19.6899 11.0808 19.3162 11.541 19.3162H17.291V17.1492H14.041C13.5809 17.1491 13.208 16.7754 13.208 16.3152V11.7869C13.2082 11.3268 13.581 10.954 14.041 10.9539H17.291V9.18726C17.2911 8.79613 17.6089 8.47925 18 8.47925ZM12.124 24.3376H23.876V20.7332H12.124V24.3376ZM14.625 15.7322H21.5996V12.3708H14.625V15.7322Z" fill="#808080"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 974 B |
4
resources/images/align_x_center_dark.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="36" height="36" rx="4" fill="#3E3E46"/>
|
||||||
|
<path d="M18 8.47949C18.391 8.47967 18.7079 8.79648 18.708 9.1875V10.9541H22.1826C22.6427 10.9541 23.0164 11.327 23.0166 11.7871V16.3154C23.0166 16.7757 22.6429 17.1494 22.1826 17.1494H18.708V19.3164H24.459C24.9192 19.3164 25.293 19.6902 25.293 20.1504V24.9209C25.293 25.3811 24.9192 25.7539 24.459 25.7539H18.708V26.8125C18.708 27.2036 18.3911 27.5213 18 27.5215C17.6088 27.5215 17.291 27.2037 17.291 26.8125V25.7539H11.541C11.0808 25.7539 10.707 25.3811 10.707 24.9209V20.1504C10.707 19.6902 11.0808 19.3164 11.541 19.3164H17.291V17.1494H14.041C13.5809 17.1493 13.208 16.7756 13.208 16.3154V11.7871C13.2082 11.3271 13.581 10.9542 14.041 10.9541H17.291V9.1875C17.2911 8.79637 17.6089 8.47949 18 8.47949ZM12.124 24.3379H23.876V20.7334H12.124V24.3379ZM14.625 15.7324H21.5996V12.3711H14.625V15.7324Z" fill="#E9E9E9"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 972 B |
4
resources/images/align_x_max.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="36" height="36" rx="4" fill="#F4F4F4"/>
|
||||||
|
<path d="M25.3389 9.89136C24.9478 9.89153 24.6309 10.2092 24.6309 10.6003V25.4001C24.6309 25.7912 24.9478 26.109 25.3389 26.1091C25.7301 26.1091 26.0479 25.7913 26.0479 25.4001V10.6003C26.0479 10.2091 25.7301 9.89136 25.3389 9.89136ZM10.7861 18.9626C10.326 18.9627 9.95326 19.3356 9.95312 19.7957V24.5671C9.95322 25.0273 10.326 25.4001 10.7861 25.4001H21.9795C22.4397 25.4001 22.8124 25.0273 22.8125 24.5671V19.7957C22.8124 19.3355 22.4396 18.9626 21.9795 18.9626H10.7861ZM21.3965 23.9832H11.3691V20.3796H21.3965V23.9832ZM16.5322 10.6003C16.072 10.6003 15.6982 10.9731 15.6982 11.4333V15.9617C15.6982 16.4219 16.072 16.7947 16.5322 16.7947H21.9795C22.4397 16.7947 22.8125 16.4219 22.8125 15.9617V11.4333C22.8125 10.9731 22.4397 10.6003 21.9795 10.6003H16.5322ZM21.3965 15.3787H17.1152V12.0164H21.3965V15.3787Z" fill="#808080"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 984 B |
4
resources/images/align_x_max_dark.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="36" height="36" rx="4" fill="#3E3E46"/>
|
||||||
|
<path d="M25.3389 9.89111C24.9478 9.89129 24.6309 10.209 24.6309 10.6001V25.3999C24.6309 25.791 24.9478 26.1087 25.3389 26.1089C25.7301 26.1089 26.0479 25.7911 26.0479 25.3999V10.6001C26.0479 10.2089 25.7301 9.89111 25.3389 9.89111ZM10.7861 18.9624C10.326 18.9624 9.95326 19.3353 9.95312 19.7954V24.5669C9.95322 25.027 10.326 25.3999 10.7861 25.3999H21.9795C22.4397 25.3999 22.8124 25.0271 22.8125 24.5669V19.7954C22.8124 19.3353 22.4396 18.9624 21.9795 18.9624H10.7861ZM21.3965 23.9829H11.3691V20.3794H21.3965V23.9829ZM16.5322 10.6001C16.072 10.6001 15.6982 10.9729 15.6982 11.4331V15.9614C15.6982 16.4217 16.072 16.7944 16.5322 16.7944H21.9795C22.4397 16.7944 22.8125 16.4217 22.8125 15.9614V11.4331C22.8125 10.9729 22.4397 10.6001 21.9795 10.6001H16.5322ZM21.3965 15.3784H17.1152V12.0161H21.3965V15.3784Z" fill="#E9E9E9"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 982 B |
4
resources/images/align_x_min.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="36" height="36" rx="4" fill="#F4F4F4"/>
|
||||||
|
<path d="M10.6611 9.89136C11.0522 9.89153 11.3691 10.2092 11.3691 10.6003V25.4001C11.3691 25.7912 11.0522 26.109 10.6611 26.1091C10.2699 26.1091 9.95215 25.7913 9.95215 25.4001V10.6003C9.95215 10.2091 10.2699 9.89136 10.6611 9.89136ZM25.2139 18.9626C25.674 18.9627 26.0467 19.3356 26.0469 19.7957V24.5671C26.0468 25.0273 25.674 25.4001 25.2139 25.4001H14.0205C13.5603 25.4001 13.1876 25.0273 13.1875 24.5671V19.7957C13.1876 19.3355 13.5604 18.9626 14.0205 18.9626H25.2139ZM14.6035 23.9832H24.6309V20.3796H14.6035V23.9832ZM19.4678 10.6003C19.928 10.6003 20.3018 10.9731 20.3018 11.4333V15.9617C20.3018 16.4219 19.928 16.7947 19.4678 16.7947H14.0205C13.5603 16.7947 13.1875 16.4219 13.1875 15.9617V11.4333C13.1875 10.9731 13.5603 10.6003 14.0205 10.6003H19.4678ZM14.6035 15.3787H18.8848V12.0164H14.6035V15.3787Z" fill="#808080"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 984 B |
4
resources/images/align_x_min_dark.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M0 8C0 3.58172 3.58172 0 8 0H32C34.2091 0 36 1.79086 36 4V32C36 34.2091 34.2091 36 32 36H8C3.58172 36 0 32.4183 0 28V8Z" fill="#3E3E46"/>
|
||||||
|
<path d="M10.6611 9.89111C11.0522 9.89129 11.3691 10.209 11.3691 10.6001V25.3999C11.3691 25.791 11.0522 26.1087 10.6611 26.1089C10.2699 26.1089 9.95215 25.7911 9.95215 25.3999V10.6001C9.95215 10.2089 10.2699 9.89111 10.6611 9.89111ZM25.2139 18.9624C25.674 18.9624 26.0467 19.3353 26.0469 19.7954V24.5669C26.0468 25.027 25.674 25.3999 25.2139 25.3999H14.0205C13.5603 25.3999 13.1876 25.0271 13.1875 24.5669V19.7954C13.1876 19.3353 13.5604 18.9624 14.0205 18.9624H25.2139ZM14.6035 23.9829H24.6309V20.3794H14.6035V23.9829ZM19.4678 10.6001C19.928 10.6001 20.3018 10.9729 20.3018 11.4331V15.9614C20.3018 16.4217 19.928 16.7944 19.4678 16.7944H14.0205C13.5603 16.7944 13.1875 16.4217 13.1875 15.9614V11.4331C13.1875 10.9729 13.5603 10.6001 14.0205 10.6001H19.4678ZM14.6035 15.3784H18.8848V12.0161H14.6035V15.3784Z" fill="#E9E9E9"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
4
resources/images/align_y_center.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="36" height="36" rx="4" fill="#F4F4F4"/>
|
||||||
|
<path d="M27.5205 18.0005C27.5203 18.3914 27.2035 18.7084 26.8125 18.7085L25.0459 18.7085L25.0459 22.1831C25.0458 22.6432 24.6729 23.0159 24.2129 23.0161L19.6846 23.0161C19.2244 23.0161 18.8507 22.6433 18.8506 22.1831L18.8506 18.7085L16.6836 18.7085L16.6836 24.4595C16.6835 24.9196 16.3098 25.2925 15.8496 25.2925L11.0791 25.2925C10.6189 25.2925 10.2462 24.9196 10.2461 24.4595L10.2461 18.7085L9.1875 18.7085C8.79651 18.7084 8.47971 18.3914 8.47949 18.0005C8.47949 17.6093 8.79637 17.2916 9.1875 17.2915L10.2461 17.2915L10.2461 11.5405C10.2463 11.0804 10.619 10.7075 11.0791 10.7075L15.8496 10.7075C16.3097 10.7075 16.6834 11.0804 16.6836 11.5405L16.6836 17.2915L18.8506 17.2915L18.8506 14.0415C18.8506 13.5813 19.2243 13.2075 19.6846 13.2075L24.2129 13.2075C24.673 13.2077 25.0459 13.5814 25.0459 14.0415L25.0459 17.2915L26.8125 17.2915C27.2036 17.2916 27.5205 17.6093 27.5205 18.0005ZM11.6621 12.1245L11.6621 23.8765L15.2666 23.8765L15.2666 12.1245L11.6621 12.1245ZM20.2676 14.6245L20.2676 21.6001L23.6289 21.6001L23.6289 14.6245L20.2676 14.6245Z" fill="#808080"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
4
resources/images/align_y_center_dark.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="36" height="36" rx="4" fill="#3E3E46"/>
|
||||||
|
<path d="M27.5205 18.0005C27.5203 18.3914 27.2035 18.7084 26.8125 18.7085L25.0459 18.7085L25.0459 22.1831C25.0458 22.6432 24.6729 23.0159 24.2129 23.0161L19.6846 23.0161C19.2244 23.0161 18.8507 22.6433 18.8506 22.1831L18.8506 18.7085L16.6836 18.7085L16.6836 24.4595C16.6835 24.9196 16.3098 25.2925 15.8496 25.2925L11.0791 25.2925C10.6189 25.2925 10.2462 24.9196 10.2461 24.4595L10.2461 18.7085L9.1875 18.7085C8.79651 18.7084 8.47971 18.3914 8.47949 18.0005C8.47949 17.6093 8.79637 17.2916 9.1875 17.2915L10.2461 17.2915L10.2461 11.5405C10.2463 11.0804 10.619 10.7075 11.0791 10.7075L15.8496 10.7075C16.3097 10.7075 16.6834 11.0804 16.6836 11.5405L16.6836 17.2915L18.8506 17.2915L18.8506 14.0415C18.8506 13.5813 19.2243 13.2075 19.6846 13.2075L24.2129 13.2075C24.673 13.2077 25.0459 13.5814 25.0459 14.0415L25.0459 17.2915L26.8125 17.2915C27.2036 17.2916 27.5205 17.6093 27.5205 18.0005ZM11.6621 12.1245L11.6621 23.8765L15.2666 23.8765L15.2666 12.1245L11.6621 12.1245ZM20.2676 14.6245L20.2676 21.6001L23.6289 21.6001L23.6289 14.6245L20.2676 14.6245Z" fill="#E9E9E9"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
4
resources/images/align_y_max.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="36" height="36" rx="4" fill="#F4F4F4"/>
|
||||||
|
<path d="M26.1094 10.6614C26.1094 11.0525 25.7924 11.3692 25.4014 11.3694L10.6006 11.3694C10.2094 11.3694 9.89258 11.0526 9.89258 10.6614C9.89258 10.2702 10.2094 9.95337 10.6006 9.95337L25.4014 9.95337C25.7924 9.95355 26.1094 10.2703 26.1094 10.6614ZM17.0381 25.2151C17.0378 25.6751 16.6652 26.0481 16.2051 26.0481L11.4336 26.0481C10.9737 26.0479 10.6008 25.675 10.6006 25.2151L10.6006 14.0217C10.6006 13.5616 10.9735 13.188 11.4336 13.1877L16.2051 13.1877C16.6653 13.1877 17.0381 13.5615 17.0381 14.0217L17.0381 25.2151ZM12.0176 14.6047L12.0176 24.6311L15.6221 24.6311L15.6221 14.6047L12.0176 14.6047ZM25.4014 19.469C25.4014 19.9292 25.0276 20.302 24.5674 20.302L20.0391 20.302C19.5789 20.3019 19.2061 19.9291 19.2061 19.469L19.2061 14.0217C19.2061 13.5616 19.5789 13.1879 20.0391 13.1877L24.5674 13.1877C25.0276 13.1877 25.4014 13.5615 25.4014 14.0217L25.4014 19.469ZM20.623 14.6047L20.623 18.886L23.9844 18.886L23.9844 14.6047L20.623 14.6047Z" fill="#808080"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
4
resources/images/align_y_max_dark.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<path d="M0 8C0 3.58172 3.58172 0 8 0H32C34.2091 0 36 1.79086 36 4V32C36 34.2091 34.2091 36 32 36H8C3.58172 36 0 32.4183 0 28V8Z" fill="#3E3E46"/>
|
||||||
|
<path d="M26.1094 10.6611C26.1094 11.0522 25.7924 11.369 25.4014 11.3691L10.6006 11.3691C10.2094 11.3691 9.89258 11.0523 9.89258 10.6611C9.89258 10.2699 10.2094 9.95312 10.6006 9.95312L25.4014 9.95312C25.7924 9.9533 26.1094 10.27 26.1094 10.6611ZM17.0381 25.2148C17.0378 25.6749 16.6652 26.0479 16.2051 26.0479L11.4336 26.0479C10.9737 26.0476 10.6008 25.6747 10.6006 25.2148L10.6006 14.0215C10.6006 13.5614 10.9735 13.1877 11.4336 13.1875L16.2051 13.1875C16.6653 13.1875 17.0381 13.5612 17.0381 14.0215L17.0381 25.2148ZM12.0176 14.6045L12.0176 24.6309L15.6221 24.6309L15.6221 14.6045L12.0176 14.6045ZM25.4014 19.4687C25.4014 19.929 25.0276 20.3018 24.5674 20.3018L20.0391 20.3018C19.5789 20.3016 19.2061 19.9289 19.2061 19.4687L19.2061 14.0215C19.2061 13.5613 19.5789 13.1876 20.0391 13.1875L24.5674 13.1875C25.0276 13.1875 25.4014 13.5612 25.4014 14.0215L25.4014 19.4687ZM20.623 14.6045L20.623 18.8857L23.9844 18.8857L23.9844 14.6045L20.623 14.6045Z" fill="#E9E9E9"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.2 KiB |
4
resources/images/align_y_min.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="36" height="36" rx="4" fill="#F4F4F4"/>
|
||||||
|
<path d="M26.1094 25.3389C26.1094 24.9478 25.7924 24.631 25.4014 24.6309L10.6006 24.6309C10.2094 24.6309 9.89258 24.9477 9.89258 25.3389C9.89258 25.7301 10.2094 26.0469 10.6006 26.0469L25.4014 26.0469C25.7924 26.0467 26.1094 25.73 26.1094 25.3389ZM17.0381 10.7852C17.0378 10.3251 16.6652 9.95215 16.2051 9.95215L11.4336 9.95215C10.9737 9.95237 10.6008 10.3253 10.6006 10.7852L10.6006 21.9785C10.6006 22.4386 10.9735 22.8123 11.4336 22.8125L16.2051 22.8125C16.6653 22.8125 17.0381 22.4388 17.0381 21.9785L17.0381 10.7852ZM12.0176 21.3955L12.0176 11.3691L15.6221 11.3691L15.6221 21.3955L12.0176 21.3955ZM25.4014 16.5313C25.4014 16.071 25.0276 15.6982 24.5674 15.6982L20.0391 15.6982C19.5789 15.6984 19.2061 16.0711 19.2061 16.5313L19.2061 21.9785C19.2061 22.4387 19.5789 22.8124 20.0391 22.8125L24.5674 22.8125C25.0276 22.8125 25.4014 22.4388 25.4014 21.9785L25.4014 16.5313ZM20.623 21.3955L20.623 17.1143L23.9844 17.1143L23.9844 21.3955L20.623 21.3955Z" fill="#808080"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
4
resources/images/align_y_min_dark.svg
Normal file
@@ -0,0 +1,4 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="36" height="36" rx="4" fill="#3E3E46"/>
|
||||||
|
<path d="M26.1094 25.3389C26.1094 24.9478 25.7924 24.631 25.4014 24.6309L10.6006 24.6309C10.2094 24.6309 9.89258 24.9477 9.89258 25.3389C9.89258 25.7301 10.2094 26.0469 10.6006 26.0469L25.4014 26.0469C25.7924 26.0467 26.1094 25.73 26.1094 25.3389ZM17.0381 10.7852C17.0378 10.3251 16.6652 9.95215 16.2051 9.95215L11.4336 9.95215C10.9737 9.95237 10.6008 10.3253 10.6006 10.7852L10.6006 21.9785C10.6006 22.4386 10.9735 22.8123 11.4336 22.8125L16.2051 22.8125C16.6653 22.8125 17.0381 22.4388 17.0381 21.9785L17.0381 10.7852ZM12.0176 21.3955L12.0176 11.3691L15.6221 11.3691L15.6221 21.3955L12.0176 21.3955ZM25.4014 16.5313C25.4014 16.071 25.0276 15.6982 24.5674 15.6982L20.0391 15.6982C19.5789 15.6984 19.2061 16.0711 19.2061 16.5313L19.2061 21.9785C19.2061 22.4387 19.5789 22.8124 20.0391 22.8125L24.5674 22.8125C25.0276 22.8125 25.4014 22.4388 25.4014 21.9785L25.4014 16.5313ZM20.623 21.3955L20.623 17.1143L23.9844 17.1143L23.9844 21.3955L20.623 21.3955Z" fill="#E9E9E9"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 1.1 KiB |
6
resources/images/align_z_center.svg
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<svg width="36" height="36" viewBox="0 0 36 36" fill="none" xmlns="http://www.w3.org/2000/svg">
|
||||||
|
<rect width="36" height="36" rx="4" fill="#F4F4F4"/>
|
||||||
|
<path d="M18 18.2617C17.6088 18.2617 17.292 17.9449 17.292 17.5537L17.292 13.1465L16.834 13.6035C16.5574 13.8801 16.1087 13.8799 15.832 13.6035C15.5554 13.3269 15.5554 12.8782 15.832 12.6016L17.3809 11.0527C17.7226 10.7116 18.2767 10.7112 18.6182 11.0527L20.167 12.6016C20.4434 12.878 20.4432 13.3269 20.167 13.6035C19.8904 13.8801 19.4417 13.8801 19.165 13.6035L18.708 13.1465L18.708 17.5537C18.708 17.9448 18.391 18.2616 18 18.2617Z" fill="#808080"/>
|
||||||
|
<path d="M24.9834 17.1433C24.9873 17.1454 24.9912 17.1491 24.9951 17.1511C25.0233 17.1659 25.0501 17.1834 25.0762 17.2019C25.0878 17.2102 25.1003 17.2174 25.1113 17.2263C25.1349 17.2453 25.1556 17.2676 25.1768 17.2898C25.1879 17.3015 25.1997 17.3126 25.21 17.325C25.2294 17.3484 25.2461 17.3739 25.2627 17.4001C25.2708 17.4129 25.2799 17.425 25.2871 17.4382C25.2911 17.4456 25.297 17.4522 25.3008 17.4597C25.31 17.4782 25.3148 17.4985 25.3223 17.5173C25.3292 17.5348 25.3363 17.5521 25.3418 17.5701C25.3494 17.5949 25.3546 17.6201 25.3594 17.6453C25.3631 17.665 25.367 17.6848 25.3691 17.7048C25.3715 17.7286 25.3721 17.7524 25.3721 17.7761C25.3721 17.7998 25.3715 17.8237 25.3691 17.8474C25.3671 17.8677 25.3632 17.8879 25.3594 17.908C25.3548 17.932 25.3499 17.9564 25.3428 17.9802C25.3354 18.0045 25.3254 18.0281 25.3154 18.0515C25.3097 18.065 25.3064 18.0802 25.2998 18.0935C25.2974 18.0983 25.2926 18.1025 25.29 18.1072C25.2786 18.1288 25.2647 18.1493 25.251 18.1697C25.2384 18.1884 25.2269 18.2081 25.2129 18.2253C25.1997 18.2414 25.1836 18.2554 25.1689 18.2703C25.1503 18.2892 25.1317 18.3084 25.1113 18.325C25.0986 18.3353 25.0839 18.3438 25.0703 18.3533C25.0464 18.37 25.0227 18.3875 24.9971 18.4011C24.9925 18.4036 24.988 18.4075 24.9834 18.4099L18.6895 21.5574C18.2557 21.7742 17.7444 21.7741 17.3105 21.5574L11.0166 18.4099C11.0123 18.4078 11.0081 18.4044 11.0039 18.4021C10.9755 18.3872 10.9491 18.3691 10.9229 18.3503C10.911 18.3419 10.8989 18.334 10.8877 18.325C10.8672 18.3083 10.8488 18.2893 10.8301 18.2703C10.8153 18.2552 10.7994 18.2415 10.7861 18.2253C10.7705 18.2062 10.7579 18.1848 10.7441 18.1638C10.7328 18.1466 10.7207 18.1301 10.7109 18.1121C10.7076 18.1058 10.7024 18.0999 10.6992 18.0935C10.6909 18.0769 10.6866 18.0587 10.6797 18.0417C10.6715 18.0217 10.6625 18.0019 10.6562 17.9812C10.6489 17.957 10.6443 17.9324 10.6396 17.908C10.6358 17.8879 10.632 17.8678 10.6299 17.8474C10.6275 17.8236 10.6269 17.7998 10.627 17.7761C10.627 17.7525 10.6275 17.7286 10.6299 17.7048C10.632 17.6849 10.6359 17.6649 10.6396 17.6453C10.6443 17.6206 10.6488 17.5954 10.6562 17.571C10.6631 17.5488 10.6727 17.5271 10.6816 17.5056C10.6878 17.4907 10.6928 17.4744 10.7002 17.4597C10.7027 17.4548 10.7064 17.4499 10.709 17.4451C10.7199 17.4246 10.7331 17.4049 10.7461 17.3855C10.7599 17.3648 10.7735 17.3438 10.7891 17.325C10.7993 17.3127 10.8112 17.3014 10.8223 17.2898C10.8431 17.2679 10.8645 17.2461 10.8877 17.2273C10.9005 17.217 10.9151 17.2084 10.9287 17.199C10.9525 17.1824 10.9765 17.1656 11.002 17.1521C11.0068 17.1495 11.0117 17.1458 11.0166 17.1433L16.0635 14.6189C16.1939 14.6418 16.3263 14.6501 16.458 14.6394V16.0056L12.916 17.7761L17.9443 20.2898C17.9794 20.3071 18.0216 20.3073 18.0566 20.2898L23.083 17.7761L19.54 16.0046V14.6404C19.6724 14.6511 19.8055 14.6423 19.9365 14.6189L24.9834 17.1433Z" fill="#808080"/>
|
||||||
|
<path d="M18.708 24.7808C18.7078 25.1718 18.3911 25.4888 18 25.4888C17.6089 25.4888 17.2922 25.1718 17.292 24.7808V22.4438C17.7529 22.5877 18.247 22.5878 18.708 22.4438V24.7808Z" fill="#808080"/>
|
||||||
|
</svg>
|
||||||
|
After Width: | Height: | Size: 3.6 KiB |