summaryrefslogtreecommitdiff
path: root/grapher/Models/Serialized
diff options
context:
space:
mode:
Diffstat (limited to 'grapher/Models/Serialized')
-rw-r--r--grapher/Models/Serialized/DriverSettings.cs16
-rw-r--r--grapher/Models/Serialized/GUISettings.cs8
-rw-r--r--grapher/Models/Serialized/RawAccelSettings.cs19
-rw-r--r--grapher/Models/Serialized/SettingsManager.cs12
4 files changed, 53 insertions, 2 deletions
diff --git a/grapher/Models/Serialized/DriverSettings.cs b/grapher/Models/Serialized/DriverSettings.cs
index cdccf88..ecd4d51 100644
--- a/grapher/Models/Serialized/DriverSettings.cs
+++ b/grapher/Models/Serialized/DriverSettings.cs
@@ -4,11 +4,17 @@ using System.Threading;
namespace grapher.Models.Serialized
{
+ #region Enumerations
+
public enum AccelMode
{
linear, classic, natural, logarithmic, sigmoid, naturalgain, sigmoidgain, power, noaccel
}
+ #endregion Enumerations
+
+ #region Structs
+
[StructLayout(LayoutKind.Sequential)]
public struct AccelArgs
{
@@ -33,10 +39,14 @@ namespace grapher.Models.Serialized
public T y;
}
+ #endregion Structs
+
[StructLayout(LayoutKind.Sequential)]
[Serializable]
public class DriverSettings
{
+ #region Fields
+
private static readonly IntPtr UnmanagedSettingsHandle =
Marshal.AllocHGlobal(Marshal.SizeOf<DriverSettings>());
private static object UnmanagedSettingsLock = new object();
@@ -48,6 +58,10 @@ namespace grapher.Models.Serialized
public Vec2<double> sensitivity;
public double minimumTime;
+ #endregion Fields
+
+ #region Methods
+
public static DriverSettings GetActive()
{
DriverInterop.GetActiveSettings(UnmanagedSettingsHandle);
@@ -97,5 +111,7 @@ namespace grapher.Models.Serialized
*/
return true;
}
+
+ #endregion Methods
}
}
diff --git a/grapher/Models/Serialized/GUISettings.cs b/grapher/Models/Serialized/GUISettings.cs
index 7c8e9a4..253e71d 100644
--- a/grapher/Models/Serialized/GUISettings.cs
+++ b/grapher/Models/Serialized/GUISettings.cs
@@ -12,6 +12,8 @@ namespace grapher.Models.Serialized
[Serializable]
public class GUISettings
{
+ #region Constructors
+
public GUISettings() {}
public GUISettings(bool autoWrite, int dpi, int pollRate)
@@ -21,6 +23,10 @@ namespace grapher.Models.Serialized
PollRate = pollRate;
}
+ #endregion Constructors
+
+ #region Properties
+
[JsonProperty(Order = 1)]
public bool AutoWriteToDriverOnStartup { get; set; }
@@ -29,5 +35,7 @@ namespace grapher.Models.Serialized
[JsonProperty(Order = 3)]
public int PollRate { get; set; }
+
+ #endregion Properties
}
}
diff --git a/grapher/Models/Serialized/RawAccelSettings.cs b/grapher/Models/Serialized/RawAccelSettings.cs
index 7aed917..7466e82 100644
--- a/grapher/Models/Serialized/RawAccelSettings.cs
+++ b/grapher/Models/Serialized/RawAccelSettings.cs
@@ -13,14 +13,19 @@ namespace grapher.Models.Serialized
[Serializable]
public class RawAccelSettings
{
- public const string DefaultSettingsFileName = @"settings.json";
+ #region Fields
+
public static readonly string ExecutingDirectory = AppDomain.CurrentDomain.BaseDirectory;
- public static readonly string DefaultSettingsFile = Path.Combine(ExecutingDirectory, DefaultSettingsFileName);
+ public static readonly string DefaultSettingsFile = Path.Combine(ExecutingDirectory, Constants.DefaultSettingsFileName);
public static readonly JsonSerializerSettings SerializerSettings = new JsonSerializerSettings
{
MissingMemberHandling = MissingMemberHandling.Error,
};
+ #endregion Fields
+
+ #region Constructors
+
public RawAccelSettings() { }
public RawAccelSettings(
@@ -31,10 +36,18 @@ namespace grapher.Models.Serialized
GUISettings = guiSettings;
}
+ #endregion Constructors
+
+ #region Properties
+
public GUISettings GUISettings { get; set; }
public DriverSettings AccelerationSettings { get; set; }
+ #endregion Properties
+
+ #region Methods
+
public static RawAccelSettings Load()
{
return Load(DefaultSettingsFile);
@@ -75,5 +88,7 @@ namespace grapher.Models.Serialized
{
File.WriteAllText(file, JsonConvert.SerializeObject(this, Formatting.Indented));
}
+
+ #endregion Methods
}
}
diff --git a/grapher/Models/Serialized/SettingsManager.cs b/grapher/Models/Serialized/SettingsManager.cs
index c300bde..d7cf590 100644
--- a/grapher/Models/Serialized/SettingsManager.cs
+++ b/grapher/Models/Serialized/SettingsManager.cs
@@ -6,6 +6,8 @@ namespace grapher.Models.Serialized
{
public class SettingsManager
{
+ #region Constructors
+
public SettingsManager(
ManagedAccel activeAccel,
Field dpiField,
@@ -18,6 +20,10 @@ namespace grapher.Models.Serialized
AutoWriteMenuItem = autoWrite;
}
+ #endregion Constructors
+
+ #region Properties
+
public ManagedAccel ActiveAccel { get; }
public RawAccelSettings RawAccelSettings { get; private set; }
@@ -28,6 +34,10 @@ namespace grapher.Models.Serialized
private ToolStripMenuItem AutoWriteMenuItem { get; set; }
+ #endregion Properties
+
+ #region Methods
+
public void UpdateActiveSettings(DriverSettings settings, Action afterAccelSettingsUpdate = null)
{
settings.SendToDriverAndUpdate(ActiveAccel, () =>
@@ -84,5 +94,7 @@ namespace grapher.Models.Serialized
});
RawAccelSettings.Save();
}
+
+ #endregion Methods
}
}