mirror of
https://git.mirrors.martin98.com/https://github.com/prusa3d/PrusaSlicer.git
synced 2025-08-17 05:35:57 +08:00
Moved Platform.cpp/hpp to libslic3r
This commit is contained in:
parent
08a7a87d29
commit
b8202e62f7
@ -38,6 +38,7 @@
|
|||||||
#include "libslic3r/GCode/PostProcessor.hpp"
|
#include "libslic3r/GCode/PostProcessor.hpp"
|
||||||
#include "libslic3r/Model.hpp"
|
#include "libslic3r/Model.hpp"
|
||||||
#include "libslic3r/ModelArrange.hpp"
|
#include "libslic3r/ModelArrange.hpp"
|
||||||
|
#include "libslic3r/Platform.hpp"
|
||||||
#include "libslic3r/Print.hpp"
|
#include "libslic3r/Print.hpp"
|
||||||
#include "libslic3r/SLAPrint.hpp"
|
#include "libslic3r/SLAPrint.hpp"
|
||||||
#include "libslic3r/TriangleMesh.hpp"
|
#include "libslic3r/TriangleMesh.hpp"
|
||||||
@ -68,6 +69,8 @@ int CLI::run(int argc, char **argv)
|
|||||||
{
|
{
|
||||||
// Mark the main thread for the debugger and for runtime checks.
|
// Mark the main thread for the debugger and for runtime checks.
|
||||||
set_current_thread_name("slic3r_main");
|
set_current_thread_name("slic3r_main");
|
||||||
|
// Detect the operating system flavor.
|
||||||
|
detect_platform();
|
||||||
|
|
||||||
#ifdef __WXGTK__
|
#ifdef __WXGTK__
|
||||||
// On Linux, wxGTK has no support for Wayland, and the app crashes on
|
// On Linux, wxGTK has no support for Wayland, and the app crashes on
|
||||||
|
@ -141,6 +141,8 @@ add_library(libslic3r STATIC
|
|||||||
PerimeterGenerator.hpp
|
PerimeterGenerator.hpp
|
||||||
PlaceholderParser.cpp
|
PlaceholderParser.cpp
|
||||||
PlaceholderParser.hpp
|
PlaceholderParser.hpp
|
||||||
|
Platform.cpp
|
||||||
|
Platform.hpp
|
||||||
Point.cpp
|
Point.cpp
|
||||||
Point.hpp
|
Point.hpp
|
||||||
Polygon.cpp
|
Polygon.cpp
|
||||||
|
@ -1,15 +1,8 @@
|
|||||||
#include "Platform.hpp"
|
#include "Platform.hpp"
|
||||||
|
|
||||||
|
|
||||||
// For starting another PrusaSlicer instance on OSX.
|
|
||||||
// Fails to compile on Windows on the build server.
|
|
||||||
|
|
||||||
#include <wx/stdpaths.h>
|
|
||||||
|
|
||||||
#include <boost/log/trivial.hpp>
|
#include <boost/log/trivial.hpp>
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
namespace GUI {
|
|
||||||
|
|
||||||
static auto s_platform = Platform::Uninitialized;
|
static auto s_platform = Platform::Uninitialized;
|
||||||
static auto s_platform_flavor = PlatformFlavor::Uninitialized;
|
static auto s_platform_flavor = PlatformFlavor::Uninitialized;
|
||||||
@ -74,5 +67,4 @@ PlatformFlavor platform_flavor()
|
|||||||
return s_platform_flavor;
|
return s_platform_flavor;
|
||||||
}
|
}
|
||||||
|
|
||||||
} // namespace GUI
|
|
||||||
} // namespace Slic3r
|
} // namespace Slic3r
|
@ -1,8 +1,7 @@
|
|||||||
#ifndef SLIC3R_GUI_Utils_Platform_HPP
|
#ifndef SLIC3R_Platform_HPP
|
||||||
#define SLIC3R_GUI_Utils_Platform_HPP
|
#define SLIC3R_Platform_HPP
|
||||||
|
|
||||||
namespace Slic3r {
|
namespace Slic3r {
|
||||||
namespace GUI {
|
|
||||||
|
|
||||||
enum class Platform
|
enum class Platform
|
||||||
{
|
{
|
||||||
@ -37,8 +36,6 @@ void detect_platform();
|
|||||||
Platform platform();
|
Platform platform();
|
||||||
PlatformFlavor platform_flavor();
|
PlatformFlavor platform_flavor();
|
||||||
|
|
||||||
|
|
||||||
} // namespace GUI
|
|
||||||
} // namespace Slic3r
|
} // namespace Slic3r
|
||||||
|
|
||||||
#endif // SLIC3R_GUI_Utils_Platform_HPP
|
#endif // SLIC3R_Platform_HPP
|
@ -209,8 +209,6 @@ set(SLIC3R_GUI_SOURCES
|
|||||||
Utils/Bonjour.hpp
|
Utils/Bonjour.hpp
|
||||||
Utils/PresetUpdater.cpp
|
Utils/PresetUpdater.cpp
|
||||||
Utils/PresetUpdater.hpp
|
Utils/PresetUpdater.hpp
|
||||||
Utils/Platform.cpp
|
|
||||||
Utils/Platform.hpp
|
|
||||||
Utils/Process.cpp
|
Utils/Process.cpp
|
||||||
Utils/Process.hpp
|
Utils/Process.hpp
|
||||||
Utils/Profile.hpp
|
Utils/Profile.hpp
|
||||||
|
@ -9,7 +9,6 @@
|
|||||||
#include "slic3r/GUI/format.hpp"
|
#include "slic3r/GUI/format.hpp"
|
||||||
#include "slic3r/GUI/MainFrame.hpp"
|
#include "slic3r/GUI/MainFrame.hpp"
|
||||||
#include "slic3r/GUI/Plater.hpp"
|
#include "slic3r/GUI/Plater.hpp"
|
||||||
#include "slic3r/Utils/Platform.hpp"
|
|
||||||
|
|
||||||
// To show a message box if GUI initialization ends up with an exception thrown.
|
// To show a message box if GUI initialization ends up with an exception thrown.
|
||||||
#include <wx/msgdlg.h>
|
#include <wx/msgdlg.h>
|
||||||
@ -37,8 +36,6 @@ int GUI_Run(GUI_InitParams ¶ms)
|
|||||||
signal(SIGCHLD, SIG_DFL);
|
signal(SIGCHLD, SIG_DFL);
|
||||||
#endif // __APPLE__
|
#endif // __APPLE__
|
||||||
|
|
||||||
detect_platform();
|
|
||||||
|
|
||||||
try {
|
try {
|
||||||
GUI::GUI_App* gui = new GUI::GUI_App(params.start_as_gcodeviewer ? GUI::GUI_App::EAppMode::GCodeViewer : GUI::GUI_App::EAppMode::Editor);
|
GUI::GUI_App* gui = new GUI::GUI_App(params.start_as_gcodeviewer ? GUI::GUI_App::EAppMode::GCodeViewer : GUI::GUI_App::EAppMode::Editor);
|
||||||
if (gui->get_app_mode() != GUI::GUI_App::EAppMode::GCodeViewer) {
|
if (gui->get_app_mode() != GUI::GUI_App::EAppMode::GCodeViewer) {
|
||||||
|
@ -4,7 +4,8 @@
|
|||||||
#include "GUI.hpp"
|
#include "GUI.hpp"
|
||||||
#include "I18N.hpp"
|
#include "I18N.hpp"
|
||||||
#include "3DScene.hpp"
|
#include "3DScene.hpp"
|
||||||
#include "slic3r/Utils/Platform.hpp"
|
|
||||||
|
#include "libslic3r/Platform.hpp"
|
||||||
|
|
||||||
#include <GL/glew.h>
|
#include <GL/glew.h>
|
||||||
|
|
||||||
@ -324,7 +325,7 @@ void OpenGLManager::detect_multisample(int* attribList)
|
|||||||
enable_multisample &&
|
enable_multisample &&
|
||||||
// Disable multi-sampling on ChromeOS, as the OpenGL virtualization swaps Red/Blue channels with multi-sampling enabled,
|
// Disable multi-sampling on ChromeOS, as the OpenGL virtualization swaps Red/Blue channels with multi-sampling enabled,
|
||||||
// at least on some platforms.
|
// at least on some platforms.
|
||||||
(platform() != Platform::Linux || platform_flavor() != PlatformFlavor::LinuxOnChromium) &&
|
platform_flavor() != PlatformFlavor::LinuxOnChromium &&
|
||||||
wxGLCanvas::IsDisplaySupported(attribList)
|
wxGLCanvas::IsDisplaySupported(attribList)
|
||||||
? EMultisampleState::Enabled : EMultisampleState::Disabled;
|
? EMultisampleState::Enabled : EMultisampleState::Disabled;
|
||||||
// Alternative method: it was working on previous version of wxWidgets but not with the latest, at least on Windows
|
// Alternative method: it was working on previous version of wxWidgets but not with the latest, at least on Windows
|
||||||
|
@ -76,7 +76,6 @@
|
|||||||
#include "../Utils/FixModelByWin10.hpp"
|
#include "../Utils/FixModelByWin10.hpp"
|
||||||
#include "../Utils/UndoRedo.hpp"
|
#include "../Utils/UndoRedo.hpp"
|
||||||
#include "../Utils/PresetUpdater.hpp"
|
#include "../Utils/PresetUpdater.hpp"
|
||||||
#include "../Utils/Platform.hpp"
|
|
||||||
#include "../Utils/Process.hpp"
|
#include "../Utils/Process.hpp"
|
||||||
#include "RemovableDriveManager.hpp"
|
#include "RemovableDriveManager.hpp"
|
||||||
#include "InstanceCheck.hpp"
|
#include "InstanceCheck.hpp"
|
||||||
@ -89,7 +88,9 @@
|
|||||||
|
|
||||||
#include <wx/glcanvas.h> // Needs to be last because reasons :-/
|
#include <wx/glcanvas.h> // Needs to be last because reasons :-/
|
||||||
#include "WipeTowerDialog.hpp"
|
#include "WipeTowerDialog.hpp"
|
||||||
|
|
||||||
#include "libslic3r/CustomGCode.hpp"
|
#include "libslic3r/CustomGCode.hpp"
|
||||||
|
#include "libslic3r/Platform.hpp"
|
||||||
|
|
||||||
using boost::optional;
|
using boost::optional;
|
||||||
namespace fs = boost::filesystem;
|
namespace fs = boost::filesystem;
|
||||||
@ -3660,7 +3661,7 @@ void Plater::priv::on_process_completed(SlicingProcessCompletedEvent &evt)
|
|||||||
show_action_buttons(false);
|
show_action_buttons(false);
|
||||||
notification_manager->push_exporting_finished_notification(last_output_path, last_output_dir_path,
|
notification_manager->push_exporting_finished_notification(last_output_path, last_output_dir_path,
|
||||||
// Don't offer the "Eject" button on ChromeOS, the Linux side has no control over it.
|
// Don't offer the "Eject" button on ChromeOS, the Linux side has no control over it.
|
||||||
platform() != Platform::Linux || platform_flavor() != PlatformFlavor::LinuxOnChromium);
|
platform_flavor() != PlatformFlavor::LinuxOnChromium);
|
||||||
wxGetApp().removable_drive_manager()->set_exporting_finished(true);
|
wxGetApp().removable_drive_manager()->set_exporting_finished(true);
|
||||||
}else if (exporting_status == ExportingStatus::EXPORTING_TO_LOCAL && !has_error)
|
}else if (exporting_status == ExportingStatus::EXPORTING_TO_LOCAL && !has_error)
|
||||||
notification_manager->push_exporting_finished_notification(last_output_path, last_output_dir_path, false);
|
notification_manager->push_exporting_finished_notification(last_output_path, last_output_dir_path, false);
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
#include "RemovableDriveManager.hpp"
|
#include "RemovableDriveManager.hpp"
|
||||||
#include "slic3r/Utils/Platform.hpp"
|
#include "libslic3r/Platform.hpp"
|
||||||
#include <libslic3r/libslic3r.h>
|
#include <libslic3r/libslic3r.h>
|
||||||
|
|
||||||
#include <boost/nowide/convert.hpp>
|
#include <boost/nowide/convert.hpp>
|
||||||
@ -232,7 +232,7 @@ std::vector<DriveData> RemovableDriveManager::search_for_removable_drives() cons
|
|||||||
|
|
||||||
#else
|
#else
|
||||||
|
|
||||||
if (platform() == Platform::Linux && platform_flavor() == PlatformFlavor::LinuxOnChromium) {
|
if (platform_flavor() == PlatformFlavor::LinuxOnChromium) {
|
||||||
// ChromeOS specific: search /mnt/chromeos/removable/* folder
|
// ChromeOS specific: search /mnt/chromeos/removable/* folder
|
||||||
search_for_drives_internal::search_path("/mnt/chromeos/removable/*", "/mnt/chromeos/removable", current_drives);
|
search_for_drives_internal::search_path("/mnt/chromeos/removable/*", "/mnt/chromeos/removable", current_drives);
|
||||||
} else {
|
} else {
|
||||||
@ -452,7 +452,7 @@ RemovableDriveManager::RemovableDrivesStatus RemovableDriveManager::status()
|
|||||||
tbb::mutex::scoped_lock lock(m_drives_mutex);
|
tbb::mutex::scoped_lock lock(m_drives_mutex);
|
||||||
out.has_eject =
|
out.has_eject =
|
||||||
// Cannot control eject on Chromium.
|
// Cannot control eject on Chromium.
|
||||||
(platform() != Platform::Linux || platform_flavor() != PlatformFlavor::LinuxOnChromium) &&
|
platform_flavor() != PlatformFlavor::LinuxOnChromium &&
|
||||||
this->find_last_save_path_drive_data() != m_current_drives.end();
|
this->find_last_save_path_drive_data() != m_current_drives.end();
|
||||||
out.has_removable_drives = ! m_current_drives.empty();
|
out.has_removable_drives = ! m_current_drives.empty();
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user