Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(325)

Side by Side Diff: webrtc/modules/desktop_capture/win/screen_capture_utils.cc

Issue 2479553006: Remove GetWindowList / GetScreenList and SelectWindow / SelectScreen from WebRTC (Closed)
Patch Set: Resolve review comments Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license 4 * Use of this source code is governed by a BSD-style license
5 * that can be found in the LICENSE file in the root of the source 5 * that can be found in the LICENSE file in the root of the source
6 * tree. An additional intellectual property rights grant can be found 6 * tree. An additional intellectual property rights grant can be found
7 * in the file PATENTS. All contributing project authors may 7 * in the file PATENTS. All contributing project authors may
8 * be found in the AUTHORS file in the root of the source tree. 8 * be found in the AUTHORS file in the root of the source tree.
9 */ 9 */
10 10
11 #include "webrtc/modules/desktop_capture/win/screen_capture_utils.h" 11 #include "webrtc/modules/desktop_capture/win/screen_capture_utils.h"
12 12
13 #include <assert.h>
14 #include <windows.h> 13 #include <windows.h>
15 14
15 #include "webrtc/base/checks.h"
16
16 namespace webrtc { 17 namespace webrtc {
17 18
18 bool GetScreenList(ScreenCapturer::ScreenList* screens) { 19 bool GetScreenList(DesktopCapturer::SourceList* screens) {
19 assert(screens->size() == 0); 20 RTC_DCHECK(screens->size() == 0);
20 21
21 BOOL enum_result = TRUE; 22 BOOL enum_result = TRUE;
22 for (int device_index = 0;; ++device_index) { 23 for (int device_index = 0;; ++device_index) {
23 DISPLAY_DEVICE device; 24 DISPLAY_DEVICE device;
24 device.cb = sizeof(device); 25 device.cb = sizeof(device);
25 enum_result = EnumDisplayDevices(NULL, device_index, &device, 0); 26 enum_result = EnumDisplayDevices(NULL, device_index, &device, 0);
26 27
27 // |enum_result| is 0 if we have enumerated all devices. 28 // |enum_result| is 0 if we have enumerated all devices.
28 if (!enum_result) 29 if (!enum_result)
29 break; 30 break;
30 31
31 // We only care about active displays. 32 // We only care about active displays.
32 if (!(device.StateFlags & DISPLAY_DEVICE_ACTIVE)) 33 if (!(device.StateFlags & DISPLAY_DEVICE_ACTIVE))
33 continue; 34 continue;
34 35
35 ScreenCapturer::Screen screen; 36 screens->push_back({device_index, std::string()});
36 screen.id = device_index;
37 screens->push_back(screen);
38 } 37 }
39 return true; 38 return true;
40 } 39 }
41 40
42 bool IsScreenValid(ScreenId screen, std::wstring* device_key) { 41 bool IsScreenValid(DesktopCapturer::SourceId screen, std::wstring* device_key) {
43 if (screen == kFullDesktopScreenId) { 42 if (screen == kFullDesktopScreenId) {
44 *device_key = L""; 43 *device_key = L"";
45 return true; 44 return true;
46 } 45 }
47 46
48 DISPLAY_DEVICE device; 47 DISPLAY_DEVICE device;
49 device.cb = sizeof(device); 48 device.cb = sizeof(device);
50 BOOL enum_result = EnumDisplayDevices(NULL, screen, &device, 0); 49 BOOL enum_result = EnumDisplayDevices(NULL, screen, &device, 0);
51 if (enum_result) 50 if (enum_result)
52 *device_key = device.DeviceKey; 51 *device_key = device.DeviceKey;
53 52
54 return !!enum_result; 53 return !!enum_result;
55 } 54 }
56 55
57 DesktopRect GetScreenRect(ScreenId screen, const std::wstring& device_key) { 56 DesktopRect GetScreenRect(DesktopCapturer::SourceId screen,
57 const std::wstring& device_key) {
58 if (screen == kFullDesktopScreenId) { 58 if (screen == kFullDesktopScreenId) {
59 return DesktopRect::MakeXYWH(GetSystemMetrics(SM_XVIRTUALSCREEN), 59 return DesktopRect::MakeXYWH(GetSystemMetrics(SM_XVIRTUALSCREEN),
60 GetSystemMetrics(SM_YVIRTUALSCREEN), 60 GetSystemMetrics(SM_YVIRTUALSCREEN),
61 GetSystemMetrics(SM_CXVIRTUALSCREEN), 61 GetSystemMetrics(SM_CXVIRTUALSCREEN),
62 GetSystemMetrics(SM_CYVIRTUALSCREEN)); 62 GetSystemMetrics(SM_CYVIRTUALSCREEN));
63 } 63 }
64 64
65 DISPLAY_DEVICE device; 65 DISPLAY_DEVICE device;
66 device.cb = sizeof(device); 66 device.cb = sizeof(device);
67 BOOL result = EnumDisplayDevices(NULL, screen, &device, 0); 67 BOOL result = EnumDisplayDevices(NULL, screen, &device, 0);
(...skipping 15 matching lines...) Expand all
83 if (!result) 83 if (!result)
84 return DesktopRect(); 84 return DesktopRect();
85 85
86 return DesktopRect::MakeXYWH(device_mode.dmPosition.x, 86 return DesktopRect::MakeXYWH(device_mode.dmPosition.x,
87 device_mode.dmPosition.y, 87 device_mode.dmPosition.y,
88 device_mode.dmPelsWidth, 88 device_mode.dmPelsWidth,
89 device_mode.dmPelsHeight); 89 device_mode.dmPelsHeight);
90 } 90 }
91 91
92 } // namespace webrtc 92 } // namespace webrtc
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698