summaryrefslogtreecommitdiff
path: root/grapher/Constants/Constants.cs
blob: 639bd9b91de34e19acce4e45675f0b75bdaf3fb4 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
using System.Drawing;

namespace grapher
{
    public static class Constants
    {
        #region Constants

        /// <summary> DPI by which charts are scaled if none is set by user. </summary>
        public const int DefaultDPI = 1200;

        /// <summary> Poll rate by which charts are scaled if none is set by user. </summary>
        public const int DefaultPollRate = 1000;

        /// <summary> Resolution of chart calulation. </summary>
        public const int Resolution = 100;

        /// <summary> Multiplied by DPI over poll rate to find rough max expected velocity. </summary>
        public const double MaxMultiplier = 85;

        /// <summary> Ratio of max (X, Y) used in "by component" calulations to those used in "whole vector" calculations. </summary>
        public const double XYToCombinedRatio = 1.4;

        /// <summary> Separation between X and Y active value labels, in pixels. </summary>
        public const int ActiveLabelXYSeparation = 2;

        /// <summary> Vertical separation between charts, in pixels. </summary>
        public const int ChartSeparationVertical = 10;

        /// <summary> Needed to show full contents in form. Unsure why. </summary>
        public const int FormHeightPadding = 35;

        /// <summary> Horizontal separation between charts, in pixels. </summary>
        public const int ChartSeparationHorizontal = 10;

        /// <summary> Default horizontal separation between x and y fields, in pixels. </summary>
        public const int DefaultFieldSeparation = 4;

        /// <summary> Default horizontal separation between an option's label and box, in pixels. </summary>
        public const int OptionLabelBoxSeperation = 10;

        /// <summary> Default horizontal separation between an option's label and box, in pixels. </summary>
        public const int OptionVerticalSeperation = 4;

        /// <summary> Horizontal separation between left side of single dropdown and left side of labels beneath dropdown </summary>
        public const int DropDownLeftSeparation = 10;

        /// <summary> Width of charts when widened </summary>
        public const int WideChartWidth = 723;

        /// <summary> Left placement of charts when widened </summary>
        public const int WideChartLeft = 333;

        /// <summary> Width of charts when narrowed </summary>
        public const int NarrowChartWidth = 698;

        /// <summary> Left placement of charts when narrowed </summary>
        public const int NarrowChartLeft = 482;

        /// <summary> Vertical placement of write button above bottom of sensitivity graph </summary>
        public const int ButtonVerticalOffset = 60;

        /// <summary> Format string for shortened x and y textboxes. </summary>
        public const string ShortenedFormatString = "0.###";

        /// <summary> Format string for default active value labels. </summary>
        public const string DefaultActiveValueFormatString = "0.######";

        /// <summary> Format string for default textboxes. </summary>
        public const string DefaultFieldFormatString = "0.#########";

        /// <summary> Format string for shortened x and y fields. </summary>
        public const string ShortenedFieldFormatString = "0.###";

        /// <summary> Format string for gain cap active value label. </summary>
        public const string GainCapFormatString = "0.##";

        /// <summary> Format string for shortened x and y dropdowns. </summary>
        public const string AccelDropDownDefaultFullText = "Acceleration Type";

        /// <summary> Format string for default dropdowns. </summary>
        public const string AccelDropDownDefaultShortText = "Accel Type";

        /// <summary> Default text to be displayed on write button. </summary>
        public const string WriteButtonDefaultText = "Apply";

        /// <summary> Default text to be displayed on write button. </summary>
        public const string ToggleButtonDefaultText = "Toggle";

        /// <summary> Default text to be displayed on write button. </summary>
        public const string ButtonDelayText = "Delay";

        /// <summary> Title of sensitivity chart. </summary>
        public const string SensitivityChartTitle = "Sensitivity";

        /// <summary> Title of velocity chart. </summary>
        public const string VelocityChartTitle = "Velocity";

        /// <summary> Title of gain chart. </summary>
        public const string GainChartTitle = "Gain";

        /// <summary> Text for x component. </summary>
        public const string XComponent = "X";
        
        /// <summary> Text for y component. </summary>
        public const string YComponent = "Y";

        /// <summary> Default name of settings file. </summary>
        public const string DefaultSettingsFileName = @"settings.json";

        #endregion Constants

        #region ReadOnly

        /// <summary> Color of font in active value labels. </summary>
        public static readonly Color ActiveValueFontColor = Color.FromArgb(255, 65, 65, 65);

        #endregion ReadOnly
    }
}