[WIP] Nearly working FOV winForm

This commit is contained in:
Terry MacDonald 2022-08-08 10:25:07 +12:00
parent 3772d91cfc
commit 681a795a67
8 changed files with 533 additions and 188 deletions

View File

@ -147,11 +147,11 @@
<Compile Include="ShortcutRepository.cs" /> <Compile Include="ShortcutRepository.cs" />
<Compile Include="Processes\SingleInstanceHelper.cs" /> <Compile Include="Processes\SingleInstanceHelper.cs" />
<Compile Include="SingleInstance.cs" /> <Compile Include="SingleInstance.cs" />
<Compile Include="UIForms\FovForm.cs"> <Compile Include="UIForms\FovCalcForm.cs">
<SubType>Form</SubType> <SubType>Form</SubType>
</Compile> </Compile>
<Compile Include="UIForms\FovForm.Designer.cs"> <Compile Include="UIForms\FovCalcForm.Designer.cs">
<DependentUpon>FovForm.cs</DependentUpon> <DependentUpon>FovCalcForm.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="UIForms\GameAdaptor.cs" /> <Compile Include="UIForms\GameAdaptor.cs" />
<Compile Include="UIForms\HotkeyForm.cs"> <Compile Include="UIForms\HotkeyForm.cs">
@ -244,8 +244,8 @@
<LastGenOutput>Language.Designer.cs</LastGenOutput> <LastGenOutput>Language.Designer.cs</LastGenOutput>
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="UIForms\FovForm.resx"> <EmbeddedResource Include="UIForms\FovCalcForm.resx">
<DependentUpon>FovForm.cs</DependentUpon> <DependentUpon>FovCalcForm.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="UIForms\HotkeyForm.resx"> <EmbeddedResource Include="UIForms\HotkeyForm.resx">
<DependentUpon>HotkeyForm.cs</DependentUpon> <DependentUpon>HotkeyForm.cs</DependentUpon>

View File

