8#include "MRCommonPlugins/exports.h"
31 virtual const std::string&
uiName()
const override;
33 virtual void drawDialog(
float menuScaling, ImGuiContext* ctx )
override;
35 virtual bool blocking()
const override {
return false; }
46 virtual const std::string&
getName()
const = 0;
48 virtual void draw(
float menuScaling ) = 0;
68 virtual bool onEnable_()
override;
69 virtual bool onDisable_()
override;
71 void drawTab_(
float menuWidth,
float menuScaling );
73 void drawQuickTab_(
float menuWidth,
float menuScaling );
74 void drawApplicationTab_(
float menuWidth,
float menuScaling );
75 void drawControlTab_(
float menuWidth,
float menuScaling );
76 void drawViewportTab_(
float menuWidth,
float menuScaling );
77 void drawMeasurementUnitsTab_(
float menuScaling );
78 void drawFeaturesTab_(
float menuScaling );
80 void drawThemeSelector_(
float menuScaling );
81 void drawResetDialog_(
bool activated,
float menuScaling );
82 void drawShadingModeCombo_(
bool inGroup,
float menuScaling,
float toolWidth );
83 void drawProjectionModeSelector_(
float menuScaling,
float toolWidth );
84 void drawUpDirectionSelector_();
85 void drawBackgroundButton_(
bool allViewports );
86 void drawRenderOptions_(
float menuScaling );
87 void drawShadowsOptions_(
float menuWidth,
float menuScaling );
88 void drawMouseSceneControlsSettings_(
float menuWidth,
float menuScaling );
89 void drawSpaceMouseSettings_(
float menuWidth,
float menuScaling );
90 void drawTouchpadSettings_(
float menuScaling );
92 void drawMruInnerFormats_(
float menuWidth,
float menuScaling );
94 void drawGlobalSettings_(
float buttonWidth,
float menuScaling );
95 void drawCustomSettings_(
const std::string& separatorName,
bool needSeparator,
float menuScaling );
96 void drawSeparator_(
const std::string& separatorName,
float menuScaling );
100 void resetSettings_();
102 int curSamples_{ 0 };
103 int storedSamples_{ 0 };
104 int maxSamples_{ 0 };
105 bool needReset_{
false };
106#ifndef __EMSCRIPTEN__
107 bool gpuOverridesMSAA_{
false };
110 Vector4f backgroundColor_;
112 int selectedUserPreset_{ 0 };
113 std::vector<std::string> userThemesPresets_;
115 std::unique_ptr<ShadowsGL> shadowGl_;
117 SpaceMouseParameters spaceMouseParams_;
118#if defined(_WIN32) || defined(__APPLE__)
119 bool activeMouseScrollZoom_{
false };
122 TouchpadParameters touchpadParameters_;
124 TabType activeTab_ = TabType::Quick;
125 TabType orderedTab_ = TabType::Count;
127 std::array<std::vector<std::shared_ptr<ExternalSettings>>, size_t(TabType::Count)> comboSettings_;
129 MruFormatParameters mruFormatParameters_;
Definition MRViewerFwd.h:60
Definition MRViewerSettingsPlugin.h:42
virtual const std::string & getName() const =0
virtual void reset()
Definition MRViewerSettingsPlugin.h:50
virtual void draw(float menuScaling)=0
virtual ~ExternalSettings()
Definition MRViewerSettingsPlugin.h:44
virtual const char * separatorName() const
Definition MRViewerSettingsPlugin.h:52
Definition MRViewerSettingsPlugin.h:15
MRVIEWER_API void delComboSettings(const TabType tab, const ExternalSettings *settings)
delete external settings with UI combo box
MRVIEWER_API void setActiveTab(TabType tab)
changes active tab
virtual void drawDialog(float menuScaling, ImGuiContext *ctx) override
virtual bool blocking() const override
Definition MRViewerSettingsPlugin.h:35
MRVIEWER_API void addComboSettings(const TabType tab, std::shared_ptr< ExternalSettings > settings)
add external settings with UI combo box
MRVIEWER_API void updateThemes()
static MRVIEWER_API ViewerSettingsPlugin * instance()
virtual const std::string & uiName() const override
TabType
Definition MRViewerSettingsPlugin.h:19
Definition MRViewport.h:49