@@ -25,6 +25,7 @@ typedef struct
2525 BOOL OnlyClientArea ;
2626 BOOL ShowRecordingBorder ;
2727 BOOL KeepRoundedWindowCorners ;
28+ BOOL IncludeSecondaryWindows ;
2829 BOOL HardwareEncoder ;
2930 BOOL HardwarePreferIntegrated ;
3031 // output
@@ -86,11 +87,12 @@ static BOOL Config_ShowDialog(Config* C);
8687#define ID_CANCEL IDCANCEL // 2
8788#define ID_DEFAULTS 3
8889
89- #define ID_MOUSE_CURSOR 20
90- #define ID_ONLY_CLIENT_AREA 30
91- #define ID_SHOW_RECORDING_BORDER 40
92- #define ID_ROUNDED_CORNERS 50
93- #define ID_GPU_ENCODER 60
90+ #define ID_MOUSE_CURSOR 20
91+ #define ID_ONLY_CLIENT_AREA 30
92+ #define ID_SHOW_RECORDING_BORDER 40
93+ #define ID_ROUNDED_CORNERS 50
94+ #define ID_INCLUDE_SECONDARY_WINDOWS 55
95+ #define ID_GPU_ENCODER 60
9496
9597#define ID_OUTPUT_FOLDER 100
9698#define ID_OPEN_FOLDER 110
@@ -139,7 +141,7 @@ static BOOL Config_ShowDialog(Config* C);
139141#define COL01W 154
140142#define COL10W 144
141143#define COL11W 130
142- #define ROW0H 84
144+ #define ROW0H 98
143145#define ROW1H 124
144146#define ROW2H 56
145147
@@ -321,11 +323,12 @@ static void Config__SetDialogValues(HWND Window, Config* C)
321323 Config__UpdateAudioBitrate (Window , C -> AudioCodec , C -> AudioBitrate );
322324
323325 // capture
324- CheckDlgButton (Window , ID_MOUSE_CURSOR , C -> MouseCursor );
325- CheckDlgButton (Window , ID_ONLY_CLIENT_AREA , C -> OnlyClientArea );
326- CheckDlgButton (Window , ID_SHOW_RECORDING_BORDER , C -> ShowRecordingBorder );
327- CheckDlgButton (Window , ID_ROUNDED_CORNERS , C -> KeepRoundedWindowCorners );
328- CheckDlgButton (Window , ID_GPU_ENCODER , C -> HardwareEncoder );
326+ CheckDlgButton (Window , ID_MOUSE_CURSOR , C -> MouseCursor );
327+ CheckDlgButton (Window , ID_ONLY_CLIENT_AREA , C -> OnlyClientArea );
328+ CheckDlgButton (Window , ID_SHOW_RECORDING_BORDER , C -> ShowRecordingBorder );
329+ CheckDlgButton (Window , ID_ROUNDED_CORNERS , C -> KeepRoundedWindowCorners );
330+ CheckDlgButton (Window , ID_INCLUDE_SECONDARY_WINDOWS , C -> IncludeSecondaryWindows );
331+ CheckDlgButton (Window , ID_GPU_ENCODER , C -> HardwareEncoder );
329332 SendDlgItemMessageW (Window , ID_GPU_ENCODER + 1 , CB_SETCURSEL , C -> HardwarePreferIntegrated ? 0 : 1 , 0 );
330333
331334 // output
@@ -491,6 +494,7 @@ static LRESULT CALLBACK Config__DialogProc(HWND Window, UINT Message, WPARAM WPa
491494 C -> OnlyClientArea = IsDlgButtonChecked (Window , ID_ONLY_CLIENT_AREA );
492495 C -> ShowRecordingBorder = IsDlgButtonChecked (Window , ID_SHOW_RECORDING_BORDER );
493496 C -> KeepRoundedWindowCorners = IsDlgButtonChecked (Window , ID_ROUNDED_CORNERS );
497+ C -> IncludeSecondaryWindows = IsDlgButtonChecked (Window , ID_INCLUDE_SECONDARY_WINDOWS );
494498 C -> HardwareEncoder = IsDlgButtonChecked (Window , ID_GPU_ENCODER );
495499 C -> HardwarePreferIntegrated = (DWORD )SendDlgItemMessageW (Window , ID_GPU_ENCODER + 1 , CB_GETCURSEL , 0 , 0 ) == 0 ;
496500
@@ -848,6 +852,7 @@ void Config_Defaults(Config* C)
848852 .OnlyClientArea = TRUE,
849853 .ShowRecordingBorder = TRUE,
850854 .KeepRoundedWindowCorners = TRUE,
855+ .IncludeSecondaryWindows = FALSE,
851856 .HardwareEncoder = TRUE,
852857 .HardwarePreferIntegrated = FALSE,
853858 // output
@@ -955,6 +960,7 @@ void Config_Load(Config* C, LPCWSTR FileName)
955960 Config__GetBool (FileName , L"OnlyClientArea" , & C -> OnlyClientArea );
956961 Config__GetBool (FileName , L"ShowRecordingBorder" , & C -> ShowRecordingBorder );
957962 Config__GetBool (FileName , L"KeepRoundedWindowCorners" , & C -> KeepRoundedWindowCorners );
963+ Config__GetBool (FileName , L"IncludeSecondaryWindows" , & C -> IncludeSecondaryWindows );
958964 Config__GetBool (FileName , L"HardwareEncoder" , & C -> HardwareEncoder );
959965 Config__GetBool (FileName , L"HardwarePreferIntegrated" , & C -> HardwarePreferIntegrated );
960966 // output
@@ -1005,6 +1011,7 @@ void Config_Save(Config* C, LPCWSTR FileName)
10051011 WritePrivateProfileStringW (INI_SECTION , L"OnlyClientArea" , C -> OnlyClientArea ? L"1" : L"0" , FileName );
10061012 WritePrivateProfileStringW (INI_SECTION , L"ShowRecordingBorder" , C -> ShowRecordingBorder ? L"1" : L"0" , FileName );
10071013 WritePrivateProfileStringW (INI_SECTION , L"KeepRoundedWindowCorners" , C -> KeepRoundedWindowCorners ? L"1" : L"0" , FileName );
1014+ WritePrivateProfileStringW (INI_SECTION , L"IncludeSecondaryWindows" , C -> IncludeSecondaryWindows ? L"1" : L"0" , FileName );
10081015 WritePrivateProfileStringW (INI_SECTION , L"HardwareEncoder" , C -> HardwareEncoder ? L"1" : L"0" , FileName );
10091016 WritePrivateProfileStringW (INI_SECTION , L"HardwarePreferIntegrated" , C -> HardwarePreferIntegrated ? L"1" : L"0" , FileName );
10101017 // output
@@ -1057,11 +1064,12 @@ BOOL Config_ShowDialog(Config* C)
10571064 .Rect = { 0 , 0 , COL00W , ROW0H },
10581065 .Items = (Config__DialogItem [])
10591066 {
1060- { "&Mouse Cursor" , ID_MOUSE_CURSOR , ITEM_CHECKBOX },
1061- { "Only &Client Area" , ID_ONLY_CLIENT_AREA , ITEM_CHECKBOX },
1062- { "Show Recording &Border" , ID_SHOW_RECORDING_BORDER , ITEM_CHECKBOX },
1063- { "Keep &Rounded Window Corners" , ID_ROUNDED_CORNERS , ITEM_CHECKBOX },
1064- { "GPU &Encoder" , ID_GPU_ENCODER , ITEM_CHECKBOX | ITEM_COMBOBOX , 50 },
1067+ { "&Mouse Cursor" , ID_MOUSE_CURSOR , ITEM_CHECKBOX },
1068+ { "Only &Client Area" , ID_ONLY_CLIENT_AREA , ITEM_CHECKBOX },
1069+ { "Show Recording &Border" , ID_SHOW_RECORDING_BORDER , ITEM_CHECKBOX },
1070+ { "Keep &Rounded Window Corners" , ID_ROUNDED_CORNERS , ITEM_CHECKBOX },
1071+ { "Include Secondar&y Windows" , ID_INCLUDE_SECONDARY_WINDOWS , ITEM_CHECKBOX },
1072+ { "GPU &Encoder" , ID_GPU_ENCODER , ITEM_CHECKBOX | ITEM_COMBOBOX , 50 },
10651073 { NULL },
10661074 },
10671075 },
0 commit comments