Config.MainFormMouseCaptureForcesTopmost (config -> display -> window)

useful when some obscure window can overlay bizhawk while in mouse capture mode if the hidden mouse pointer is too close to it (pop-up panel on the edge of the screen in my case). topmost+fullscreen makes those unreachable, but automatic topmost is set to false since normally it's potentially bad
This commit is contained in:
feos 2025-04-13 23:31:17 +03:00
parent f3847c881d
commit 6dccb759cb
5 changed files with 1155 additions and 1124 deletions

View File

@ -169,6 +169,7 @@ namespace BizHawk.Client.Common
public string UpdateIgnoreVersion { get; set; } = ""; public string UpdateIgnoreVersion { get; set; } = "";
public bool SkipOutdatedOsCheck { get; set; } public bool SkipOutdatedOsCheck { get; set; }
public bool CaptureMouse { get; set; } = false; public bool CaptureMouse { get; set; } = false;
public bool MainFormMouseCaptureForcesTopmost { get; set; } = false;
public bool SkipSuperuserPrivsCheck { get; set; } public bool SkipSuperuserPrivsCheck { get; set; }

View File

@ -4910,6 +4910,11 @@ namespace BizHawk.Client.EmuHawk
_presentationPanel.Control.Cursor = Properties.Resources.BlankCursor; _presentationPanel.Control.Cursor = Properties.Resources.BlankCursor;
_cursorHidden = true; _cursorHidden = true;
BringToFront(); BringToFront();
if (Config.MainFormMouseCaptureForcesTopmost)
{
TopMost = true;
}
} }
else else
{ {
@ -4917,6 +4922,11 @@ namespace BizHawk.Client.EmuHawk
Cursor.Show(); Cursor.Show();
_presentationPanel.Control.Cursor = Cursors.Default; _presentationPanel.Control.Cursor = Cursors.Default;
_cursorHidden = false; _cursorHidden = false;
if (Config.MainFormMouseCaptureForcesTopmost)
{
TopMost = Config.MainFormStayOnTop;
}
} }
// Cursor.Clip is a no-op on Linux, so we need this too // Cursor.Clip is a no-op on Linux, so we need this too

View File

