瀏覽代碼

input_common/helpers: Mark analog property structs members as static constexpr

These are const with no dependency on any other data members, so we can
make these static constexpr to reduce the overall object size.
Lioncash 3 年之前
父節點
當前提交
8265c167d3
共有 2 個文件被更改,包括 18 次插入2 次删除
  1. 9 1
      src/input_common/helpers/stick_from_buttons.cpp
  2. 9 1
      src/input_common/helpers/touch_from_buttons.cpp

+ 9 - 1
src/input_common/helpers/stick_from_buttons.cpp

@@ -294,6 +294,15 @@ public:
     }
 
 private:
+    static constexpr Common::Input::AnalogProperties properties{
+        .deadzone = 0.0f,
+        .range = 1.0f,
+        .threshold = 0.5f,
+        .offset = 0.0f,
+        .inverted = false,
+        .toggle = false,
+    };
+
     Button up;
     Button down;
     Button left;
@@ -311,7 +320,6 @@ private:
     float last_x_axis_value{};
     float last_y_axis_value{};
     Common::Input::ButtonStatus modifier_status{};
-    const Common::Input::AnalogProperties properties{0.0f, 1.0f, 0.5f, 0.0f, false};
     std::chrono::time_point<std::chrono::steady_clock> last_update;
 };
 

+ 9 - 1
src/input_common/helpers/touch_from_buttons.cpp

@@ -59,11 +59,19 @@ public:
     }
 
 private:
+    static constexpr Common::Input::AnalogProperties properties{
+        .deadzone = 0.0f,
+        .range = 1.0f,
+        .threshold = 0.5f,
+        .offset = 0.0f,
+        .inverted = false,
+        .toggle = false,
+    };
+
     Button button;
     bool last_button_value;
     const float x;
     const float y;
-    const Common::Input::AnalogProperties properties{0.0f, 1.0f, 0.5f, 0.0f, false};
 };
 
 std::unique_ptr<Common::Input::InputDevice> TouchFromButton::Create(