this.updownParHeight.Name = "updownParHeight";\r
this.updownParHeight.Size = new System.Drawing.Size(53, 21);\r
this.updownParHeight.TabIndex = 112;\r
+ this.updownParHeight.ValueChanged += new System.EventHandler(this.text_width_ValueChanged);\r
// \r
// label6\r
// \r
this.updownParWidth.Name = "updownParWidth";\r
this.updownParWidth.Size = new System.Drawing.Size(53, 21);\r
this.updownParWidth.TabIndex = 111;\r
+ this.updownParWidth.ValueChanged += new System.EventHandler(this.text_width_ValueChanged);\r
// \r
// drp_anamorphic\r
// \r
this.updownDisplayWidth.Name = "updownDisplayWidth";\r
this.updownDisplayWidth.Size = new System.Drawing.Size(53, 21);\r
this.updownDisplayWidth.TabIndex = 110;\r
+ this.updownDisplayWidth.ValueChanged += new System.EventHandler(this.updownDisplayWidth_ValueChanged);\r
// \r
// lbl_modulus\r
// \r
\r
namespace Handbrake.Controls\r
{\r
+\r
+ // TODO Custom Anamorphic\r
+ /* NOT KEEPING DISPLAY ASPECT == [Complete]\r
+ \r
+ KEEPING DISPLAY ASPECT RATIO == [TODO]\r
+ DAR = DISPLAY WIDTH / DISPLAY HEIGHT (cache after every modification)\r
+ Disable editing: PIXEL WIDTH, PIXEL HEIGHT\r
+ Changing DISPLAY WIDTH:\r
+ Changes HEIGHT to keep DAR\r
+ Changes PIXEL WIDTH to new DISPLAY WIDTH\r
+ Changes PIXEL HEIGHT to STORAGE WIDTH\r
+ Changing HEIGHT\r
+ Changes DISPLAY WIDTH to keep DAR\r
+ Changes PIXEL WIDTH to new DISPLAY WIDTH\r
+ Changes PIXEL HEIGHT to STORAGE WIDTH\r
+ Changing STORAGE_WIDTH:\r
+ Changes PIXEL WIDTH to DISPLAY WIDTH\r
+ Changes PIXEL HEIGHT to new STORAGE WIDTH\r
+ * */\r
+\r
+\r
public partial class PictureSettings : UserControl\r
{\r
private readonly CultureInfo Culture = new CultureInfo("en-US", false);\r
public event EventHandler PictureSettingsChanged;\r
\r
- private Boolean preventChangingWidth, preventChangingHeight;\r
+ private Boolean preventChangingWidth, preventChangingHeight, preventChangingCustom, preventChangingDisplayWidth;\r
private int _PresetMaximumWidth, _PresetMaximumHeight;\r
private Title _SourceTitle;\r
\r
{\r
if (text_width.Value == 0) // Only update the values if the fields don't already have values.\r
text_width.Value = _SourceTitle.Resolution.Width;\r
- \r
+\r
check_KeepAR.Checked = true; // Forces Resolution to be correct.\r
}\r
else\r
labelDisplaySize.Text = calculateAnamorphicSizes().Width + "x" + calculateAnamorphicSizes().Height;\r
}\r
\r
+ updownDisplayWidth.Value = calculateAnamorphicSizes().Width;\r
updownParWidth.Value = _SourceTitle.ParVal.Width;\r
updownParHeight.Value = _SourceTitle.ParVal.Height;\r
- updownDisplayWidth.Value = calculateAnamorphicSizes().Width;\r
}\r
}\r
\r
preventChangingHeight = false;\r
}\r
break;\r
+ case 3:\r
+ if (check_KeepAR.CheckState == CheckState.Unchecked && Source != null)\r
+ {\r
+ if (preventChangingCustom)\r
+ break;\r
+\r
+ preventChangingDisplayWidth = true; \r
+ updownDisplayWidth.Value = text_width.Value * updownParWidth.Value / updownParHeight.Value;\r
+ preventChangingDisplayWidth = false;\r
+\r
+ labelDisplaySize.Text = Math.Truncate(updownDisplayWidth.Value) + "x" + text_height.Value;\r
+ }\r
+ break;\r
default:\r
labelDisplaySize.Text = calculateAnamorphicSizes().Width + "x" + calculateAnamorphicSizes().Height;\r
break;\r
preventChangingWidth = false;\r
}\r
break;\r
+ case 3:\r
+ labelDisplaySize.Text = Math.Truncate(updownDisplayWidth.Value) + "x" + text_height.Value;\r
+ break;\r
default:\r
labelDisplaySize.Text = calculateAnamorphicSizes().Width + "x" + calculateAnamorphicSizes().Height;\r
break;\r
if (PictureSettingsChanged != null)\r
PictureSettingsChanged(this, new EventArgs());\r
}\r
+ private void updownDisplayWidth_ValueChanged(object sender, EventArgs e)\r
+ {\r
+ if (preventChangingDisplayWidth == false)\r
+ {\r
+ preventChangingCustom = true;\r
+ updownParWidth.Value = updownDisplayWidth.Value;\r
+ updownParHeight.Value = text_width.Value;\r
+ preventChangingCustom = false;\r
+ }\r
+ }\r
\r
// Anamorphic Controls\r
private void drp_anamorphic_SelectedIndexChanged(object sender, EventArgs e)\r