Skip to content

Commit 3bdd1d3

Browse files
committed
hide fullscreen label on keypress
1 parent 66047a2 commit 3bdd1d3

2 files changed

Lines changed: 26 additions & 2 deletions

File tree

FlashpointSecurePlayer/Shared.cs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,10 @@ public static void LogExceptionToLauncher(Exception ex) {
158158

159159
public const int WM_DESTROY = 0x00000002;
160160
public const int WM_PAINT = 0x0000000F;
161+
public const int WM_KEYDOWN = 0x00000100;
162+
public const int WM_KEYUP = 0x00000101;
163+
public const int WM_SYSKEYDOWN = 0x00000104;
164+
public const int WM_SYSKEYUP = 0x00000105;
161165
public const int WM_MOUSEMOVE = 0x00000200;
162166
public const int WM_LBUTTONUP = 0x00000202;
163167
public const int WM_RBUTTONUP = 0x00000205;

FlashpointSecurePlayer/WebBrowserMode.cs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -230,6 +230,8 @@ private class MessageFilter : IMessageFilter {
230230
private readonly EventHandler back;
231231
private readonly EventHandler forward;
232232

233+
public bool ProcessedCmdKeyFullscreen { get; set; } = false;
234+
233235
public MessageFilter(EventHandler stopExitFullscreenLabelTimer, EventHandler back, EventHandler forward) {
234236
this.stopExitFullscreenLabelTimer = stopExitFullscreenLabelTimer;
235237
this.back = back;
@@ -274,6 +276,16 @@ public bool PreFilterMessage(ref Message m) {
274276
// mouse buttons shouldn't navigate both the
275277
// main and popup windows
276278
switch (m.Msg) {
279+
case WM_KEYDOWN:
280+
case WM_SYSKEYDOWN:
281+
ProcessedCmdKeyFullscreen = false;
282+
return false;
283+
case WM_KEYUP:
284+
case WM_SYSKEYUP:
285+
if (!ProcessedCmdKeyFullscreen) {
286+
OnStopExitFullscreenLabelTimer(EventArgs.Empty);
287+
}
288+
return false;
277289
case WM_LBUTTONUP:
278290
case WM_RBUTTONUP:
279291
case WM_MBUTTONUP:
@@ -620,7 +632,9 @@ private void WebBrowserMode_FormClosing(object sender, FormClosingEventArgs e) {
620632
}
621633

622634
private void WebBrowserMode_Activated(object sender, EventArgs e) {
623-
Application.AddMessageFilter(messageFilter);
635+
if (messageFilter != null) {
636+
Application.AddMessageFilter(messageFilter);
637+
}
624638

625639
if (!IsHandleCreated || Handle == IntPtr.Zero) {
626640
return;
@@ -640,7 +654,9 @@ private void WebBrowserMode_Activated(object sender, EventArgs e) {
640654
}
641655

642656
private void WebBrowserMode_Deactivate(object sender, EventArgs e) {
643-
Application.RemoveMessageFilter(messageFilter);
657+
if (messageFilter != null) {
658+
Application.RemoveMessageFilter(messageFilter);
659+
}
644660

645661
if (!IsHandleCreated || Handle == IntPtr.Zero) {
646662
return;
@@ -1011,6 +1027,10 @@ protected override bool ProcessCmdKey(ref Message msg, Keys keyData) {
10111027
return true;
10121028
case Keys.F11:
10131029
case Keys.Alt | Keys.Enter:
1030+
if (messageFilter != null) {
1031+
messageFilter.ProcessedCmdKeyFullscreen = true;
1032+
}
1033+
10141034
BrowserFullscreen();
10151035
return true;
10161036
}

0 commit comments

Comments
 (0)