31 virtual void drawDialog(
float menuScaling, ImGuiContext* ctx )
override;
33 virtual bool blocking()
const override {
return false; }
44 virtual const std::string&
getName()
const = 0;
46 virtual void draw(
float menuScaling ) = 0;
66 virtual bool onEnable_()
override;
67 virtual bool onDisable_()
override;
69 void drawTab_(
float menuWidth,
float menuScaling );
71 void drawQuickTab_(
float menuWidth,
float menuScaling );
72 void drawApplicationTab_(
float menuWidth,
float menuScaling );
73 void drawControlTab_(
float menuWidth,
float menuScaling );
74 void drawViewportTab_(
float menuWidth,
float menuScaling );
75 void drawMeasurementUnitsTab_(
float menuScaling );
76 void drawFeaturesTab_(
float menuScaling );
78 void drawThemeSelector_(
float menuScaling );
79 void drawResetDialog_(
bool activated,
float menuScaling );
80 void drawShadingModeCombo_(
bool inGroup,
float menuScaling,
float toolWidth );
81 void drawProjectionModeSelector_(
float menuScaling,
float toolWidth );
82 void drawUpDirectionSelector_();
83 void drawBackgroundButton_(
bool allViewports );
84 void drawRenderOptions_(
float menuScaling );
85 void drawShadowsOptions_(
float menuWidth,
float menuScaling );
86 void drawMouseSceneControlsSettings_(
float menuWidth,
float menuScaling );
87 void drawSpaceMouseSettings_(
float menuWidth,
float menuScaling );
88 void drawTouchpadSettings_(
float menuScaling );
90 void drawMruInnerFormats_(
float menuWidth,
float menuScaling );
92 void drawGlobalSettings_(
float buttonWidth,
float menuScaling );
93 void drawCustomSettings_(
const std::string& separatorName,
bool needSeparator,
float menuScaling );
94 void drawSeparator_(
const std::string& separatorName,
float menuScaling );
98 void resetSettings_();
100 int curSamples_{ 0 };
101 int storedSamples_{ 0 };
102 int maxSamples_{ 0 };
103 bool needReset_{
false };
104#ifndef __EMSCRIPTEN__
105 bool gpuOverridesMSAA_{
false };
108 Vector4f backgroundColor_;
110 int selectedUserPreset_{ 0 };
111 std::vector<std::string> userThemesPresets_;
113 std::unique_ptr<ShadowsGL> shadowGl_;
115 SpaceMouseParameters spaceMouseParams_;
116#if defined(_WIN32) || defined(__APPLE__)
117 bool activeMouseScrollZoom_{
false };
120 TouchpadParameters touchpadParameters_;
122 TabType activeTab_ = TabType::Quick;
123 TabType orderedTab_ = TabType::Count;
125 std::array<std::vector<std::shared_ptr<ExternalSettings>>, size_t(TabType::Count)> comboSettings_;
127 MruFormatParameters mruFormatParameters_;