using System.Drawing; using System.Globalization; namespace grapher { public static class Constants { #region Constants /// DPI by which charts are scaled if none is set by user. public const int DefaultDPI = 1200; /// Poll rate by which charts are scaled if none is set by user. public const int DefaultPollRate = 1000; /// Resolution of chart calulation. public const int Resolution = 500; /// Multiplied by DPI over poll rate to find rough max expected velocity. public const double MaxMultiplier = .05; /// Separation between X and Y active value labels, in pixels. public const int ActiveLabelXYSeparation = 2; /// Vertical separation between charts, in pixels. public const int ChartSeparationVertical = 10; /// Needed to show full contents in form. Unsure why. public const int FormHeightPadding = 35; /// Horizontal separation between charts, in pixels. public const int ChartSeparationHorizontal = 10; /// Default horizontal separation between x and y fields, in pixels. public const int DefaultFieldSeparation = 4; /// Default horizontal separation between an option's label and box, in pixels. public const int OptionLabelBoxSeperation = 10; /// Default horizontal separation between an option's label and box, in pixels. public const int OptionVerticalSeperation = 4; /// Horizontal separation between left side of single dropdown and left side of labels beneath dropdown public const int DropDownLeftSeparation = 10; /// Height of sensitivity chart when displayed alone. public const int SensitivityChartAloneHeight = 510; /// Height of sensitivity chart when displayed alongside Velocity and Gain charts. public const int SensitivityChartTogetherHeight = 328; /// Width of charts when widened public const int WideChartWidth = 723; /// Left placement of charts when widened public const int WideChartLeft = 333; /// Width of charts when narrowed public const int NarrowChartWidth = 698; /// Left placement of charts when narrowed public const int NarrowChartLeft = 482; /// Vertical placement of write button above bottom of sensitivity graph public const int ButtonVerticalOffset = 60; /// Vertical placement of directionality panel below top of containing form public const int DirectionalityVerticalOffset = 315; /// Padding between directionality title and containing panel public const int DirectionalityTitlePad = 8; public const float SmallButtonSizeFactor = 0.666f; /// Number of divisions between 0 and 90 degrees for directional lookup. For 19: 0, 5, 10... 85, 90. public const int AngleDivisions = 19; /// Format string for shortened x and y textboxes. public const string ShortenedFormatString = "0.###"; /// Format string for default active value labels. public const string DefaultActiveValueFormatString = "0.######"; /// Format string for default textboxes. public const string DefaultFieldFormatString = "0.#########"; /// Format string for shortened x and y fields. public const string ShortenedFieldFormatString = "0.###"; /// Format string for gain cap active value label. public const string GainCapFormatString = "0.##"; /// Format string for shortened x and y dropdowns. public const string AccelDropDownDefaultFullText = "Acceleration Type"; /// Format string for default dropdowns. public const string AccelDropDownDefaultShortText = "Accel Type"; /// Default text to be displayed on write button. public const string WriteButtonDefaultText = "Apply"; /// Default text to be displayed on toggle button. public const string ToggleButtonDefaultText = "Toggle"; /// Default text to be displayed on button delay. public const string ButtonDelayText = "Delay"; /// Default text to be displayed on button delay. public const string ResetButtonText = "Reset"; /// Title of sensitivity chart. public const string SensitivityChartTitle = "Sensitivity"; /// Title of velocity chart. public const string VelocityChartTitle = "Velocity"; /// Title of gain chart. public const string GainChartTitle = "Gain"; /// Text for x component. public const string XComponent = "X"; /// Text for y component. public const string YComponent = "Y"; /// Default name of settings file. public const string DefaultSettingsFileName = @"settings.json"; public const string GuiConfigFileName = ".config"; /// Text to directionality panel title when panel is closed. public const string DirectionalityTitleClosed = "Anisotropy \u25BC"; /// Text to directionality panel title when panel is open. public const string DirectionalityTitleOpen = "Anisotropy \u25B2"; /// Style used by System.Double.Parse public const NumberStyles FloatStyle = NumberStyles.Float | NumberStyles.AllowThousands; /// Font Size for Chart Titles public const float ChartTitleFontSize = 15; /// Font Size for Chart Axis Titles public const float ChartAxisFontSize = 12; /// Line Width For Series data on chart public const int ChartSeriesLineWidth = 3; #endregion Constants #region ReadOnly /// Default last mouse move label text format. public static readonly string MouseMoveDefaultFormat = "Last (x, y): ({0}, {1})"; /// Last mouse move label text format when last input was from a dpi normalized device. public static readonly string MouseMoveNormalizedFormat = $"{MouseMoveDefaultFormat} (n)"; /// Marker size for last-mouse-move chart series. public const int DotMarkerSize = 7; /// Foreground Color When Streamer Mode Active public static readonly System.Drawing.Color fgStreamer = System.Drawing.Color.White; /// Background Color When Streamer Mode Active public static readonly System.Drawing.Color bgStreamer = System.Drawing.Color.Green; /// Foreground Color When Streamer Mode Inactive public static readonly System.Drawing.Color fgNoStreamer = System.Drawing.Color.Black; /// Background Color When Streamer Mode Inactive public static readonly System.Drawing.Color bgNoStreamer = System.Drawing.Color.White; /// Color of font in active value labels. public static readonly Color ActiveValueFontColor = Color.FromArgb(255, 65, 65, 65); public static readonly Point Origin = new Point(0); public static readonly Size MaxSize = new Size(9999, 9999); #endregion ReadOnly } }