@ -31,16 +31,17 @@ namespace DisplayMagician
public double ResultBaseSteps; public double ResultBaseSteps;
} }
public enum ScreenRatio : uint public enum ScreenAspectRatio : uint
{ {
SixteenByNine = 0, Custom = 0,
SixteenByTen = 1, SixteenByNine = 1,
TwentyOneByNine = 2, SixteenByTen = 2,
TwentyOneByTen = 3, TwentyOneByNine = 3,
ThirtyTwoByNine = 4, TwentyOneByTen = 4,
ThirtyTwoByTen = 5, ThirtyTwoByNine = 5,
FiveByFour = 6, ThirtyTwoByTen = 6,
FourByThree = 7, FiveByFour = 7,
FourByThree = 8,
} }
public enum ScreenLayout : uint public enum ScreenLayout : uint
@ -469,7 +470,11 @@ namespace DisplayMagician
public static ScreenLayout ScreenLayout { get; set; } public static ScreenLayout ScreenLayout { get; set; }
public static ScreenRatio ScreenRatio { get; set; } public static ScreenAspectRatio ScreenRatio { get; set; }
public static double ScreenRatioX { get; set; }
public static double ScreenRatioY { get; set; }
public static double ScreenSize { get; set; } public static double ScreenSize { get; set; }
@ -483,7 +488,7 @@ namespace DisplayMagician
public static ScreenMeasurementUnit BezelSizeUnit { get; set; } public static ScreenMeasurementUnit BezelSizeUnit { get; set; }
public static bool CalculateFOV(ScreenLayout screenLayout, ScreenRatio screenRatio, double screenSize, ScreenMeasurementUnit screenSizeUnit, double distanceToScreen, ScreenMeasurementUnit distanceToScreenUnit, double bezelSize, ScreenMeasurementUnit bezelSizeUnit) public static bool CalculateFOV(ScreenLayout screenLayout, ScreenAspectRatio screenRatio, double screenSize, ScreenMeasurementUnit screenSizeUnit, double distanceToScreen, ScreenMeasurementUnit distanceToScreenUnit, double bezelSize, ScreenMeasurementUnit bezelSizeUnit)
{ {
ScreenLayout = screenLayout; ScreenLayout = screenLayout;
ScreenRatio = screenRatio; ScreenRatio = screenRatio;
@ -607,46 +612,69 @@ namespace DisplayMagician
// If we get here we can start doing the calculation! Yay! // If we get here we can start doing the calculation! Yay!
double screenRatioX = 21; double screenRatioX = 21;
double screenRatioY = 9; double screenRatioY = 9;
if (ScreenRatio == ScreenRatio.SixteenByNine) if (ScreenRatio == ScreenAspectRatio.SixteenByNine)
{ {
screenRatioX = 16; screenRatioX = 16;
screenRatioY = 9; screenRatioY = 9;
} }
else if (ScreenRatio == ScreenRatio.SixteenByTen) else if (ScreenRatio == ScreenAspectRatio.SixteenByTen)
{ {
screenRatioX = 16; screenRatioX = 16;
screenRatioY = 10; screenRatioY = 10;
} }
else if (ScreenRatio == ScreenRatio.TwentyOneByNine) else if (ScreenRatio == ScreenAspectRatio.TwentyOneByNine)
{ {
screenRatioX = 21; screenRatioX = 21;
screenRatioY = 9; screenRatioY = 9;
} }
else if (ScreenRatio == ScreenRatio.TwentyOneByTen) else if (ScreenRatio == ScreenAspectRatio.TwentyOneByTen)
{ {
screenRatioX = 21; screenRatioX = 21;
screenRatioY = 10; screenRatioY = 10;
} }
else if (ScreenRatio == ScreenRatio.ThirtyTwoByNine) else if (ScreenRatio == ScreenAspectRatio.ThirtyTwoByNine)
{ {
screenRatioX = 32; screenRatioX = 32;
screenRatioY = 9; screenRatioY = 9;
} }
else if (ScreenRatio == ScreenRatio.ThirtyTwoByTen) else if (ScreenRatio == ScreenAspectRatio.ThirtyTwoByTen)
{ {
screenRatioX = 32; screenRatioX = 32;
screenRatioY = 10; screenRatioY = 10;
} }
else if (ScreenRatio == ScreenRatio.FiveByFour) else if (ScreenRatio == ScreenAspectRatio.FiveByFour)
{ {
screenRatioX = 5; screenRatioX = 5;
screenRatioY = 4; screenRatioY = 4;
} }
else if (ScreenRatio == ScreenRatio.FourByThree) else if (ScreenRatio == ScreenAspectRatio.FourByThree)
{ {
screenRatioX = 4; screenRatioX = 4;
screenRatioY = 3; screenRatioY = 3;
} }
else if (ScreenRatio == ScreenAspectRatio.Custom)
{
if (ScreenRatioX > 0)
{
screenRatioX = ScreenRatioX;
}
else
{
return false;
}
if (ScreenRatioY > 0)
{
screenRatioY = ScreenRatioY;
}
else
{
return false;
}
}
else
{
return false;
}
int screenCount = 3; int screenCount = 3;
if (ScreenLayout == ScreenLayout.TripleScreen) if (ScreenLayout == ScreenLayout.TripleScreen)

View File

@ -26,8 +26,8 @@ using System.Resources;
[assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")] [assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")]
// Version information // Version information
[assembly: AssemblyVersion("2.4.1.29")] [assembly: AssemblyVersion("2.4.1.40")]
[assembly: AssemblyFileVersion("2.4.1.29")] [assembly: AssemblyFileVersion("2.4.1.40")]
[assembly: NeutralResourcesLanguageAttribute( "en" )] [assembly: NeutralResourcesLanguageAttribute( "en" )]
[assembly: CLSCompliant(true)] [assembly: CLSCompliant(true)]

View File

@ -1,6 +1,6 @@
namespace DisplayMagician.UIForms namespace DisplayMagician.UIForms
{ {
partial class FovForm partial class FovCalcForm
{ {
/// <summary> /// <summary>
/// Required designer variable. /// Required designer variable.
@ -28,29 +28,38 @@
/// </summary> /// </summary>
private void InitializeComponent() private void InitializeComponent()
{ {
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FovForm)); System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(FovCalcForm));
this.btn_back = new System.Windows.Forms.Button(); this.btn_back = new System.Windows.Forms.Button();
this.btn_update = new System.Windows.Forms.Button(); this.btn_update = new System.Windows.Forms.Button();
this.btn_clear = new System.Windows.Forms.Button(); this.btn_clear = new System.Windows.Forms.Button();
this.pnl_fov = new System.Windows.Forms.Panel(); this.pnl_fov = new System.Windows.Forms.Panel();
this.split_fov = new System.Windows.Forms.SplitContainer(); this.split_fov = new System.Windows.Forms.SplitContainer();
this.lbl_bezel_thickness_description = new System.Windows.Forms.Label();
this.lbl_distinace_to_screen_tip = new System.Windows.Forms.Label();
this.lbl_screen_type = new System.Windows.Forms.Label();
this.lbl_distance_to_screen = new System.Windows.Forms.Label();
this.lbl_distance_to_screen_description = new System.Windows.Forms.Label();
this.lbl_aspect_ratio_description = new System.Windows.Forms.Label();
this.lbl_screen_size_description = new System.Windows.Forms.Label();
this.lbl_screen_type_description = new System.Windows.Forms.Label();
this.btn_triple_screens = new System.Windows.Forms.Button();
this.btn_single_screen = new System.Windows.Forms.Button();
this.lbl_bezel_thickness = new System.Windows.Forms.Label(); this.lbl_bezel_thickness = new System.Windows.Forms.Label();
this.cmb_bezel_thickness = new System.Windows.Forms.ComboBox(); this.cmb_bezel_thickness = new System.Windows.Forms.ComboBox();
this.txt_bezel_thickness = new System.Windows.Forms.TextBox(); this.txt_bezel_thickness = new System.Windows.Forms.TextBox();
this.lbl_distance_to_screen = new System.Windows.Forms.Label();
this.cmb_distance_to_screen = new System.Windows.Forms.ComboBox(); this.cmb_distance_to_screen = new System.Windows.Forms.ComboBox();
this.txt_distance_to_screen = new System.Windows.Forms.TextBox(); this.txt_distance_to_screen = new System.Windows.Forms.TextBox();
this.lbl_aspect_ratio = new System.Windows.Forms.Label(); this.lbl_aspect_ratio = new System.Windows.Forms.Label();
this.lbl_screen_size = new System.Windows.Forms.Label(); this.lbl_screen_size = new System.Windows.Forms.Label();
this.lbl_screen_type = new System.Windows.Forms.Label();
this.txt_aspect_ratio_y = new System.Windows.Forms.TextBox(); this.txt_aspect_ratio_y = new System.Windows.Forms.TextBox();
this.txt_aspect_ratio_x = new System.Windows.Forms.TextBox(); this.txt_aspect_ratio_x = new System.Windows.Forms.TextBox();
this.txt_screen_size = new System.Windows.Forms.TextBox(); this.txt_screen_size = new System.Windows.Forms.TextBox();
this.cmb_screen_size_units = new System.Windows.Forms.ComboBox(); this.cmb_screen_size_units = new System.Windows.Forms.ComboBox();
this.cmb_aspect_ratio = new System.Windows.Forms.ComboBox(); this.cmb_aspect_ratio = new System.Windows.Forms.ComboBox();
this.btn_triple_screens = new System.Windows.Forms.Button();
this.btn_single_screen = new System.Windows.Forms.Button();
this.lbl_title = new System.Windows.Forms.Label(); this.lbl_title = new System.Windows.Forms.Label();
this.lbl_about_fov = new System.Windows.Forms.Label();
this.lbl_aspect_ratio_arrow = new System.Windows.Forms.Label();
this.lbl_aspect_ratio_separator = new System.Windows.Forms.Label();
this.pnl_fov.SuspendLayout(); this.pnl_fov.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.split_fov)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.split_fov)).BeginInit();
this.split_fov.Panel1.SuspendLayout(); this.split_fov.Panel1.SuspendLayout();
@ -65,7 +74,7 @@
this.btn_back.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown; this.btn_back.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown;
this.btn_back.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_back.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_back.ForeColor = System.Drawing.Color.White; this.btn_back.ForeColor = System.Drawing.Color.White;
this.btn_back.Location = new System.Drawing.Point(1214, 571); this.btn_back.Location = new System.Drawing.Point(1214, 636);
this.btn_back.Name = "btn_back"; this.btn_back.Name = "btn_back";
this.btn_back.Size = new System.Drawing.Size(75, 23); this.btn_back.Size = new System.Drawing.Size(75, 23);
this.btn_back.TabIndex = 6; this.btn_back.TabIndex = 6;
@ -82,7 +91,7 @@
this.btn_update.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_update.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_update.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_update.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btn_update.ForeColor = System.Drawing.Color.White; this.btn_update.ForeColor = System.Drawing.Color.White;
this.btn_update.Location = new System.Drawing.Point(244, 555); this.btn_update.Location = new System.Drawing.Point(244, 620);
this.btn_update.Name = "btn_update"; this.btn_update.Name = "btn_update";
this.btn_update.Size = new System.Drawing.Size(128, 40); this.btn_update.Size = new System.Drawing.Size(128, 40);
this.btn_update.TabIndex = 7; this.btn_update.TabIndex = 7;
@ -99,7 +108,7 @@
this.btn_clear.FlatStyle = System.Windows.Forms.FlatStyle.Flat; this.btn_clear.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_clear.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.btn_clear.Font = new System.Drawing.Font("Microsoft Sans Serif", 18F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btn_clear.ForeColor = System.Drawing.Color.White; this.btn_clear.ForeColor = System.Drawing.Color.White;
this.btn_clear.Location = new System.Drawing.Point(403, 554); this.btn_clear.Location = new System.Drawing.Point(403, 619);
this.btn_clear.Name = "btn_clear"; this.btn_clear.Name = "btn_clear";
this.btn_clear.Size = new System.Drawing.Size(128, 40); this.btn_clear.Size = new System.Drawing.Size(128, 40);
this.btn_clear.TabIndex = 8; this.btn_clear.TabIndex = 8;
@ -109,9 +118,9 @@
// pnl_fov // pnl_fov
// //
this.pnl_fov.Controls.Add(this.split_fov); this.pnl_fov.Controls.Add(this.split_fov);
this.pnl_fov.Location = new System.Drawing.Point(0, 55); this.pnl_fov.Location = new System.Drawing.Point(2, 128);
this.pnl_fov.Name = "pnl_fov"; this.pnl_fov.Name = "pnl_fov";
this.pnl_fov.Size = new System.Drawing.Size(1301, 494); this.pnl_fov.Size = new System.Drawing.Size(1301, 478);
this.pnl_fov.TabIndex = 9; this.pnl_fov.TabIndex = 9;
// //
// split_fov // split_fov
@ -124,80 +133,206 @@
// split_fov.Panel1 // split_fov.Panel1
// //
this.split_fov.Panel1.BackColor = System.Drawing.Color.Black; this.split_fov.Panel1.BackColor = System.Drawing.Color.Black;
this.split_fov.Panel1.Controls.Add(this.lbl_bezel_thickness_description);
this.split_fov.Panel1.Controls.Add(this.lbl_distinace_to_screen_tip);
this.split_fov.Panel1.Controls.Add(this.lbl_screen_type);
this.split_fov.Panel1.Controls.Add(this.lbl_distance_to_screen);
this.split_fov.Panel1.Controls.Add(this.lbl_distance_to_screen_description);
this.split_fov.Panel1.Controls.Add(this.lbl_aspect_ratio_description);
this.split_fov.Panel1.Controls.Add(this.lbl_screen_size_description);
this.split_fov.Panel1.Controls.Add(this.lbl_screen_type_description);
this.split_fov.Panel1.Controls.Add(this.btn_triple_screens);
this.split_fov.Panel1.Controls.Add(this.btn_single_screen);
this.split_fov.Panel1.Controls.Add(this.lbl_bezel_thickness); this.split_fov.Panel1.Controls.Add(this.lbl_bezel_thickness);
this.split_fov.Panel1.Controls.Add(this.cmb_bezel_thickness); this.split_fov.Panel1.Controls.Add(this.cmb_bezel_thickness);
this.split_fov.Panel1.Controls.Add(this.txt_bezel_thickness); this.split_fov.Panel1.Controls.Add(this.txt_bezel_thickness);
this.split_fov.Panel1.Controls.Add(this.lbl_distance_to_screen);
this.split_fov.Panel1.Controls.Add(this.cmb_distance_to_screen); this.split_fov.Panel1.Controls.Add(this.cmb_distance_to_screen);
this.split_fov.Panel1.Controls.Add(this.txt_distance_to_screen); this.split_fov.Panel1.Controls.Add(this.txt_distance_to_screen);
this.split_fov.Panel1.Controls.Add(this.lbl_aspect_ratio); this.split_fov.Panel1.Controls.Add(this.lbl_aspect_ratio);
this.split_fov.Panel1.Controls.Add(this.lbl_screen_size); this.split_fov.Panel1.Controls.Add(this.lbl_screen_size);
this.split_fov.Panel1.Controls.Add(this.lbl_screen_type);
this.split_fov.Panel1.Controls.Add(this.txt_aspect_ratio_y); this.split_fov.Panel1.Controls.Add(this.txt_aspect_ratio_y);
this.split_fov.Panel1.Controls.Add(this.txt_aspect_ratio_x); this.split_fov.Panel1.Controls.Add(this.txt_aspect_ratio_x);
this.split_fov.Panel1.Controls.Add(this.txt_screen_size); this.split_fov.Panel1.Controls.Add(this.txt_screen_size);
this.split_fov.Panel1.Controls.Add(this.cmb_screen_size_units); this.split_fov.Panel1.Controls.Add(this.cmb_screen_size_units);
this.split_fov.Panel1.Controls.Add(this.cmb_aspect_ratio); this.split_fov.Panel1.Controls.Add(this.cmb_aspect_ratio);
this.split_fov.Panel1.Controls.Add(this.btn_triple_screens); this.split_fov.Panel1.Controls.Add(this.lbl_aspect_ratio_arrow);
this.split_fov.Panel1.Controls.Add(this.btn_single_screen); this.split_fov.Panel1.Controls.Add(this.lbl_aspect_ratio_separator);
// //
// split_fov.Panel2 // split_fov.Panel2
// //
this.split_fov.Panel2.BackColor = System.Drawing.Color.Black; this.split_fov.Panel2.BackColor = System.Drawing.Color.Black;
this.split_fov.Size = new System.Drawing.Size(1301, 494); this.split_fov.Size = new System.Drawing.Size(1301, 478);
this.split_fov.SplitterDistance = 846; this.split_fov.SplitterDistance = 846;
this.split_fov.TabIndex = 0; this.split_fov.TabIndex = 0;
// //
// lbl_bezel_thickness // lbl_bezel_thickness_description
// //
this.lbl_bezel_thickness.AutoSize = true; this.lbl_bezel_thickness_description.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_bezel_thickness.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lbl_bezel_thickness_description.ForeColor = System.Drawing.Color.IndianRed;
this.lbl_bezel_thickness.ForeColor = System.Drawing.Color.White; this.lbl_bezel_thickness_description.Location = new System.Drawing.Point(24, 400);
this.lbl_bezel_thickness.Location = new System.Drawing.Point(37, 319); this.lbl_bezel_thickness_description.Name = "lbl_bezel_thickness_description";
this.lbl_bezel_thickness.Name = "lbl_bezel_thickness"; this.lbl_bezel_thickness_description.Size = new System.Drawing.Size(456, 50);
this.lbl_bezel_thickness.Size = new System.Drawing.Size(133, 20); this.lbl_bezel_thickness_description.TabIndex = 51;
this.lbl_bezel_thickness.TabIndex = 15; this.lbl_bezel_thickness_description.Text = "Lastly, if you are using triple screens, you need to measure the width of your be" +
this.lbl_bezel_thickness.Text = "Bezel Thickness?"; "zels at the sides of your screens. This is so that we can take account of how th" +
"ey affect the field of view.";
// //
// cmb_bezel_thickness // lbl_distinace_to_screen_tip
// //
this.cmb_bezel_thickness.FormattingEnabled = true; this.lbl_distinace_to_screen_tip.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cmb_bezel_thickness.Location = new System.Drawing.Point(291, 321); this.lbl_distinace_to_screen_tip.ForeColor = System.Drawing.Color.Gold;
this.cmb_bezel_thickness.Name = "cmb_bezel_thickness"; this.lbl_distinace_to_screen_tip.Location = new System.Drawing.Point(24, 307);
this.cmb_bezel_thickness.Size = new System.Drawing.Size(133, 21); this.lbl_distinace_to_screen_tip.Name = "lbl_distinace_to_screen_tip";
this.cmb_bezel_thickness.TabIndex = 14; this.lbl_distinace_to_screen_tip.Size = new System.Drawing.Size(456, 51);
this.lbl_distinace_to_screen_tip.TabIndex = 50;
this.lbl_distinace_to_screen_tip.Text = "(TIP: Try and place your screens as close to your eyes as your simracing rig will" +
" allow. as set your simracing rig This will let you see more of what is happenin" +
"g around you)";
// //
// txt_bezel_thickness // lbl_screen_type
// //
this.txt_bezel_thickness.Location = new System.Drawing.Point(185, 321); this.lbl_screen_type.AutoSize = true;
this.txt_bezel_thickness.Name = "txt_bezel_thickness"; this.lbl_screen_type.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.txt_bezel_thickness.Size = new System.Drawing.Size(100, 20); this.lbl_screen_type.ForeColor = System.Drawing.Color.White;
this.txt_bezel_thickness.TabIndex = 13; this.lbl_screen_type.Location = new System.Drawing.Point(23, 21);
this.lbl_screen_type.Name = "lbl_screen_type";
this.lbl_screen_type.Size = new System.Drawing.Size(295, 20);
this.lbl_screen_type.TabIndex = 7;
this.lbl_screen_type.Text = "1. Single Screen or Triple Screen layout?";
// //
// lbl_distance_to_screen // lbl_distance_to_screen
// //
this.lbl_distance_to_screen.AutoSize = true; this.lbl_distance_to_screen.AutoSize = true;
this.lbl_distance_to_screen.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lbl_distance_to_screen.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_distance_to_screen.ForeColor = System.Drawing.Color.White; this.lbl_distance_to_screen.ForeColor = System.Drawing.Color.White;
this.lbl_distance_to_screen.Location = new System.Drawing.Point(37, 244); this.lbl_distance_to_screen.Location = new System.Drawing.Point(23, 254);
this.lbl_distance_to_screen.Name = "lbl_distance_to_screen"; this.lbl_distance_to_screen.Name = "lbl_distance_to_screen";
this.lbl_distance_to_screen.Size = new System.Drawing.Size(261, 20); this.lbl_distance_to_screen.Size = new System.Drawing.Size(314, 20);
this.lbl_distance_to_screen.TabIndex = 12; this.lbl_distance_to_screen.TabIndex = 12;
this.lbl_distance_to_screen.Text = "Distance from your eyes to Screen?"; this.lbl_distance_to_screen.Text = "4. How far are your eyes from the Screens?";
//
// lbl_distance_to_screen_description
//
this.lbl_distance_to_screen_description.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_distance_to_screen_description.ForeColor = System.Drawing.Color.IndianRed;
this.lbl_distance_to_screen_description.Location = new System.Drawing.Point(24, 274);
this.lbl_distance_to_screen_description.Name = "lbl_distance_to_screen_description";
this.lbl_distance_to_screen_description.Size = new System.Drawing.Size(456, 33);
this.lbl_distance_to_screen_description.TabIndex = 49;
this.lbl_distance_to_screen_description.Text = "Now, you need to measure how far your eyes are away from the center of the middle" +
" screen. I use a tape measure for this.";
//
// lbl_aspect_ratio_description
//
this.lbl_aspect_ratio_description.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_aspect_ratio_description.ForeColor = System.Drawing.Color.IndianRed;
this.lbl_aspect_ratio_description.Location = new System.Drawing.Point(23, 194);
this.lbl_aspect_ratio_description.Name = "lbl_aspect_ratio_description";
this.lbl_aspect_ratio_description.Size = new System.Drawing.Size(456, 33);
this.lbl_aspect_ratio_description.TabIndex = 48;
this.lbl_aspect_ratio_description.Text = "Next, select the aspect ratio your of your screens. Check your display manual if " +
"you are unsure, or visit https://whatismyresolution.com/";
//
// lbl_screen_size_description
//
this.lbl_screen_size_description.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_screen_size_description.ForeColor = System.Drawing.Color.IndianRed;
this.lbl_screen_size_description.Location = new System.Drawing.Point(24, 115);
this.lbl_screen_size_description.Name = "lbl_screen_size_description";
this.lbl_screen_size_description.Size = new System.Drawing.Size(456, 33);
this.lbl_screen_size_description.TabIndex = 47;
this.lbl_screen_size_description.Text = "Next, measure the visible diagonal area of a single screen, ignoring the bezels. " +
"Measure from the top left to the bottom right. Only measure the visible screen a" +
"rea.";
//
// lbl_screen_type_description
//
this.lbl_screen_type_description.Font = new System.Drawing.Font("Microsoft Sans Serif", 9F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_screen_type_description.ForeColor = System.Drawing.Color.IndianRed;
this.lbl_screen_type_description.Location = new System.Drawing.Point(23, 39);
this.lbl_screen_type_description.Name = "lbl_screen_type_description";
this.lbl_screen_type_description.Size = new System.Drawing.Size(456, 33);
this.lbl_screen_type_description.TabIndex = 46;
this.lbl_screen_type_description.Text = "First step is to choose whether you wish to use a Single Screen, or a Triple Scre" +
"en. Choose Single Screen if the game requires NVIDIA Surround or AMD Eyefinity.";
//
// btn_triple_screens
//
this.btn_triple_screens.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
this.btn_triple_screens.FlatAppearance.MouseDownBackColor = System.Drawing.Color.IndianRed;
this.btn_triple_screens.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown;
this.btn_triple_screens.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_triple_screens.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btn_triple_screens.ForeColor = System.Drawing.Color.White;
this.btn_triple_screens.Location = new System.Drawing.Point(653, 39);
this.btn_triple_screens.Name = "btn_triple_screens";
this.btn_triple_screens.Size = new System.Drawing.Size(139, 33);
this.btn_triple_screens.TabIndex = 45;
this.btn_triple_screens.Text = "Triple Screens";
this.btn_triple_screens.UseVisualStyleBackColor = true;
this.btn_triple_screens.Click += new System.EventHandler(this.btn_triple_screens_Click);
//
// btn_single_screen
//
this.btn_single_screen.Anchor = System.Windows.Forms.AnchorStyles.Bottom;
this.btn_single_screen.FlatAppearance.MouseDownBackColor = System.Drawing.Color.IndianRed;
this.btn_single_screen.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown;
this.btn_single_screen.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.btn_single_screen.Font = new System.Drawing.Font("Microsoft Sans Serif", 9.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.btn_single_screen.ForeColor = System.Drawing.Color.White;
this.btn_single_screen.Location = new System.Drawing.Point(493, 39);
this.btn_single_screen.Name = "btn_single_screen";
this.btn_single_screen.Size = new System.Drawing.Size(139, 33);
this.btn_single_screen.TabIndex = 44;
this.btn_single_screen.Text = "Single Screen";
this.btn_single_screen.UseVisualStyleBackColor = true;
this.btn_single_screen.Click += new System.EventHandler(this.btn_single_screen_Click);
//
// lbl_bezel_thickness
//
this.lbl_bezel_thickness.AutoSize = true;
this.lbl_bezel_thickness.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_bezel_thickness.ForeColor = System.Drawing.Color.White;
this.lbl_bezel_thickness.Location = new System.Drawing.Point(23, 380);
this.lbl_bezel_thickness.Name = "lbl_bezel_thickness";
this.lbl_bezel_thickness.Size = new System.Drawing.Size(150, 20);
this.lbl_bezel_thickness.TabIndex = 15;
this.lbl_bezel_thickness.Text = "5. Bezel Thickness?";
this.lbl_bezel_thickness.Click += new System.EventHandler(this.lbl_bezel_thickness_Click);
//
// cmb_bezel_thickness
//
this.cmb_bezel_thickness.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cmb_bezel_thickness.FormattingEnabled = true;
this.cmb_bezel_thickness.Location = new System.Drawing.Point(659, 400);
this.cmb_bezel_thickness.Name = "cmb_bezel_thickness";
this.cmb_bezel_thickness.Size = new System.Drawing.Size(133, 28);
this.cmb_bezel_thickness.TabIndex = 14;
//
// txt_bezel_thickness
//
this.txt_bezel_thickness.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.txt_bezel_thickness.Location = new System.Drawing.Point(575, 400);
this.txt_bezel_thickness.Name = "txt_bezel_thickness";
this.txt_bezel_thickness.Size = new System.Drawing.Size(78, 26);
this.txt_bezel_thickness.TabIndex = 13;
this.txt_bezel_thickness.TextChanged += new System.EventHandler(this.txt_bezel_thickness_TextChanged);
// //
// cmb_distance_to_screen // cmb_distance_to_screen
// //
this.cmb_distance_to_screen.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cmb_distance_to_screen.FormattingEnabled = true; this.cmb_distance_to_screen.FormattingEnabled = true;
this.cmb_distance_to_screen.Location = new System.Drawing.Point(410, 246); this.cmb_distance_to_screen.Location = new System.Drawing.Point(659, 274);
this.cmb_distance_to_screen.Name = "cmb_distance_to_screen"; this.cmb_distance_to_screen.Name = "cmb_distance_to_screen";
this.cmb_distance_to_screen.Size = new System.Drawing.Size(133, 21); this.cmb_distance_to_screen.Size = new System.Drawing.Size(133, 28);
this.cmb_distance_to_screen.TabIndex = 11; this.cmb_distance_to_screen.TabIndex = 11;
// //
// txt_distance_to_screen // txt_distance_to_screen
// //
this.txt_distance_to_screen.Location = new System.Drawing.Point(304, 246); this.txt_distance_to_screen.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.txt_distance_to_screen.Location = new System.Drawing.Point(575, 274);
this.txt_distance_to_screen.Name = "txt_distance_to_screen"; this.txt_distance_to_screen.Name = "txt_distance_to_screen";
this.txt_distance_to_screen.Size = new System.Drawing.Size(100, 20); this.txt_distance_to_screen.Size = new System.Drawing.Size(78, 26);
this.txt_distance_to_screen.TabIndex = 10; this.txt_distance_to_screen.TabIndex = 10;
// //
// lbl_aspect_ratio // lbl_aspect_ratio
@ -205,90 +340,65 @@
this.lbl_aspect_ratio.AutoSize = true; this.lbl_aspect_ratio.AutoSize = true;
this.lbl_aspect_ratio.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lbl_aspect_ratio.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_aspect_ratio.ForeColor = System.Drawing.Color.White; this.lbl_aspect_ratio.ForeColor = System.Drawing.Color.White;
this.lbl_aspect_ratio.Location = new System.Drawing.Point(37, 174); this.lbl_aspect_ratio.Location = new System.Drawing.Point(22, 174);
this.lbl_aspect_ratio.Name = "lbl_aspect_ratio"; this.lbl_aspect_ratio.Name = "lbl_aspect_ratio";
this.lbl_aspect_ratio.Size = new System.Drawing.Size(165, 20); this.lbl_aspect_ratio.Size = new System.Drawing.Size(286, 20);
this.lbl_aspect_ratio.TabIndex = 9; this.lbl_aspect_ratio.TabIndex = 9;
this.lbl_aspect_ratio.Text = "Screen Aspect Ratio?"; this.lbl_aspect_ratio.Text = "3. What Aspect Ratio are the Screens?";
// //
// lbl_screen_size // lbl_screen_size
// //
this.lbl_screen_size.AutoSize = true; this.lbl_screen_size.AutoSize = true;
this.lbl_screen_size.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); this.lbl_screen_size.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_screen_size.ForeColor = System.Drawing.Color.White; this.lbl_screen_size.ForeColor = System.Drawing.Color.White;
this.lbl_screen_size.Location = new System.Drawing.Point(37, 107); this.lbl_screen_size.Location = new System.Drawing.Point(23, 95);
this.lbl_screen_size.Name = "lbl_screen_size"; this.lbl_screen_size.Name = "lbl_screen_size";
this.lbl_screen_size.Size = new System.Drawing.Size(104, 20); this.lbl_screen_size.Size = new System.Drawing.Size(266, 20);
this.lbl_screen_size.TabIndex = 8; this.lbl_screen_size.TabIndex = 8;
this.lbl_screen_size.Text = "Screen Size?"; this.lbl_screen_size.Text = "2. What sized Screens do you have?";
//
// lbl_screen_type
//
this.lbl_screen_type.AutoSize = true;
this.lbl_screen_type.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_screen_type.ForeColor = System.Drawing.Color.White;
this.lbl_screen_type.Location = new System.Drawing.Point(37, 51);
this.lbl_screen_type.Name = "lbl_screen_type";
this.lbl_screen_type.Size = new System.Drawing.Size(278, 20);
this.lbl_screen_type.TabIndex = 7;
this.lbl_screen_type.Text = "Single Screen or Triple Screen layout?";
// //
// txt_aspect_ratio_y // txt_aspect_ratio_y
// //
this.txt_aspect_ratio_y.Location = new System.Drawing.Point(568, 176); this.txt_aspect_ratio_y.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.txt_aspect_ratio_y.Location = new System.Drawing.Point(575, 195);
this.txt_aspect_ratio_y.Name = "txt_aspect_ratio_y"; this.txt_aspect_ratio_y.Name = "txt_aspect_ratio_y";
this.txt_aspect_ratio_y.Size = new System.Drawing.Size(69, 20); this.txt_aspect_ratio_y.Size = new System.Drawing.Size(69, 26);
this.txt_aspect_ratio_y.TabIndex = 6; this.txt_aspect_ratio_y.TabIndex = 6;
// //
// txt_aspect_ratio_x // txt_aspect_ratio_x
// //
this.txt_aspect_ratio_x.Location = new System.Drawing.Point(498, 176); this.txt_aspect_ratio_x.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.txt_aspect_ratio_x.Location = new System.Drawing.Point(496, 195);
this.txt_aspect_ratio_x.Name = "txt_aspect_ratio_x"; this.txt_aspect_ratio_x.Name = "txt_aspect_ratio_x";
this.txt_aspect_ratio_x.Size = new System.Drawing.Size(64, 20); this.txt_aspect_ratio_x.Size = new System.Drawing.Size(64, 26);
this.txt_aspect_ratio_x.TabIndex = 5; this.txt_aspect_ratio_x.TabIndex = 5;
// //
// txt_screen_size // txt_screen_size
// //
this.txt_screen_size.Location = new System.Drawing.Point(161, 109); this.txt_screen_size.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.txt_screen_size.Location = new System.Drawing.Point(575, 121);
this.txt_screen_size.Name = "txt_screen_size"; this.txt_screen_size.Name = "txt_screen_size";
this.txt_screen_size.Size = new System.Drawing.Size(100, 20); this.txt_screen_size.Size = new System.Drawing.Size(78, 26);
this.txt_screen_size.TabIndex = 4; this.txt_screen_size.TabIndex = 4;
// //
// cmb_screen_size_units // cmb_screen_size_units
// //
this.cmb_screen_size_units.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cmb_screen_size_units.FormattingEnabled = true; this.cmb_screen_size_units.FormattingEnabled = true;
this.cmb_screen_size_units.Location = new System.Drawing.Point(267, 107); this.cmb_screen_size_units.Location = new System.Drawing.Point(659, 120);
this.cmb_screen_size_units.Name = "cmb_screen_size_units"; this.cmb_screen_size_units.Name = "cmb_screen_size_units";
this.cmb_screen_size_units.Size = new System.Drawing.Size(133, 21); this.cmb_screen_size_units.Size = new System.Drawing.Size(133, 28);
this.cmb_screen_size_units.TabIndex = 3; this.cmb_screen_size_units.TabIndex = 3;
// //
// cmb_aspect_ratio // cmb_aspect_ratio
// //
this.cmb_aspect_ratio.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.cmb_aspect_ratio.FormattingEnabled = true; this.cmb_aspect_ratio.FormattingEnabled = true;
this.cmb_aspect_ratio.Location = new System.Drawing.Point(220, 176); this.cmb_aspect_ratio.Location = new System.Drawing.Point(672, 195);
this.cmb_aspect_ratio.Name = "cmb_aspect_ratio"; this.cmb_aspect_ratio.Name = "cmb_aspect_ratio";
this.cmb_aspect_ratio.Size = new System.Drawing.Size(259, 21); this.cmb_aspect_ratio.Size = new System.Drawing.Size(120, 28);
this.cmb_aspect_ratio.TabIndex = 2; this.cmb_aspect_ratio.TabIndex = 2;
// this.cmb_aspect_ratio.SelectedIndexChanged += new System.EventHandler(this.cmb_aspect_ratio_SelectedIndexChanged);
// btn_triple_screens
//
this.btn_triple_screens.Location = new System.Drawing.Point(486, 46);
this.btn_triple_screens.Name = "btn_triple_screens";
this.btn_triple_screens.Size = new System.Drawing.Size(133, 33);
this.btn_triple_screens.TabIndex = 1;
this.btn_triple_screens.Text = "Triple Screens";
this.btn_triple_screens.UseVisualStyleBackColor = true;
this.btn_triple_screens.Click += new System.EventHandler(this.btn_triple_screens_Click);
//
// btn_single_screen
//
this.btn_single_screen.Location = new System.Drawing.Point(326, 46);
this.btn_single_screen.Name = "btn_single_screen";
this.btn_single_screen.Size = new System.Drawing.Size(133, 33);
this.btn_single_screen.TabIndex = 0;
this.btn_single_screen.Text = "Single Screen";
this.btn_single_screen.UseVisualStyleBackColor = true;
this.btn_single_screen.Click += new System.EventHandler(this.btn_single_screen_Click);
// //
// lbl_title // lbl_title
// //
@ -303,20 +413,55 @@
this.lbl_title.Text = "Field of View (FOV) Calculator"; this.lbl_title.Text = "Field of View (FOV) Calculator";
this.lbl_title.TextAlign = System.Drawing.ContentAlignment.TopCenter; this.lbl_title.TextAlign = System.Drawing.ContentAlignment.TopCenter;
// //
// FovForm // lbl_about_fov
//
this.lbl_about_fov.Font = new System.Drawing.Font("Microsoft Sans Serif", 10F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_about_fov.ForeColor = System.Drawing.Color.White;
this.lbl_about_fov.Location = new System.Drawing.Point(58, 56);
this.lbl_about_fov.Name = "lbl_about_fov";
this.lbl_about_fov.Size = new System.Drawing.Size(1193, 51);
this.lbl_about_fov.TabIndex = 21;
this.lbl_about_fov.Text = resources.GetString("lbl_about_fov.Text");
this.lbl_about_fov.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// lbl_aspect_ratio_arrow
//
this.lbl_aspect_ratio_arrow.AutoSize = true;
this.lbl_aspect_ratio_arrow.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_aspect_ratio_arrow.ForeColor = System.Drawing.Color.White;
this.lbl_aspect_ratio_arrow.Location = new System.Drawing.Point(647, 198);
this.lbl_aspect_ratio_arrow.Name = "lbl_aspect_ratio_arrow";
this.lbl_aspect_ratio_arrow.Size = new System.Drawing.Size(23, 20);
this.lbl_aspect_ratio_arrow.TabIndex = 52;
this.lbl_aspect_ratio_arrow.Text = "<-";
//
// lbl_aspect_ratio_separator
//
this.lbl_aspect_ratio_separator.AutoSize = true;
this.lbl_aspect_ratio_separator.Font = new System.Drawing.Font("Microsoft Sans Serif", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lbl_aspect_ratio_separator.ForeColor = System.Drawing.Color.White;
this.lbl_aspect_ratio_separator.Location = new System.Drawing.Point(562, 196);
this.lbl_aspect_ratio_separator.Name = "lbl_aspect_ratio_separator";
this.lbl_aspect_ratio_separator.Size = new System.Drawing.Size(13, 20);
this.lbl_aspect_ratio_separator.TabIndex = 53;
this.lbl_aspect_ratio_separator.Text = ":";
//
// FovCalcForm
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.Black; this.BackColor = System.Drawing.Color.Black;
this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage"))); this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch; this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Stretch;
this.ClientSize = new System.Drawing.Size(1301, 606); this.ClientSize = new System.Drawing.Size(1301, 671);
this.Controls.Add(this.lbl_about_fov);
this.Controls.Add(this.lbl_title); this.Controls.Add(this.lbl_title);
this.Controls.Add(this.btn_clear); this.Controls.Add(this.btn_clear);
this.Controls.Add(this.btn_update); this.Controls.Add(this.btn_update);
this.Controls.Add(this.pnl_fov); this.Controls.Add(this.pnl_fov);
this.Controls.Add(this.btn_back); this.Controls.Add(this.btn_back);
this.Name = "FovForm"; this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
this.Name = "FovCalcForm";
this.ShowIcon = false; this.ShowIcon = false;
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent; this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
this.Text = "Field of View (FOV) Calculator"; this.Text = "Field of View (FOV) Calculator";
@ -354,5 +499,14 @@
private System.Windows.Forms.ComboBox cmb_aspect_ratio; private System.Windows.Forms.ComboBox cmb_aspect_ratio;
private System.Windows.Forms.Button btn_triple_screens; private System.Windows.Forms.Button btn_triple_screens;
private System.Windows.Forms.Button btn_single_screen; private System.Windows.Forms.Button btn_single_screen;
private System.Windows.Forms.Label lbl_distance_to_screen_description;
private System.Windows.Forms.Label lbl_aspect_ratio_description;
private System.Windows.Forms.Label lbl_screen_size_description;
private System.Windows.Forms.Label lbl_screen_type_description;
private System.Windows.Forms.Label lbl_about_fov;
private System.Windows.Forms.Label lbl_bezel_thickness_description;
private System.Windows.Forms.Label lbl_distinace_to_screen_tip;
private System.Windows.Forms.Label lbl_aspect_ratio_arrow;
private System.Windows.Forms.Label lbl_aspect_ratio_separator;
} }
} }

View File

@ -0,0 +1,227 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DisplayMagician;
using DisplayMagicianShared;
namespace DisplayMagician.UIForms
{
public partial class FovCalcForm : Form
{
private ScreenLayout _screenLayout = ScreenLayout.TripleScreen;
public FovCalcForm()
{
InitializeComponent();
Dictionary<ScreenMeasurementUnit, string> measurementComboBoxData = new Dictionary<ScreenMeasurementUnit, string>();
// Populate the measurementComboBoxData dictionary
measurementComboBoxData.Add(ScreenMeasurementUnit.CM, "Centimetres");
measurementComboBoxData.Add(ScreenMeasurementUnit.Inch, "Inches");
measurementComboBoxData.Add(ScreenMeasurementUnit.MM, "Millimetres");
// Now use it to populate the various comboboxes
cmb_distance_to_screen.DataSource = new BindingSource(measurementComboBoxData, null);
cmb_distance_to_screen.DisplayMember = "Value";
cmb_distance_to_screen.ValueMember = "Key";
cmb_distance_to_screen.SelectedValue = ScreenMeasurementUnit.CM;
cmb_bezel_thickness.DataSource = new BindingSource(measurementComboBoxData, null);
cmb_bezel_thickness.DisplayMember = "Value";
cmb_bezel_thickness.ValueMember = "Key";
cmb_bezel_thickness.SelectedValue = ScreenMeasurementUnit.MM;
cmb_screen_size_units.DataSource = new BindingSource(measurementComboBoxData, null);
cmb_screen_size_units.DisplayMember = "Value";
cmb_screen_size_units.ValueMember = "Key";
cmb_screen_size_units.SelectedValue = ScreenMeasurementUnit.Inch;
Dictionary<ScreenAspectRatio, string> aspectRatioComboBoxData = new Dictionary<ScreenAspectRatio, string>();
// Populate the measurementComboBoxData dictionary
aspectRatioComboBoxData.Add(ScreenAspectRatio.SixteenByNine, "16:9");
aspectRatioComboBoxData.Add(ScreenAspectRatio.SixteenByTen, "16:10");
aspectRatioComboBoxData.Add(ScreenAspectRatio.TwentyOneByNine, "21:9");
aspectRatioComboBoxData.Add(ScreenAspectRatio.TwentyOneByTen, "21:10");
aspectRatioComboBoxData.Add(ScreenAspectRatio.ThirtyTwoByNine, "32:9");
aspectRatioComboBoxData.Add(ScreenAspectRatio.ThirtyTwoByTen, "32:10");
aspectRatioComboBoxData.Add(ScreenAspectRatio.FourByThree, "4:3");
aspectRatioComboBoxData.Add(ScreenAspectRatio.FiveByFour, "5:4");
aspectRatioComboBoxData.Add(ScreenAspectRatio.Custom, "Custom");
// Now use it to populate the various comboboxes
cmb_aspect_ratio.DataSource = new BindingSource(aspectRatioComboBoxData, null);
cmb_aspect_ratio.DisplayMember = "Value";
cmb_aspect_ratio.ValueMember = "Key";
// Hide the custom aspect ration bits until needed
lbl_aspect_ratio_arrow.Visible = false;
lbl_aspect_ratio_separator.Visible = false;
txt_aspect_ratio_x.Visible = false;
txt_aspect_ratio_y.Visible = false;
//CalculateCurrentDisplayLayout();
FovCalculator.CalculateFOV(
ScreenLayout.SingleScreen,
ScreenAspectRatio.SixteenByNine,
27,
ScreenMeasurementUnit.Inch,
56,
ScreenMeasurementUnit.CM,
0,
ScreenMeasurementUnit.MM
);
}
private void btn_back_Click(object sender, EventArgs e)
{
this.Close();
}
/*private void CalculateCurrentDisplayLayout()
{
foreach (var display in ProfileRepository.CurrentProfile.WindowsDisplayConfig.DisplayAdapters)
{
display.Value
}
}*/
private void btn_single_screen_Click(object sender, EventArgs e)
{
_screenLayout = ScreenLayout.SingleScreen;
btn_single_screen.BackColor = Color.Maroon;
btn_triple_screens.BackColor = Color.Black;
cmb_bezel_thickness.Visible = false;
lbl_bezel_thickness.Visible = false;
lbl_bezel_thickness_description.Visible = false;
txt_bezel_thickness.Visible = false;
}
private void btn_triple_screens_Click(object sender, EventArgs e)
{
_screenLayout = ScreenLayout.TripleScreen;
btn_triple_screens.BackColor = Color.Maroon;
btn_single_screen.BackColor = Color.Black;
cmb_bezel_thickness.Visible = true;
lbl_bezel_thickness.Visible = true;
lbl_bezel_thickness_description.Visible = true;
txt_bezel_thickness.Visible = true;
}
private void btn_update_Click(object sender, EventArgs e)
{
double result;
// Populate the FOV Calc data, ready for the calculation
// Firstly do the bezels (if needed)
if (_screenLayout == ScreenLayout.TripleScreen)
{
if (Double.TryParse(txt_bezel_thickness.Text, out result))
{
FovCalculator.BezelSize = result;
}
else
{
FovCalculator.BezelSize = 0;
}
}
else
{
FovCalculator.BezelSize = 0;
}
FovCalculator.BezelSizeUnit = (ScreenMeasurementUnit)cmb_bezel_thickness.SelectedValue;
// Next, do the Screen size
if (Double.TryParse(txt_screen_size.Text, out result))
{
FovCalculator.ScreenSize = result;
}
else
{
FovCalculator.ScreenSize = 0;
}
FovCalculator.ScreenSizeUnit = (ScreenMeasurementUnit)cmb_screen_size_units.SelectedValue;
// Next, do the Distance to Screen
if (Double.TryParse(txt_distance_to_screen.Text, out result))
{
FovCalculator.DistanceToScreen = result;
}
else
{
FovCalculator.DistanceToScreen = 0;
}
FovCalculator.DistanceToScreenUnit = (ScreenMeasurementUnit)cmb_distance_to_screen.SelectedValue;
// Next, do the Screen Aspect Ratio
if (((ScreenAspectRatio)cmb_aspect_ratio.SelectedValue).Equals(ScreenAspectRatio.Custom))
{
result = 0;
if (Double.TryParse(txt_aspect_ratio_x.Text, out result))
{
FovCalculator.ScreenRatioX = result;
}
else
{
FovCalculator.ScreenRatioX = 16;
}
result = 0;
if (Double.TryParse(txt_aspect_ratio_y.Text, out result))
{
FovCalculator.ScreenRatioY = result;
}
else
{
FovCalculator.ScreenRatioY = 9;
}
}
// Now actually do the calculation!
FovCalculator.CalculateFOV();
}
private void lbl_bezel_thickness_Click(object sender, EventArgs e)
{
}
private void txt_bezel_thickness_TextChanged(object sender, EventArgs e)
{
}
private void cmb_aspect_ratio_SelectedIndexChanged(object sender, EventArgs e)
{
if (cmb_aspect_ratio.SelectedValue.Equals(ScreenAspectRatio.Custom))
{
// Hide the custom aspect ration bits until needed
lbl_aspect_ratio_arrow.Visible = true;
lbl_aspect_ratio_separator.Visible = true;
txt_aspect_ratio_x.Visible = true;
txt_aspect_ratio_y.Visible = true;
}
else
{
// Hide the custom aspect ration bits until needed
lbl_aspect_ratio_arrow.Visible = false;
lbl_aspect_ratio_separator.Visible = false;
txt_aspect_ratio_x.Visible = false;
txt_aspect_ratio_y.Visible = false;
}
}
}
}

View File

@ -117,6 +117,9 @@
<resheader name="writer"> <resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader> </resheader>
<data name="lbl_about_fov.Text" xml:space="preserve">
<value>As humans go about our normal lives, we are constantly judging distances between ourselves and the objects around us. We get used to figuring out the spaces between us and things nearby. When we interact with a computer game, the sizes and distances can appear different to our brains as they are different from those we experience in real life, and those differences can cause us to make mistakes. This calculator can help you adjust each game so that the sizes and disitances in the game are closer to what you would see in real life.</value>
</data>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> <assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="$this.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="$this.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
@ -127,7 +130,7 @@
L6wlizhexCplZoSlcvyZ9LL6fY9biU/PTk3K2iKzGYsIw4TRGGWQAUJ00yc+RCdBumRHifhALn6CJYlV L6wlizhexCplZoSlcvyZ9LL6fY9biU/PTk3K2iKzGYsIw4TRGGWQAUJ00yc+RCdBumRHifhALn6CJYlV
4g1WMVkkSQpbequxLNl1WROi6zLSrLr9/9tXK9ETzGf3haHiyXHeWqFyC743Hefz0HG+j8D7CBfZQvzS 4g1WMVkkSQpbequxLNl1WROi6zLSrLr9/9tXK9ETzGf3haHiyXHeWqFyC743Hefz0HG+j8D7CBfZQvzS
AfS+i75Z0Pz7ULcOZ5cFLb4D5xvQ9GDEzFhO8sr0JBLwegK1M9BwDdVz+Z79nnN8D9E1+aor2N2DNrlf AfS+i75Z0Pz7ULcOZ5cFLb4D5xvQ9GDEzFhO8sr0JBLwegK1M9BwDdVz+Z79nnN8D9E1+aor2N2DNrlf
N/8DYltn5LNebX8AAAAJcEhZcwAADsIAAA7CARUoSoAAAP40SURBVHhe5P0HYBVHsvcNs+v12jhgAyYr N/8DYltn5LNebX8AAAAJcEhZcwAADr8AAA6/ATgFUyQAAP40SURBVHhe5P0HYBVHsvcNs+v12jhgAyYr
J3LGNs4mZ5FEFgiBEBKSyDmDcc4552wcyTlHgRASklDO0pFOzkcJ+H49Jc5yd5/nvs997t57932/drmp J3LGNs4mZ5FEFgiBEBKSyDmDcc4552wcyTlHgRASklDO0pFOzkcJ+H49Jc5yd5/nvs997t57932/drmp
qa6urg4zU3/1zJwmvoHd/YJ6BIb2Du7YNyCkl09AN//gnvDk7f26yCF5B/+uwqMMQy2qwMOIkCpiJCis qa6urg4zU3/1zJwmvoHd/YJ6BIb2Du7YNyCkl09AN//gnvDk7f26yCF5B/+uwqMMQy2qwMOIkCpiJCis
D8qt24dJFU2HKl19A7uRQ0iogjJ1IRpFwiEVkXMIT10Rcgjf1qcTh5opVQWz4oM0QUWK0BGzCKVKO9/O D8qt24dJFU2HKl19A7uRQ0iogjJ1IRpFwiEVkXMIT10Rcgjf1qcTh5opVQWz4oM0QUWK0BGzCKVKO9/O

View File

@ -1,67 +0,0 @@
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using DisplayMagician;
using DisplayMagicianShared;
namespace DisplayMagician.UIForms
{
public partial class FovForm : Form
{
public FovForm()
{
InitializeComponent();
//CalculateCurrentDisplayLayout();
FovCalculator.CalculateFOV(
ScreenLayout.SingleScreen,
ScreenRatio.SixteenByNine,
27,
ScreenMeasurementUnit.Inch,
56,
ScreenMeasurementUnit.CM,
0,
ScreenMeasurementUnit.MM
);
}
private void btn_back_Click(object sender, EventArgs e)
{
this.Close();
}
/*private void CalculateCurrentDisplayLayout()
{
foreach (var display in ProfileRepository.CurrentProfile.WindowsDisplayConfig.DisplayAdapters)
{
display.Value
}
}*/
private void btn_single_screen_Click(object sender, EventArgs e)
{
cmb_bezel_thickness.Visible = false;
lbl_bezel_thickness.Visible = false;
txt_bezel_thickness.Visible = false;
}
private void btn_triple_screens_Click(object sender, EventArgs e)
{
cmb_bezel_thickness.Visible = true;
lbl_bezel_thickness.Visible = true;
txt_bezel_thickness.Visible = true;
}
private void btn_update_Click(object sender, EventArgs e)
{
FovCalculator.CalculateFOV();
}
}
}

View File

@ -663,7 +663,7 @@ namespace DisplayMagician.UIForms
private void btn_fov_calc_Click(object sender, EventArgs e) private void btn_fov_calc_Click(object sender, EventArgs e)
{ {
var fovCalcForm = new FovForm(); var fovCalcForm = new FovCalcForm();
fovCalcForm.ShowDialog(this); fovCalcForm.ShowDialog(this);
} }
} }