@ -63,6 +63,7 @@
this.label5 = new BizHawk.WinForms.Controls.LocLabelEx(); this.label5 = new BizHawk.WinForms.Controls.LocLabelEx();
this.tabControl1 = new System.Windows.Forms.TabControl(); this.tabControl1 = new System.Windows.Forms.TabControl();
this.tpAR = new System.Windows.Forms.TabPage(); this.tpAR = new System.Windows.Forms.TabPage();
this.cbScaleOSD = new System.Windows.Forms.CheckBox();
this.groupBox6 = new System.Windows.Forms.GroupBox(); this.groupBox6 = new System.Windows.Forms.GroupBox();
this.label16 = new BizHawk.WinForms.Controls.LocLabelEx(); this.label16 = new BizHawk.WinForms.Controls.LocLabelEx();
this.label15 = new BizHawk.WinForms.Controls.LocLabelEx(); this.label15 = new BizHawk.WinForms.Controls.LocLabelEx();
@ -103,6 +104,7 @@
this.cbStatusBarFullscreen = new System.Windows.Forms.CheckBox(); this.cbStatusBarFullscreen = new System.Windows.Forms.CheckBox();
this.cbMenuFullscreen = new System.Windows.Forms.CheckBox(); this.cbMenuFullscreen = new System.Windows.Forms.CheckBox();
this.groupBox2 = new System.Windows.Forms.GroupBox(); this.groupBox2 = new System.Windows.Forms.GroupBox();
this.cbMainFormMouseCaptureForcesTopmost = new System.Windows.Forms.CheckBox();
this.cbMainFormStayOnTop = new System.Windows.Forms.CheckBox(); this.cbMainFormStayOnTop = new System.Windows.Forms.CheckBox();
this.cbMainFormSaveWindowPosition = new System.Windows.Forms.CheckBox(); this.cbMainFormSaveWindowPosition = new System.Windows.Forms.CheckBox();
this.lblFrameTypeWindowed = new BizHawk.WinForms.Controls.LocLabelEx(); this.lblFrameTypeWindowed = new BizHawk.WinForms.Controls.LocLabelEx();
@ -113,7 +115,6 @@
this.cbCaptionWindowed = new System.Windows.Forms.CheckBox(); this.cbCaptionWindowed = new System.Windows.Forms.CheckBox();
this.linkLabel1 = new System.Windows.Forms.LinkLabel(); this.linkLabel1 = new System.Windows.Forms.LinkLabel();
this.toolTip1 = new System.Windows.Forms.ToolTip(this.components); this.toolTip1 = new System.Windows.Forms.ToolTip(this.components);
this.cbScaleOSD = new System.Windows.Forms.CheckBox();
this.groupBox1.SuspendLayout(); this.groupBox1.SuspendLayout();
((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(this.tbScanlineIntensity)).BeginInit();
this.grpFinalFilter.SuspendLayout(); this.grpFinalFilter.SuspendLayout();
@ -224,7 +225,7 @@
this.rbNone.AutoSize = true; this.rbNone.AutoSize = true;
this.rbNone.Location = new System.Drawing.Point(6, 19); this.rbNone.Location = new System.Drawing.Point(6, 19);
this.rbNone.Name = "rbNone"; this.rbNone.Name = "rbNone";
this.rbNone.Size = new System.Drawing.Size(51, 17); this.rbNone.Size = new System.Drawing.Size(50, 17);
this.rbNone.TabIndex = 2; this.rbNone.TabIndex = 2;
this.rbNone.TabStop = true; this.rbNone.TabStop = true;
this.rbNone.Text = "None"; this.rbNone.Text = "None";
@ -235,7 +236,7 @@
this.rbScanlines.AutoSize = true; this.rbScanlines.AutoSize = true;
this.rbScanlines.Location = new System.Drawing.Point(6, 65); this.rbScanlines.Location = new System.Drawing.Point(6, 65);
this.rbScanlines.Name = "rbScanlines"; this.rbScanlines.Name = "rbScanlines";
this.rbScanlines.Size = new System.Drawing.Size(71, 17); this.rbScanlines.Size = new System.Drawing.Size(69, 17);
this.rbScanlines.TabIndex = 1; this.rbScanlines.TabIndex = 1;
this.rbScanlines.TabStop = true; this.rbScanlines.TabStop = true;
this.rbScanlines.Text = "Scanlines"; this.rbScanlines.Text = "Scanlines";
@ -257,7 +258,7 @@
this.checkLetterbox.AutoSize = true; this.checkLetterbox.AutoSize = true;
this.checkLetterbox.Location = new System.Drawing.Point(209, 12); this.checkLetterbox.Location = new System.Drawing.Point(209, 12);
this.checkLetterbox.Name = "checkLetterbox"; this.checkLetterbox.Name = "checkLetterbox";
this.checkLetterbox.Size = new System.Drawing.Size(173, 17); this.checkLetterbox.Size = new System.Drawing.Size(181, 17);
this.checkLetterbox.TabIndex = 8; this.checkLetterbox.TabIndex = 8;
this.checkLetterbox.Text = "Maintain aspect ratio (letterbox)"; this.checkLetterbox.Text = "Maintain aspect ratio (letterbox)";
this.checkLetterbox.UseVisualStyleBackColor = true; this.checkLetterbox.UseVisualStyleBackColor = true;
@ -268,7 +269,7 @@
this.checkPadInteger.AutoSize = true; this.checkPadInteger.AutoSize = true;
this.checkPadInteger.Location = new System.Drawing.Point(218, 171); this.checkPadInteger.Location = new System.Drawing.Point(218, 171);
this.checkPadInteger.Name = "checkPadInteger"; this.checkPadInteger.Name = "checkPadInteger";
this.checkPadInteger.Size = new System.Drawing.Size(250, 17); this.checkPadInteger.Size = new System.Drawing.Size(261, 17);
this.checkPadInteger.TabIndex = 9; this.checkPadInteger.TabIndex = 9;
this.checkPadInteger.Text = "Expand pixels by integers only (e.g. no 1.3333x)"; this.checkPadInteger.Text = "Expand pixels by integers only (e.g. no 1.3333x)";
this.checkPadInteger.UseVisualStyleBackColor = true; this.checkPadInteger.UseVisualStyleBackColor = true;
@ -291,7 +292,7 @@
this.rbFinalFilterBicubic.AutoSize = true; this.rbFinalFilterBicubic.AutoSize = true;
this.rbFinalFilterBicubic.Location = new System.Drawing.Point(6, 64); this.rbFinalFilterBicubic.Location = new System.Drawing.Point(6, 64);
this.rbFinalFilterBicubic.Name = "rbFinalFilterBicubic"; this.rbFinalFilterBicubic.Name = "rbFinalFilterBicubic";
this.rbFinalFilterBicubic.Size = new System.Drawing.Size(142, 17); this.rbFinalFilterBicubic.Size = new System.Drawing.Size(143, 17);
this.rbFinalFilterBicubic.TabIndex = 3; this.rbFinalFilterBicubic.TabIndex = 3;
this.rbFinalFilterBicubic.TabStop = true; this.rbFinalFilterBicubic.TabStop = true;
this.rbFinalFilterBicubic.Text = "Bicubic (shader. buggy?)"; this.rbFinalFilterBicubic.Text = "Bicubic (shader. buggy?)";
@ -302,7 +303,7 @@
this.rbFinalFilterNone.AutoSize = true; this.rbFinalFilterNone.AutoSize = true;
this.rbFinalFilterNone.Location = new System.Drawing.Point(6, 18); this.rbFinalFilterNone.Location = new System.Drawing.Point(6, 18);
this.rbFinalFilterNone.Name = "rbFinalFilterNone"; this.rbFinalFilterNone.Name = "rbFinalFilterNone";
this.rbFinalFilterNone.Size = new System.Drawing.Size(51, 17); this.rbFinalFilterNone.Size = new System.Drawing.Size(50, 17);
this.rbFinalFilterNone.TabIndex = 2; this.rbFinalFilterNone.TabIndex = 2;
this.rbFinalFilterNone.TabStop = true; this.rbFinalFilterNone.TabStop = true;
this.rbFinalFilterNone.Text = "None"; this.rbFinalFilterNone.Text = "None";
@ -324,7 +325,7 @@
this.rbUseRaw.AutoSize = true; this.rbUseRaw.AutoSize = true;
this.rbUseRaw.Location = new System.Drawing.Point(6, 19); this.rbUseRaw.Location = new System.Drawing.Point(6, 19);
this.rbUseRaw.Name = "rbUseRaw"; this.rbUseRaw.Name = "rbUseRaw";
this.rbUseRaw.Size = new System.Drawing.Size(240, 17); this.rbUseRaw.Size = new System.Drawing.Size(246, 17);
this.rbUseRaw.TabIndex = 11; this.rbUseRaw.TabIndex = 11;
this.rbUseRaw.TabStop = true; this.rbUseRaw.TabStop = true;
this.rbUseRaw.Text = "Use 1:1 pixel size (for crispness or debugging)"; this.rbUseRaw.Text = "Use 1:1 pixel size (for crispness or debugging)";
@ -336,7 +337,7 @@
this.rbUseSystem.AutoSize = true; this.rbUseSystem.AutoSize = true;
this.rbUseSystem.Location = new System.Drawing.Point(16, 58); this.rbUseSystem.Location = new System.Drawing.Point(16, 58);
this.rbUseSystem.Name = "rbUseSystem"; this.rbUseSystem.Name = "rbUseSystem";
this.rbUseSystem.Size = new System.Drawing.Size(167, 17); this.rbUseSystem.Size = new System.Drawing.Size(169, 17);
this.rbUseSystem.TabIndex = 12; this.rbUseSystem.TabIndex = 12;
this.rbUseSystem.TabStop = true; this.rbUseSystem.TabStop = true;
this.rbUseSystem.Text = "Use system\'s recommendation"; this.rbUseSystem.Text = "Use system\'s recommendation";
@ -367,7 +368,7 @@
// //
this.txtCustomARY.Location = new System.Drawing.Point(220, 102); this.txtCustomARY.Location = new System.Drawing.Point(220, 102);
this.txtCustomARY.Name = "txtCustomARY"; this.txtCustomARY.Name = "txtCustomARY";
this.txtCustomARY.Size = new System.Drawing.Size(72, 20); this.txtCustomARY.Size = new System.Drawing.Size(72, 21);
this.txtCustomARY.TabIndex = 19; this.txtCustomARY.TabIndex = 19;
// //
// label12 // label12
@ -380,7 +381,7 @@
// //
this.txtCustomARX.Location = new System.Drawing.Point(124, 102); this.txtCustomARX.Location = new System.Drawing.Point(124, 102);
this.txtCustomARX.Name = "txtCustomARX"; this.txtCustomARX.Name = "txtCustomARX";
this.txtCustomARX.Size = new System.Drawing.Size(72, 20); this.txtCustomARX.Size = new System.Drawing.Size(72, 21);
this.txtCustomARX.TabIndex = 18; this.txtCustomARX.TabIndex = 18;
// //
// rbUseCustomRatio // rbUseCustomRatio
@ -388,7 +389,7 @@
this.rbUseCustomRatio.AutoSize = true; this.rbUseCustomRatio.AutoSize = true;
this.rbUseCustomRatio.Location = new System.Drawing.Point(16, 103); this.rbUseCustomRatio.Location = new System.Drawing.Point(16, 103);
this.rbUseCustomRatio.Name = "rbUseCustomRatio"; this.rbUseCustomRatio.Name = "rbUseCustomRatio";
this.rbUseCustomRatio.Size = new System.Drawing.Size(102, 17); this.rbUseCustomRatio.Size = new System.Drawing.Size(101, 17);
this.rbUseCustomRatio.TabIndex = 16; this.rbUseCustomRatio.TabIndex = 16;
this.rbUseCustomRatio.TabStop = true; this.rbUseCustomRatio.TabStop = true;
this.rbUseCustomRatio.Text = "Use custom AR:"; this.rbUseCustomRatio.Text = "Use custom AR:";
@ -404,7 +405,7 @@
// //
this.txtCustomARHeight.Location = new System.Drawing.Point(220, 79); this.txtCustomARHeight.Location = new System.Drawing.Point(220, 79);
this.txtCustomARHeight.Name = "txtCustomARHeight"; this.txtCustomARHeight.Name = "txtCustomARHeight";
this.txtCustomARHeight.Size = new System.Drawing.Size(72, 20); this.txtCustomARHeight.Size = new System.Drawing.Size(72, 21);
this.txtCustomARHeight.TabIndex = 15; this.txtCustomARHeight.TabIndex = 15;
// //
// label3 // label3
@ -417,7 +418,7 @@
// //
this.txtCustomARWidth.Location = new System.Drawing.Point(124, 79); this.txtCustomARWidth.Location = new System.Drawing.Point(124, 79);
this.txtCustomARWidth.Name = "txtCustomARWidth"; this.txtCustomARWidth.Name = "txtCustomARWidth";
this.txtCustomARWidth.Size = new System.Drawing.Size(72, 20); this.txtCustomARWidth.Size = new System.Drawing.Size(72, 21);
this.txtCustomARWidth.TabIndex = 14; this.txtCustomARWidth.TabIndex = 14;
// //
// rbUseCustom // rbUseCustom
@ -437,7 +438,7 @@
this.rbOpenGL.Checked = true; this.rbOpenGL.Checked = true;
this.rbOpenGL.Location = new System.Drawing.Point(6, 103); this.rbOpenGL.Location = new System.Drawing.Point(6, 103);
this.rbOpenGL.Name = "rbOpenGL"; this.rbOpenGL.Name = "rbOpenGL";
this.rbOpenGL.Size = new System.Drawing.Size(65, 17); this.rbOpenGL.Size = new System.Drawing.Size(63, 17);
this.rbOpenGL.TabIndex = 3; this.rbOpenGL.TabIndex = 3;
this.rbOpenGL.TabStop = true; this.rbOpenGL.TabStop = true;
this.rbOpenGL.Text = "OpenGL"; this.rbOpenGL.Text = "OpenGL";
@ -487,6 +488,16 @@
this.tpAR.Text = "Scaling & Filtering"; this.tpAR.Text = "Scaling & Filtering";
this.tpAR.UseVisualStyleBackColor = true; this.tpAR.UseVisualStyleBackColor = true;
// //
// cbScaleOSD
//
this.cbScaleOSD.AutoSize = true;
this.cbScaleOSD.Location = new System.Drawing.Point(218, 262);
this.cbScaleOSD.Name = "cbScaleOSD";
this.cbScaleOSD.Size = new System.Drawing.Size(185, 17);
this.cbScaleOSD.TabIndex = 21;
this.cbScaleOSD.Text = "Scale OSD text with system scale";
this.cbScaleOSD.UseVisualStyleBackColor = true;
//
// groupBox6 // groupBox6
// //
this.groupBox6.Controls.Add(this.label16); this.groupBox6.Controls.Add(this.label16);
@ -520,7 +531,7 @@
// //
this.txtCropBottom.Location = new System.Drawing.Point(261, 22); this.txtCropBottom.Location = new System.Drawing.Point(261, 22);
this.txtCropBottom.Name = "txtCropBottom"; this.txtCropBottom.Name = "txtCropBottom";
this.txtCropBottom.Size = new System.Drawing.Size(34, 20); this.txtCropBottom.Size = new System.Drawing.Size(34, 21);
this.txtCropBottom.TabIndex = 28; this.txtCropBottom.TabIndex = 28;
this.txtCropBottom.Text = "8000"; this.txtCropBottom.Text = "8000";
// //
@ -534,7 +545,7 @@
// //
this.txtCropRight.Location = new System.Drawing.Point(180, 22); this.txtCropRight.Location = new System.Drawing.Point(180, 22);
this.txtCropRight.Name = "txtCropRight"; this.txtCropRight.Name = "txtCropRight";
this.txtCropRight.Size = new System.Drawing.Size(34, 20); this.txtCropRight.Size = new System.Drawing.Size(34, 21);
this.txtCropRight.TabIndex = 25; this.txtCropRight.TabIndex = 25;
this.txtCropRight.Text = "8000"; this.txtCropRight.Text = "8000";
// //
@ -542,7 +553,7 @@
// //
this.txtCropTop.Location = new System.Drawing.Point(104, 22); this.txtCropTop.Location = new System.Drawing.Point(104, 22);
this.txtCropTop.Name = "txtCropTop"; this.txtCropTop.Name = "txtCropTop";
this.txtCropTop.Size = new System.Drawing.Size(34, 20); this.txtCropTop.Size = new System.Drawing.Size(34, 21);
this.txtCropTop.TabIndex = 24; this.txtCropTop.TabIndex = 24;
this.txtCropTop.Text = "8000"; this.txtCropTop.Text = "8000";
// //
@ -556,7 +567,7 @@
// //
this.txtCropLeft.Location = new System.Drawing.Point(34, 22); this.txtCropLeft.Location = new System.Drawing.Point(34, 22);
this.txtCropLeft.Name = "txtCropLeft"; this.txtCropLeft.Name = "txtCropLeft";
this.txtCropLeft.Size = new System.Drawing.Size(34, 20); this.txtCropLeft.Size = new System.Drawing.Size(34, 21);
this.txtCropLeft.TabIndex = 15; this.txtCropLeft.TabIndex = 15;
this.txtCropLeft.Text = "8000"; this.txtCropLeft.Text = "8000";
// //
@ -607,7 +618,7 @@
0, 0,
0}); 0});
this.nudPrescale.Name = "nudPrescale"; this.nudPrescale.Name = "nudPrescale";
this.nudPrescale.Size = new System.Drawing.Size(45, 20); this.nudPrescale.Size = new System.Drawing.Size(45, 21);
this.nudPrescale.TabIndex = 14; this.nudPrescale.TabIndex = 14;
this.nudPrescale.Value = new decimal(new int[] { this.nudPrescale.Value = new decimal(new int[] {
1, 1,
@ -680,7 +691,7 @@
this.rbD3D11.Checked = true; this.rbD3D11.Checked = true;
this.rbD3D11.Location = new System.Drawing.Point(6, 10); this.rbD3D11.Location = new System.Drawing.Point(6, 10);
this.rbD3D11.Name = "rbD3D11"; this.rbD3D11.Name = "rbD3D11";
this.rbD3D11.Size = new System.Drawing.Size(79, 17); this.rbD3D11.Size = new System.Drawing.Size(78, 17);
this.rbD3D11.TabIndex = 19; this.rbD3D11.TabIndex = 19;
this.rbD3D11.TabStop = true; this.rbD3D11.TabStop = true;
this.rbD3D11.Text = "Direct3D11"; this.rbD3D11.Text = "Direct3D11";
@ -699,7 +710,7 @@
this.rbGDIPlus.Checked = true; this.rbGDIPlus.Checked = true;
this.rbGDIPlus.Location = new System.Drawing.Point(6, 171); this.rbGDIPlus.Location = new System.Drawing.Point(6, 171);
this.rbGDIPlus.Name = "rbGDIPlus"; this.rbGDIPlus.Name = "rbGDIPlus";
this.rbGDIPlus.Size = new System.Drawing.Size(50, 17); this.rbGDIPlus.Size = new System.Drawing.Size(51, 17);
this.rbGDIPlus.TabIndex = 17; this.rbGDIPlus.TabIndex = 17;
this.rbGDIPlus.TabStop = true; this.rbGDIPlus.TabStop = true;
this.rbGDIPlus.Text = "GDI+"; this.rbGDIPlus.Text = "GDI+";
@ -754,7 +765,7 @@
this.rbDisplayAbsoluteZero.AutoSize = true; this.rbDisplayAbsoluteZero.AutoSize = true;
this.rbDisplayAbsoluteZero.Location = new System.Drawing.Point(7, 66); this.rbDisplayAbsoluteZero.Location = new System.Drawing.Point(7, 66);
this.rbDisplayAbsoluteZero.Name = "rbDisplayAbsoluteZero"; this.rbDisplayAbsoluteZero.Name = "rbDisplayAbsoluteZero";
this.rbDisplayAbsoluteZero.Size = new System.Drawing.Size(174, 17); this.rbDisplayAbsoluteZero.Size = new System.Drawing.Size(176, 17);
this.rbDisplayAbsoluteZero.TabIndex = 2; this.rbDisplayAbsoluteZero.TabIndex = 2;
this.rbDisplayAbsoluteZero.TabStop = true; this.rbDisplayAbsoluteZero.TabStop = true;
this.rbDisplayAbsoluteZero.Text = "Absolute Zero - Display Nothing"; this.rbDisplayAbsoluteZero.Text = "Absolute Zero - Display Nothing";
@ -766,7 +777,7 @@
this.rbDisplayMinimal.Enabled = false; this.rbDisplayMinimal.Enabled = false;
this.rbDisplayMinimal.Location = new System.Drawing.Point(7, 43); this.rbDisplayMinimal.Location = new System.Drawing.Point(7, 43);
this.rbDisplayMinimal.Name = "rbDisplayMinimal"; this.rbDisplayMinimal.Name = "rbDisplayMinimal";
this.rbDisplayMinimal.Size = new System.Drawing.Size(185, 17); this.rbDisplayMinimal.Size = new System.Drawing.Size(182, 17);
this.rbDisplayMinimal.TabIndex = 1; this.rbDisplayMinimal.TabIndex = 1;
this.rbDisplayMinimal.TabStop = true; this.rbDisplayMinimal.TabStop = true;
this.rbDisplayMinimal.Text = "Minimal - Display HUD Only (TBD)"; this.rbDisplayMinimal.Text = "Minimal - Display HUD Only (TBD)";
@ -777,7 +788,7 @@
this.rbDisplayFull.AutoSize = true; this.rbDisplayFull.AutoSize = true;
this.rbDisplayFull.Location = new System.Drawing.Point(7, 20); this.rbDisplayFull.Location = new System.Drawing.Point(7, 20);
this.rbDisplayFull.Name = "rbDisplayFull"; this.rbDisplayFull.Name = "rbDisplayFull";
this.rbDisplayFull.Size = new System.Drawing.Size(137, 17); this.rbDisplayFull.Size = new System.Drawing.Size(140, 17);
this.rbDisplayFull.TabIndex = 0; this.rbDisplayFull.TabIndex = 0;
this.rbDisplayFull.TabStop = true; this.rbDisplayFull.TabStop = true;
this.rbDisplayFull.Text = "Full - Display Everything"; this.rbDisplayFull.Text = "Full - Display Everything";
@ -799,9 +810,9 @@
// cbAllowDoubleclickFullscreen // cbAllowDoubleclickFullscreen
// //
this.cbAllowDoubleclickFullscreen.AutoSize = true; this.cbAllowDoubleclickFullscreen.AutoSize = true;
this.cbAllowDoubleclickFullscreen.Location = new System.Drawing.Point(12, 223); this.cbAllowDoubleclickFullscreen.Location = new System.Drawing.Point(12, 236);
this.cbAllowDoubleclickFullscreen.Name = "cbAllowDoubleclickFullscreen"; this.cbAllowDoubleclickFullscreen.Name = "cbAllowDoubleclickFullscreen";
this.cbAllowDoubleclickFullscreen.Size = new System.Drawing.Size(471, 17); this.cbAllowDoubleclickFullscreen.Size = new System.Drawing.Size(480, 17);
this.cbAllowDoubleclickFullscreen.TabIndex = 27; this.cbAllowDoubleclickFullscreen.TabIndex = 27;
this.cbAllowDoubleclickFullscreen.Text = "Allow Double-Click Fullscreen (hold shift to force fullscreen to toggle in case u" + this.cbAllowDoubleclickFullscreen.Text = "Allow Double-Click Fullscreen (hold shift to force fullscreen to toggle in case u" +
"sing zapper, etc.)"; "sing zapper, etc.)";
@ -814,9 +825,9 @@
this.groupBox4.Controls.Add(this.cbFullscreenHacks); this.groupBox4.Controls.Add(this.cbFullscreenHacks);
this.groupBox4.Controls.Add(this.cbStatusBarFullscreen); this.groupBox4.Controls.Add(this.cbStatusBarFullscreen);
this.groupBox4.Controls.Add(this.cbMenuFullscreen); this.groupBox4.Controls.Add(this.cbMenuFullscreen);
this.groupBox4.Location = new System.Drawing.Point(153, 6); this.groupBox4.Location = new System.Drawing.Point(226, 6);
this.groupBox4.Name = "groupBox4"; this.groupBox4.Name = "groupBox4";
this.groupBox4.Size = new System.Drawing.Size(266, 211); this.groupBox4.Size = new System.Drawing.Size(296, 224);
this.groupBox4.TabIndex = 27; this.groupBox4.TabIndex = 27;
this.groupBox4.TabStop = false; this.groupBox4.TabStop = false;
this.groupBox4.Text = "Fullscreen"; this.groupBox4.Text = "Fullscreen";
@ -826,7 +837,7 @@
this.cbFSAutohideMouse.AutoSize = true; this.cbFSAutohideMouse.AutoSize = true;
this.cbFSAutohideMouse.Location = new System.Drawing.Point(87, 19); this.cbFSAutohideMouse.Location = new System.Drawing.Point(87, 19);
this.cbFSAutohideMouse.Name = "cbFSAutohideMouse"; this.cbFSAutohideMouse.Name = "cbFSAutohideMouse";
this.cbFSAutohideMouse.Size = new System.Drawing.Size(141, 17); this.cbFSAutohideMouse.Size = new System.Drawing.Size(143, 17);
this.cbFSAutohideMouse.TabIndex = 28; this.cbFSAutohideMouse.TabIndex = 28;
this.cbFSAutohideMouse.Text = "Auto-Hide Mouse Cursor"; this.cbFSAutohideMouse.Text = "Auto-Hide Mouse Cursor";
this.cbFSAutohideMouse.UseVisualStyleBackColor = true; this.cbFSAutohideMouse.UseVisualStyleBackColor = true;
@ -842,7 +853,7 @@
this.cbFullscreenHacks.AutoSize = true; this.cbFullscreenHacks.AutoSize = true;
this.cbFullscreenHacks.Location = new System.Drawing.Point(6, 65); this.cbFullscreenHacks.Location = new System.Drawing.Point(6, 65);
this.cbFullscreenHacks.Name = "cbFullscreenHacks"; this.cbFullscreenHacks.Name = "cbFullscreenHacks";
this.cbFullscreenHacks.Size = new System.Drawing.Size(191, 17); this.cbFullscreenHacks.Size = new System.Drawing.Size(186, 17);
this.cbFullscreenHacks.TabIndex = 26; this.cbFullscreenHacks.TabIndex = 26;
this.cbFullscreenHacks.Text = "Enable Windows Fullscreen Hacks"; this.cbFullscreenHacks.Text = "Enable Windows Fullscreen Hacks";
this.cbFullscreenHacks.UseVisualStyleBackColor = true; this.cbFullscreenHacks.UseVisualStyleBackColor = true;
@ -852,7 +863,7 @@
this.cbStatusBarFullscreen.AutoSize = true; this.cbStatusBarFullscreen.AutoSize = true;
this.cbStatusBarFullscreen.Location = new System.Drawing.Point(6, 19); this.cbStatusBarFullscreen.Location = new System.Drawing.Point(6, 19);
this.cbStatusBarFullscreen.Name = "cbStatusBarFullscreen"; this.cbStatusBarFullscreen.Name = "cbStatusBarFullscreen";
this.cbStatusBarFullscreen.Size = new System.Drawing.Size(75, 17); this.cbStatusBarFullscreen.Size = new System.Drawing.Size(76, 17);
this.cbStatusBarFullscreen.TabIndex = 23; this.cbStatusBarFullscreen.TabIndex = 23;
this.cbStatusBarFullscreen.Text = "Status Bar"; this.cbStatusBarFullscreen.Text = "Status Bar";
this.cbStatusBarFullscreen.UseVisualStyleBackColor = true; this.cbStatusBarFullscreen.UseVisualStyleBackColor = true;
@ -862,13 +873,14 @@
this.cbMenuFullscreen.AutoSize = true; this.cbMenuFullscreen.AutoSize = true;
this.cbMenuFullscreen.Location = new System.Drawing.Point(6, 42); this.cbMenuFullscreen.Location = new System.Drawing.Point(6, 42);
this.cbMenuFullscreen.Name = "cbMenuFullscreen"; this.cbMenuFullscreen.Name = "cbMenuFullscreen";
this.cbMenuFullscreen.Size = new System.Drawing.Size(53, 17); this.cbMenuFullscreen.Size = new System.Drawing.Size(52, 17);
this.cbMenuFullscreen.TabIndex = 25; this.cbMenuFullscreen.TabIndex = 25;
this.cbMenuFullscreen.Text = "Menu"; this.cbMenuFullscreen.Text = "Menu";
this.cbMenuFullscreen.UseVisualStyleBackColor = true; this.cbMenuFullscreen.UseVisualStyleBackColor = true;
// //
// groupBox2 // groupBox2
// //
this.groupBox2.Controls.Add(this.cbMainFormMouseCaptureForcesTopmost);
this.groupBox2.Controls.Add(this.cbMainFormStayOnTop); this.groupBox2.Controls.Add(this.cbMainFormStayOnTop);
this.groupBox2.Controls.Add(this.cbMainFormSaveWindowPosition); this.groupBox2.Controls.Add(this.cbMainFormSaveWindowPosition);
this.groupBox2.Controls.Add(this.lblFrameTypeWindowed); this.groupBox2.Controls.Add(this.lblFrameTypeWindowed);
@ -879,11 +891,21 @@
this.groupBox2.Controls.Add(this.cbCaptionWindowed); this.groupBox2.Controls.Add(this.cbCaptionWindowed);
this.groupBox2.Location = new System.Drawing.Point(6, 6); this.groupBox2.Location = new System.Drawing.Point(6, 6);
this.groupBox2.Name = "groupBox2"; this.groupBox2.Name = "groupBox2";
this.groupBox2.Size = new System.Drawing.Size(141, 211); this.groupBox2.Size = new System.Drawing.Size(214, 224);
this.groupBox2.TabIndex = 26; this.groupBox2.TabIndex = 26;
this.groupBox2.TabStop = false; this.groupBox2.TabStop = false;
this.groupBox2.Text = "Windowed"; this.groupBox2.Text = "Windowed";
// //
// cbMainFormMouseCaptureForcesTopmost
//
this.cbMainFormMouseCaptureForcesTopmost.AutoSize = true;
this.cbMainFormMouseCaptureForcesTopmost.Location = new System.Drawing.Point(9, 198);
this.cbMainFormMouseCaptureForcesTopmost.Name = "cbMainFormMouseCaptureForcesTopmost";
this.cbMainFormMouseCaptureForcesTopmost.Size = new System.Drawing.Size(195, 17);
this.cbMainFormMouseCaptureForcesTopmost.TabIndex = 27;
this.cbMainFormMouseCaptureForcesTopmost.Text = "Mouse Capture Forces Stay on Top";
this.cbMainFormMouseCaptureForcesTopmost.UseVisualStyleBackColor = true;
//
// cbMainFormStayOnTop // cbMainFormStayOnTop
// //
this.cbMainFormStayOnTop.AutoSize = true; this.cbMainFormStayOnTop.AutoSize = true;
@ -899,7 +921,7 @@
this.cbMainFormSaveWindowPosition.AutoSize = true; this.cbMainFormSaveWindowPosition.AutoSize = true;
this.cbMainFormSaveWindowPosition.Location = new System.Drawing.Point(9, 150); this.cbMainFormSaveWindowPosition.Location = new System.Drawing.Point(9, 150);
this.cbMainFormSaveWindowPosition.Name = "cbMainFormSaveWindowPosition"; this.cbMainFormSaveWindowPosition.Name = "cbMainFormSaveWindowPosition";
this.cbMainFormSaveWindowPosition.Size = new System.Drawing.Size(133, 17); this.cbMainFormSaveWindowPosition.Size = new System.Drawing.Size(131, 17);
this.cbMainFormSaveWindowPosition.TabIndex = 26; this.cbMainFormSaveWindowPosition.TabIndex = 26;
this.cbMainFormSaveWindowPosition.Text = "Save Window Position"; this.cbMainFormSaveWindowPosition.Text = "Save Window Position";
this.cbMainFormSaveWindowPosition.UseVisualStyleBackColor = true; this.cbMainFormSaveWindowPosition.UseVisualStyleBackColor = true;
@ -915,7 +937,7 @@
this.cbStatusBarWindowed.AutoSize = true; this.cbStatusBarWindowed.AutoSize = true;
this.cbStatusBarWindowed.Location = new System.Drawing.Point(9, 81); this.cbStatusBarWindowed.Location = new System.Drawing.Point(9, 81);
this.cbStatusBarWindowed.Name = "cbStatusBarWindowed"; this.cbStatusBarWindowed.Name = "cbStatusBarWindowed";
this.cbStatusBarWindowed.Size = new System.Drawing.Size(75, 17); this.cbStatusBarWindowed.Size = new System.Drawing.Size(76, 17);
this.cbStatusBarWindowed.TabIndex = 23; this.cbStatusBarWindowed.TabIndex = 23;
this.cbStatusBarWindowed.Text = "Status Bar"; this.cbStatusBarWindowed.Text = "Status Bar";
this.cbStatusBarWindowed.UseVisualStyleBackColor = true; this.cbStatusBarWindowed.UseVisualStyleBackColor = true;
@ -931,7 +953,7 @@
this.cbMenuWindowed.AutoSize = true; this.cbMenuWindowed.AutoSize = true;
this.cbMenuWindowed.Location = new System.Drawing.Point(9, 127); this.cbMenuWindowed.Location = new System.Drawing.Point(9, 127);
this.cbMenuWindowed.Name = "cbMenuWindowed"; this.cbMenuWindowed.Name = "cbMenuWindowed";
this.cbMenuWindowed.Size = new System.Drawing.Size(53, 17); this.cbMenuWindowed.Size = new System.Drawing.Size(52, 17);
this.cbMenuWindowed.TabIndex = 25; this.cbMenuWindowed.TabIndex = 25;
this.cbMenuWindowed.Text = "Menu"; this.cbMenuWindowed.Text = "Menu";
this.cbMenuWindowed.UseVisualStyleBackColor = true; this.cbMenuWindowed.UseVisualStyleBackColor = true;
@ -952,7 +974,7 @@
this.cbCaptionWindowed.AutoSize = true; this.cbCaptionWindowed.AutoSize = true;
this.cbCaptionWindowed.Location = new System.Drawing.Point(9, 104); this.cbCaptionWindowed.Location = new System.Drawing.Point(9, 104);
this.cbCaptionWindowed.Name = "cbCaptionWindowed"; this.cbCaptionWindowed.Name = "cbCaptionWindowed";
this.cbCaptionWindowed.Size = new System.Drawing.Size(62, 17); this.cbCaptionWindowed.Size = new System.Drawing.Size(63, 17);
this.cbCaptionWindowed.TabIndex = 24; this.cbCaptionWindowed.TabIndex = 24;
this.cbCaptionWindowed.Text = "Caption"; this.cbCaptionWindowed.Text = "Caption";
this.cbCaptionWindowed.UseVisualStyleBackColor = true; this.cbCaptionWindowed.UseVisualStyleBackColor = true;
@ -968,16 +990,6 @@
this.linkLabel1.Text = "Documentation"; this.linkLabel1.Text = "Documentation";
this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkLabel1_LinkClicked); this.linkLabel1.LinkClicked += new System.Windows.Forms.LinkLabelLinkClickedEventHandler(this.LinkLabel1_LinkClicked);
// //
// cbScaleOSD
//
this.cbScaleOSD.AutoSize = true;
this.cbScaleOSD.Location = new System.Drawing.Point(218, 262);
this.cbScaleOSD.Name = "cbScaleOSD";
this.cbScaleOSD.Size = new System.Drawing.Size(184, 17);
this.cbScaleOSD.TabIndex = 21;
this.cbScaleOSD.Text = "Scale OSD text with system scale";
this.cbScaleOSD.UseVisualStyleBackColor = true;
//
// DisplayConfig // DisplayConfig
// //
this.AcceptButton = this.btnOk; this.AcceptButton = this.btnOk;
@ -1113,5 +1125,6 @@
private System.Windows.Forms.CheckBox cbMainFormStayOnTop; private System.Windows.Forms.CheckBox cbMainFormStayOnTop;
private System.Windows.Forms.CheckBox cbMainFormSaveWindowPosition; private System.Windows.Forms.CheckBox cbMainFormSaveWindowPosition;
private System.Windows.Forms.CheckBox cbScaleOSD; private System.Windows.Forms.CheckBox cbScaleOSD;
private System.Windows.Forms.CheckBox cbMainFormMouseCaptureForcesTopmost;
} }
} }

