| OLD | NEW | 
|---|
| 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 | 
| (...skipping 26 matching lines...) Expand all  Loading... | 
| 37 // | 37 // | 
| 38 // This class does not detect DesktopFrame::updated_region(), the field is | 38 // This class does not detect DesktopFrame::updated_region(), the field is | 
| 39 // always set to the entire frame rectangle. ScreenCapturerDifferWrapper should | 39 // always set to the entire frame rectangle. ScreenCapturerDifferWrapper should | 
| 40 // be used if that functionality is necessary. | 40 // be used if that functionality is necessary. | 
| 41 class ScreenCapturerWinMagnifier : public ScreenCapturer { | 41 class ScreenCapturerWinMagnifier : public ScreenCapturer { | 
| 42  public: | 42  public: | 
| 43   // |fallback_capturer| will be used to capture the screen if a non-primary | 43   // |fallback_capturer| will be used to capture the screen if a non-primary | 
| 44   // screen is being captured, or the OS does not support Magnification API, or | 44   // screen is being captured, or the OS does not support Magnification API, or | 
| 45   // the magnifier capturer fails (e.g. in Windows8 Metro mode). | 45   // the magnifier capturer fails (e.g. in Windows8 Metro mode). | 
| 46   explicit ScreenCapturerWinMagnifier( | 46   explicit ScreenCapturerWinMagnifier( | 
| 47       std::unique_ptr<DesktopCapturer> fallback_capturer); | 47       std::unique_ptr<ScreenCapturer> fallback_capturer); | 
| 48   ~ScreenCapturerWinMagnifier() override; | 48   ~ScreenCapturerWinMagnifier() override; | 
| 49 | 49 | 
| 50   // Overridden from ScreenCapturer: | 50   // Overridden from ScreenCapturer: | 
| 51   void Start(Callback* callback) override; | 51   void Start(Callback* callback) override; | 
| 52   void SetSharedMemoryFactory( | 52   void SetSharedMemoryFactory( | 
| 53       std::unique_ptr<SharedMemoryFactory> shared_memory_factory) override; | 53       std::unique_ptr<SharedMemoryFactory> shared_memory_factory) override; | 
| 54   void CaptureFrame() override; | 54   void CaptureFrame() override; | 
| 55   bool GetScreenList(ScreenList* screens) override; | 55   bool GetScreenList(ScreenList* screens) override; | 
| 56   bool SelectScreen(ScreenId id) override; | 56   bool SelectScreen(ScreenId id) override; | 
| 57   void SetExcludedWindow(WindowId window) override; | 57   void SetExcludedWindow(WindowId window) override; | 
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 101   void OnCaptured(void* data, const MAGIMAGEHEADER& header); | 101   void OnCaptured(void* data, const MAGIMAGEHEADER& header); | 
| 102 | 102 | 
| 103   // Makes sure the current frame exists and matches |size|. | 103   // Makes sure the current frame exists and matches |size|. | 
| 104   void CreateCurrentFrameIfNecessary(const DesktopSize& size); | 104   void CreateCurrentFrameIfNecessary(const DesktopSize& size); | 
| 105 | 105 | 
| 106   // Start the fallback capturer and select the screen. | 106   // Start the fallback capturer and select the screen. | 
| 107   void StartFallbackCapturer(); | 107   void StartFallbackCapturer(); | 
| 108 | 108 | 
| 109   static Atomic32 tls_index_; | 109   static Atomic32 tls_index_; | 
| 110 | 110 | 
| 111   std::unique_ptr<DesktopCapturer> fallback_capturer_; | 111   std::unique_ptr<ScreenCapturer> fallback_capturer_; | 
| 112   bool fallback_capturer_started_ = false; | 112   bool fallback_capturer_started_ = false; | 
| 113   Callback* callback_ = nullptr; | 113   Callback* callback_ = nullptr; | 
| 114   std::unique_ptr<SharedMemoryFactory> shared_memory_factory_; | 114   std::unique_ptr<SharedMemoryFactory> shared_memory_factory_; | 
| 115   ScreenId current_screen_id_ = kFullDesktopScreenId; | 115   ScreenId current_screen_id_ = kFullDesktopScreenId; | 
| 116   std::wstring current_device_key_; | 116   std::wstring current_device_key_; | 
| 117   HWND excluded_window_ = NULL; | 117   HWND excluded_window_ = NULL; | 
| 118 | 118 | 
| 119   // Queue of the frames buffers. | 119   // Queue of the frames buffers. | 
| 120   ScreenCaptureFrameQueue<SharedDesktopFrame> queue_; | 120   ScreenCaptureFrameQueue<SharedDesktopFrame> queue_; | 
| 121 | 121 | 
| (...skipping 20 matching lines...) Expand all  Loading... | 
| 142   // True if the last OnMagImageScalingCallback was called and handled | 142   // True if the last OnMagImageScalingCallback was called and handled | 
| 143   // successfully. Reset at the beginning of each CaptureImage call. | 143   // successfully. Reset at the beginning of each CaptureImage call. | 
| 144   bool magnifier_capture_succeeded_ = true; | 144   bool magnifier_capture_succeeded_ = true; | 
| 145 | 145 | 
| 146   RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerWinMagnifier); | 146   RTC_DISALLOW_COPY_AND_ASSIGN(ScreenCapturerWinMagnifier); | 
| 147 }; | 147 }; | 
| 148 | 148 | 
| 149 }  // namespace webrtc | 149 }  // namespace webrtc | 
| 150 | 150 | 
| 151 #endif  // WEBRTC_MODULES_DESKTOP_CAPTURE_WIN_SCREEN_CAPTURER_WIN_MAGNIFIER_H_ | 151 #endif  // WEBRTC_MODULES_DESKTOP_CAPTURE_WIN_SCREEN_CAPTURER_WIN_MAGNIFIER_H_ | 
| OLD | NEW | 
|---|