mirror of
https://github.com/terrymacdonald/DisplayMagician.git
synced 2024-08-30 18:32:20 +00:00
[WIP] Nearly working FOV winForm
This commit is contained in:
parent
3772d91cfc
commit
681a795a67
@ -147,11 +147,11 @@
|
||||
<Compile Include="ShortcutRepository.cs" />
|
||||
<Compile Include="Processes\SingleInstanceHelper.cs" />
|
||||
<Compile Include="SingleInstance.cs" />
|
||||
<Compile Include="UIForms\FovForm.cs">
|
||||
<Compile Include="UIForms\FovCalcForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
<Compile Include="UIForms\FovForm.Designer.cs">
|
||||
<DependentUpon>FovForm.cs</DependentUpon>
|
||||
<Compile Include="UIForms\FovCalcForm.Designer.cs">
|
||||
<DependentUpon>FovCalcForm.cs</DependentUpon>
|
||||
</Compile>
|
||||
<Compile Include="UIForms\GameAdaptor.cs" />
|
||||
<Compile Include="UIForms\HotkeyForm.cs">
|
||||
@ -244,8 +244,8 @@
|
||||
<LastGenOutput>Language.Designer.cs</LastGenOutput>
|
||||
<SubType>Designer</SubType>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UIForms\FovForm.resx">
|
||||
<DependentUpon>FovForm.cs</DependentUpon>
|
||||
<EmbeddedResource Include="UIForms\FovCalcForm.resx">
|
||||
<DependentUpon>FovCalcForm.cs</DependentUpon>
|
||||
</EmbeddedResource>
|
||||
<EmbeddedResource Include="UIForms\HotkeyForm.resx">
|
||||
<DependentUpon>HotkeyForm.cs</DependentUpon>
|
||||
|
@ -31,16 +31,17 @@ namespace DisplayMagician
|
||||
public double ResultBaseSteps;
|
||||
}
|
||||
|
||||
public enum ScreenRatio : uint
|
||||
public enum ScreenAspectRatio : uint
|
||||
{
|
||||
SixteenByNine = 0,
|
||||
SixteenByTen = 1,
|
||||
TwentyOneByNine = 2,
|
||||
TwentyOneByTen = 3,
|
||||
ThirtyTwoByNine = 4,
|
||||
ThirtyTwoByTen = 5,
|
||||
FiveByFour = 6,
|
||||
FourByThree = 7,
|
||||
Custom = 0,
|
||||
SixteenByNine = 1,
|
||||
SixteenByTen = 2,
|
||||
TwentyOneByNine = 3,
|
||||
TwentyOneByTen = 4,
|
||||
ThirtyTwoByNine = 5,
|
||||
ThirtyTwoByTen = 6,
|
||||
FiveByFour = 7,
|
||||
FourByThree = 8,
|
||||
}
|
||||
|
||||
public enum ScreenLayout : uint
|
||||
@ -469,7 +470,11 @@ namespace DisplayMagician
|
||||
|
||||
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; }
|
||||
|
||||
@ -483,7 +488,7 @@ namespace DisplayMagician
|
||||
|
||||
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;
|
||||
ScreenRatio = screenRatio;
|
||||
@ -607,46 +612,69 @@ namespace DisplayMagician
|
||||
// If we get here we can start doing the calculation! Yay!
|
||||
double screenRatioX = 21;
|
||||
double screenRatioY = 9;
|
||||
if (ScreenRatio == ScreenRatio.SixteenByNine)
|
||||
if (ScreenRatio == ScreenAspectRatio.SixteenByNine)
|
||||
{
|
||||
screenRatioX = 16;
|
||||
screenRatioY = 9;
|
||||
}
|
||||
else if (ScreenRatio == ScreenRatio.SixteenByTen)
|
||||
else if (ScreenRatio == ScreenAspectRatio.SixteenByTen)
|
||||
{
|
||||
screenRatioX = 16;
|
||||
screenRatioY = 10;
|
||||
}
|
||||
else if (ScreenRatio == ScreenRatio.TwentyOneByNine)
|
||||
else if (ScreenRatio == ScreenAspectRatio.TwentyOneByNine)
|
||||
{
|
||||
screenRatioX = 21;
|
||||
screenRatioY = 9;
|
||||
}
|
||||
else if (ScreenRatio == ScreenRatio.TwentyOneByTen)
|
||||
else if (ScreenRatio == ScreenAspectRatio.TwentyOneByTen)
|
||||
{
|
||||
screenRatioX = 21;
|
||||
screenRatioY = 10;
|
||||
}
|
||||
else if (ScreenRatio == ScreenRatio.ThirtyTwoByNine)
|
||||
else if (ScreenRatio == ScreenAspectRatio.ThirtyTwoByNine)
|
||||
{
|
||||
screenRatioX = 32;
|
||||
screenRatioY = 9;
|
||||
}
|
||||
else if (ScreenRatio == ScreenRatio.ThirtyTwoByTen)
|
||||
else if (ScreenRatio == ScreenAspectRatio.ThirtyTwoByTen)
|
||||
{
|
||||
screenRatioX = 32;
|
||||
screenRatioY = 10;
|
||||
}
|
||||
else if (ScreenRatio == ScreenRatio.FiveByFour)
|
||||
else if (ScreenRatio == ScreenAspectRatio.FiveByFour)
|
||||
{
|
||||
screenRatioX = 5;
|
||||
screenRatioY = 4;
|
||||
}
|
||||
else if (ScreenRatio == ScreenRatio.FourByThree)
|
||||
else if (ScreenRatio == ScreenAspectRatio.FourByThree)
|
||||
{
|
||||
screenRatioX = 4;
|
||||
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;
|
||||
if (ScreenLayout == ScreenLayout.TripleScreen)
|
||||
|
@ -26,8 +26,8 @@ using System.Resources;
|
||||
[assembly: Guid("e4ceaf5e-ad01-4695-b179-31168eb74c48")]
|
||||
|
||||
// Version information
|
||||
[assembly: AssemblyVersion("2.4.1.29")]
|
||||
[assembly: AssemblyFileVersion("2.4.1.29")]
|
||||
[assembly: AssemblyVersion("2.4.1.40")]
|
||||
[assembly: AssemblyFileVersion("2.4.1.40")]
|
||||
[assembly: NeutralResourcesLanguageAttribute( "en" )]
|
||||
[assembly: CLSCompliant(true)]
|
||||
|
||||
|
@ -1,6 +1,6 @@
|
||||
namespace DisplayMagician.UIForms
|
||||
{
|
||||
partial class FovForm
|
||||
partial class FovCalcForm
|
||||
{
|
||||
/// <summary>
|
||||
/// Required designer variable.
|
||||
@ -28,29 +28,38 @@
|
||||
/// </summary>
|
||||
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_update = new System.Windows.Forms.Button();
|
||||
this.btn_clear = new System.Windows.Forms.Button();
|
||||
this.pnl_fov = new System.Windows.Forms.Panel();
|
||||
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.cmb_bezel_thickness = new System.Windows.Forms.ComboBox();
|
||||
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.txt_distance_to_screen = new System.Windows.Forms.TextBox();
|
||||
this.lbl_aspect_ratio = 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_x = 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_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_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();
|
||||
((System.ComponentModel.ISupportInitialize)(this.split_fov)).BeginInit();
|
||||
this.split_fov.Panel1.SuspendLayout();
|
||||
@ -65,7 +74,7 @@
|
||||
this.btn_back.FlatAppearance.MouseOverBackColor = System.Drawing.Color.Brown;
|
||||
this.btn_back.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
|
||||
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.Size = new System.Drawing.Size(75, 23);
|
||||
this.btn_back.TabIndex = 6;
|
||||
@ -82,7 +91,7 @@
|
||||
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.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.Size = new System.Drawing.Size(128, 40);
|
||||
this.btn_update.TabIndex = 7;
|
||||
@ -99,7 +108,7 @@
|
||||
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.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.Size = new System.Drawing.Size(128, 40);
|
||||
this.btn_clear.TabIndex = 8;
|
||||
@ -109,9 +118,9 @@
|
||||
// pnl_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.Size = new System.Drawing.Size(1301, 494);
|
||||
this.pnl_fov.Size = new System.Drawing.Size(1301, 478);
|
||||
this.pnl_fov.TabIndex = 9;
|
||||
//
|
||||
// split_fov
|
||||
@ -124,80 +133,206 @@
|
||||
// split_fov.Panel1
|
||||
//
|
||||
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.cmb_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.txt_distance_to_screen);
|
||||
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_type);
|
||||
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_screen_size);
|
||||
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.btn_triple_screens);
|
||||
this.split_fov.Panel1.Controls.Add(this.btn_single_screen);
|
||||
this.split_fov.Panel1.Controls.Add(this.lbl_aspect_ratio_arrow);
|
||||
this.split_fov.Panel1.Controls.Add(this.lbl_aspect_ratio_separator);
|
||||
//
|
||||
// split_fov.Panel2
|
||||
//
|
||||
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.TabIndex = 0;
|
||||
//
|
||||
// lbl_bezel_thickness
|
||||
// lbl_bezel_thickness_description
|
||||
//
|
||||
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(37, 319);
|
||||
this.lbl_bezel_thickness.Name = "lbl_bezel_thickness";
|
||||
this.lbl_bezel_thickness.Size = new System.Drawing.Size(133, 20);
|
||||
this.lbl_bezel_thickness.TabIndex = 15;
|
||||
this.lbl_bezel_thickness.Text = "Bezel Thickness?";
|
||||
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_description.ForeColor = System.Drawing.Color.IndianRed;
|
||||
this.lbl_bezel_thickness_description.Location = new System.Drawing.Point(24, 400);
|
||||
this.lbl_bezel_thickness_description.Name = "lbl_bezel_thickness_description";
|
||||
this.lbl_bezel_thickness_description.Size = new System.Drawing.Size(456, 50);
|
||||
this.lbl_bezel_thickness_description.TabIndex = 51;
|
||||
this.lbl_bezel_thickness_description.Text = "Lastly, if you are using triple screens, you need to measure the width of your be" +
|
||||
"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.cmb_bezel_thickness.Location = new System.Drawing.Point(291, 321);
|
||||
this.cmb_bezel_thickness.Name = "cmb_bezel_thickness";
|
||||
this.cmb_bezel_thickness.Size = new System.Drawing.Size(133, 21);
|
||||
this.cmb_bezel_thickness.TabIndex = 14;
|
||||
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.lbl_distinace_to_screen_tip.ForeColor = System.Drawing.Color.Gold;
|
||||
this.lbl_distinace_to_screen_tip.Location = new System.Drawing.Point(24, 307);
|
||||
this.lbl_distinace_to_screen_tip.Name = "lbl_distinace_to_screen_tip";
|
||||
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.txt_bezel_thickness.Name = "txt_bezel_thickness";
|
||||
this.txt_bezel_thickness.Size = new System.Drawing.Size(100, 20);
|
||||
this.txt_bezel_thickness.TabIndex = 13;
|
||||
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(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
|
||||
//
|
||||
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.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.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.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
|
||||
//
|
||||
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.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.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;
|
||||
//
|
||||
// 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.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;
|
||||
//
|
||||
// lbl_aspect_ratio
|
||||
@ -205,90 +340,65 @@
|
||||
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.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.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.Text = "Screen Aspect Ratio?";
|
||||
this.lbl_aspect_ratio.Text = "3. What Aspect Ratio are the Screens?";
|
||||
//
|
||||
// lbl_screen_size
|
||||
//
|
||||
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.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.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.Text = "Screen Size?";
|
||||
//
|
||||
// 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?";
|
||||
this.lbl_screen_size.Text = "2. What sized Screens do you have?";
|
||||
//
|
||||
// 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.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;
|
||||
//
|
||||
// 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.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;
|
||||
//
|
||||
// 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.Size = new System.Drawing.Size(100, 20);
|
||||
this.txt_screen_size.Size = new System.Drawing.Size(78, 26);
|
||||
this.txt_screen_size.TabIndex = 4;
|
||||
//
|
||||
// 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.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.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;
|
||||
//
|
||||
// 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.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.Size = new System.Drawing.Size(259, 21);
|
||||
this.cmb_aspect_ratio.Size = new System.Drawing.Size(120, 28);
|
||||
this.cmb_aspect_ratio.TabIndex = 2;
|
||||
//
|
||||
// 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);
|
||||
this.cmb_aspect_ratio.SelectedIndexChanged += new System.EventHandler(this.cmb_aspect_ratio_SelectedIndexChanged);
|
||||
//
|
||||
// lbl_title
|
||||
//
|
||||
@ -303,20 +413,55 @@
|
||||
this.lbl_title.Text = "Field of View (FOV) Calculator";
|
||||
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.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||
this.BackColor = System.Drawing.Color.Black;
|
||||
this.BackgroundImage = ((System.Drawing.Image)(resources.GetObject("$this.BackgroundImage")));
|
||||
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.btn_clear);
|
||||
this.Controls.Add(this.btn_update);
|
||||
this.Controls.Add(this.pnl_fov);
|
||||
this.Controls.Add(this.btn_back);
|
||||
this.Name = "FovForm";
|
||||
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedDialog;
|
||||
this.Name = "FovCalcForm";
|
||||
this.ShowIcon = false;
|
||||
this.StartPosition = System.Windows.Forms.FormStartPosition.CenterParent;
|
||||
this.Text = "Field of View (FOV) Calculator";
|
||||
@ -354,5 +499,14 @@
|
||||
private System.Windows.Forms.ComboBox cmb_aspect_ratio;
|
||||
private System.Windows.Forms.Button btn_triple_screens;
|
||||
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;
|
||||
}
|
||||
}
|
227
DisplayMagician/UIForms/FovCalcForm.cs
Normal file
227
DisplayMagician/UIForms/FovCalcForm.cs
Normal 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;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
@ -117,6 +117,9 @@
|
||||
<resheader name="writer">
|
||||
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
|
||||
</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" />
|
||||
<data name="$this.BackgroundImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
|
||||
<value>
|
||||
@ -127,7 +130,7 @@
|
||||
L6wlizhexCplZoSlcvyZ9LL6fY9biU/PTk3K2iKzGYsIw4TRGGWQAUJ00yc+RCdBumRHifhALn6CJYlV
|
||||
4g1WMVkkSQpbequxLNl1WROi6zLSrLr9/9tXK9ETzGf3haHiyXHeWqFyC743Hefz0HG+j8D7CBfZQvzS
|
||||
AfS+i75Z0Pz7ULcOZ5cFLb4D5xvQ9GDEzFhO8sr0JBLwegK1M9BwDdVz+Z79nnN8D9E1+aor2N2DNrlf
|
||||
N/8DYltn5LNebX8AAAAJcEhZcwAADsIAAA7CARUoSoAAAP40SURBVHhe5P0HYBVHsvcNs+v12jhgAyYr
|
||||
N/8DYltn5LNebX8AAAAJcEhZcwAADr8AAA6/ATgFUyQAAP40SURBVHhe5P0HYBVHsvcNs+v12jhgAyYr
|
||||
J3LGNs4mZ5FEFgiBEBKSyDmDcc4552wcyTlHgRASklDO0pFOzkcJ+H49Jc5yd5/nvs997t57932/drmp
|
||||
qa6urg4zU3/1zJwmvoHd/YJ6BIb2Du7YNyCkl09AN//gnvDk7f26yCF5B/+uwqMMQy2qwMOIkCpiJCis
|
||||
D8qt24dJFU2HKl19A7uRQ0iogjJ1IRpFwiEVkXMIT10Rcgjf1qcTh5opVQWz4oM0QUWK0BGzCKVKO9/O
|
@ -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();
|
||||
|
||||
}
|
||||
}
|
||||
}
|
@ -663,7 +663,7 @@ namespace DisplayMagician.UIForms
|
||||
|
||||
private void btn_fov_calc_Click(object sender, EventArgs e)
|
||||
{
|
||||
var fovCalcForm = new FovForm();
|
||||
var fovCalcForm = new FovCalcForm();
|
||||
fovCalcForm.ShowDialog(this);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user