@@ -1338,6 +1338,32 @@ LRESULT CALLBACK ShaderWindow::WndProc(HWND hWnd, UINT message, WPARAM wParam, L
13381338 SaveMaxCaptureRateState (true );
13391339 }
13401340 break ;
1341+ case ID_ADVANCED_USEHDR:
1342+ if (GetMenuState (m_advancedMenu, ID_ADVANCED_USEHDR, MF_BYCOMMAND) & MF_CHECKED)
1343+ {
1344+ CheckMenuItem (m_advancedMenu, ID_ADVANCED_USEHDR, MF_UNCHECKED);
1345+ SaveUseHDRState (false );
1346+
1347+ EnableMenuItem (m_advancedMenu, ID_PRESENTATION_USEFLIPMODE, MF_BYCOMMAND | MF_ENABLED);
1348+
1349+ if (GetFlipModeState ())
1350+ {
1351+ CheckMenuItem (m_advancedMenu, ID_PRESENTATION_USEFLIPMODE, MF_CHECKED);
1352+ }
1353+ else
1354+ {
1355+ CheckMenuItem (m_advancedMenu, ID_PRESENTATION_USEFLIPMODE, MF_UNCHECKED);
1356+ }
1357+ }
1358+ else
1359+ {
1360+ CheckMenuItem (m_advancedMenu, ID_ADVANCED_USEHDR, MF_CHECKED);
1361+ SaveUseHDRState (true );
1362+
1363+ CheckMenuItem (m_advancedMenu, ID_PRESENTATION_USEFLIPMODE, MF_BYCOMMAND | MF_CHECKED);
1364+ EnableMenuItem (m_advancedMenu, ID_PRESENTATION_USEFLIPMODE, MF_BYCOMMAND | MF_GRAYED);
1365+ }
1366+ break ;
13411367 case ID_DESKTOP_LOCKINPUTAREA:
13421368 if (!HasCaptureAPI ())
13431369 break ;
@@ -2093,8 +2119,18 @@ bool ShaderWindow::Create(_In_ HINSTANCE hInstance, _In_ int nCmdShow)
20932119 {
20942120 CheckMenuItem (m_programMenu, ID_PROCESSING_GLOBALHOTKEYS, MF_BYCOMMAND | MF_UNCHECKED);
20952121 }
2096- if (GetFlipModeState ())
2122+ if (GetUseHDRState ())
2123+ {
2124+ CheckMenuItem (m_advancedMenu, ID_ADVANCED_USEHDR, MF_BYCOMMAND | MF_CHECKED);
2125+ m_captureOptions.useHDR = true ;
2126+
2127+ CheckMenuItem (m_advancedMenu, ID_PRESENTATION_USEFLIPMODE, MF_BYCOMMAND | MF_CHECKED);
2128+ EnableMenuItem (m_advancedMenu, ID_PRESENTATION_USEFLIPMODE, MF_BYCOMMAND | MF_GRAYED);
2129+ m_captureOptions.flipMode = true ;
2130+ }
2131+ else if (GetFlipModeState ())
20972132 {
2133+ EnableMenuItem (m_advancedMenu, ID_PRESENTATION_USEFLIPMODE, MF_BYCOMMAND | MF_ENABLED);
20982134 CheckMenuItem (m_advancedMenu, ID_PRESENTATION_USEFLIPMODE, MF_BYCOMMAND | MF_CHECKED);
20992135 m_captureOptions.flipMode = true ;
21002136 }
@@ -2248,6 +2284,16 @@ bool ShaderWindow::GetMaxCaptureRateState()
22482284 return GetRegistryOption (TEXT (" Max Capture Rate" ), false );
22492285}
22502286
2287+ void ShaderWindow::SaveUseHDRState (bool state)
2288+ {
2289+ SaveRegistryOption (TEXT (" Use HDR" ), state);
2290+ }
2291+
2292+ bool ShaderWindow::GetUseHDRState ()
2293+ {
2294+ return GetRegistryOption (TEXT (" Use HDR" ), false );
2295+ }
2296+
22512297void ShaderWindow::SaveRememberFPS (int fps)
22522298{
22532299 SaveRegistryInt (TEXT (" Remember FPS" ), fps);
0 commit comments