View File

@ -70,10 +70,13 @@ namespace BizHawk.Client.EmuHawk
cbMenuWindowed.Checked = _config.DispChromeMenuWindowed; cbMenuWindowed.Checked = _config.DispChromeMenuWindowed;
cbMainFormSaveWindowPosition.Checked = _config.SaveWindowPosition; cbMainFormSaveWindowPosition.Checked = _config.SaveWindowPosition;
cbMainFormStayOnTop.Checked = _config.MainFormStayOnTop; cbMainFormStayOnTop.Checked = _config.MainFormStayOnTop;
cbMainFormMouseCaptureForcesTopmost.Checked = _config.MainFormMouseCaptureForcesTopmost;
if (OSTailoredCode.IsUnixHost) if (OSTailoredCode.IsUnixHost)
{ {
cbMainFormStayOnTop.Enabled = false; cbMainFormStayOnTop.Enabled = false;
cbMainFormStayOnTop.Visible = false; cbMainFormStayOnTop.Visible = false;
cbMainFormMouseCaptureForcesTopmost.Enabled = false;
cbMainFormMouseCaptureForcesTopmost.Visible = false;
} }
cbStatusBarFullscreen.Checked = _config.DispChromeStatusBarFullscreen; cbStatusBarFullscreen.Checked = _config.DispChromeStatusBarFullscreen;
cbMenuFullscreen.Checked = _config.DispChromeMenuFullscreen; cbMenuFullscreen.Checked = _config.DispChromeMenuFullscreen;
@ -155,6 +158,7 @@ namespace BizHawk.Client.EmuHawk
_config.SaveWindowPosition = cbMainFormSaveWindowPosition.Checked; _config.SaveWindowPosition = cbMainFormSaveWindowPosition.Checked;
_config.MainFormStayOnTop = cbMainFormStayOnTop.Checked; _config.MainFormStayOnTop = cbMainFormStayOnTop.Checked;
Owner.TopMost = _config.MainFormStayOnTop; Owner.TopMost = _config.MainFormStayOnTop;
_config.MainFormMouseCaptureForcesTopmost = cbMainFormMouseCaptureForcesTopmost.Checked;
_config.DispChromeStatusBarFullscreen = cbStatusBarFullscreen.Checked; _config.DispChromeStatusBarFullscreen = cbStatusBarFullscreen.Checked;
_config.DispChromeMenuFullscreen = cbMenuFullscreen.Checked; _config.DispChromeMenuFullscreen = cbMenuFullscreen.Checked;
_config.DispChromeFrameWindowed = trackbarFrameSizeWindowed.Value; _config.DispChromeFrameWindowed = trackbarFrameSizeWindowed.Value;

View File

@ -117,9 +117,6 @@
<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>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="label1.Text" xml:space="preserve"> <data name="label1.Text" xml:space="preserve">
<value>For Windows operating systems &gt;= Vista, with <value>For Windows operating systems &gt;= Vista, with
some video cards, the monitors may flicker when some video cards, the monitors may flicker when
@ -130,4 +127,10 @@ latency (since in Microsoft's new and disimproved
operating systems, windowed mode things may operating systems, windowed mode things may
have higher latency)</value> have higher latency)</value>
</data> </data>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="toolTip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
</root> </root>