1 /* 2 * Copyright 2010 The WebRTC Project Authors. All rights reserved. 3 * 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 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 #ifndef WEBRTC_BASE_WIN32WINDOWPICKER_H_ 11 #define WEBRTC_BASE_WIN32WINDOWPICKER_H_ 12 13 #include "webrtc/base/win32.h" 14 #include "webrtc/base/windowpicker.h" 15 16 namespace rtc { 17 18 class Win32WindowPicker : public WindowPicker { 19 public: 20 Win32WindowPicker(); 21 virtual bool Init(); 22 virtual bool IsVisible(const WindowId& id); 23 virtual bool MoveToFront(const WindowId& id); 24 virtual bool GetWindowList(WindowDescriptionList* descriptions); 25 virtual bool GetDesktopList(DesktopDescriptionList* descriptions); 26 virtual bool GetDesktopDimensions(const DesktopId& id, int* width, 27 int* height); 28 29 protected: 30 static BOOL CALLBACK EnumProc(HWND hwnd, LPARAM l_param); 31 static BOOL CALLBACK MonitorEnumProc(HMONITOR h_monitor, 32 HDC hdc_monitor, 33 LPRECT lprc_monitor, 34 LPARAM l_param); 35 }; 36 37 } // namespace rtc 38 39 #endif // WEBRTC_BASE_WIN32WINDOWPICKER_H_ 40