Agora Java API Reference for Android
NGIAgoraScreenCapturer.h
1 //
2 // Agora SDK
3 //
4 // Copyright (c) 2019 Agora.io. All rights reserved.
5 //
6 
7 #pragma once // NOLINT(build/header_guard)
8 
9 #include "AgoraBase.h"
10 #include "AgoraRefPtr.h"
11 
12 namespace agora {
13 namespace rtc {
14 class IScreenCaptureObserver;
19  public:
20 #if defined(TARGET_OS_MAC) && !TARGET_OS_IPHONE
21 
38  virtual int initWithDisplayId(view_t displayId, const Rectangle& regionRect) = 0;
39 #elif defined(_WIN32)
40 
57  virtual int initWithScreenRect(const Rectangle& screenRect,
58  const Rectangle& regionRect) = 0;
59 #endif // TARGET_OS_MAC && !TARGET_OS_IPHONE
60 
78  virtual int initWithWindowId(view_t windowId, const Rectangle& regionRect) = 0;
79 
91  virtual int setContentHint(VIDEO_CONTENT_HINT contentHint) = 0;
92 
103  virtual int updateScreenCaptureRegion(const Rectangle& regionRect) = 0;
104 
105 #if defined(__ANDROID__)
106 
122  virtual int initWithMediaProjectionPermissionResultData(void* data,
123  const VideoDimensions& dimensions) = 0;
124 #endif // __ANDROID__
125 
126  protected:
127  ~IScreenCapturer() {}
128 };
129 
130 } // namespace rtc
131 } // namespace agora
agora::rtc::IScreenCapturer::initWithWindowId
virtual int initWithWindowId(view_t windowId, const Rectangle &regionRect)=0
agora::rtc::IScreenCapturer::setContentHint
virtual int setContentHint(VIDEO_CONTENT_HINT contentHint)=0
agora::rtc::IScreenCapturer::updateScreenCaptureRegion
virtual int updateScreenCaptureRegion(const Rectangle &regionRect)=0
agora::rtc::Rectangle
Definition: AgoraBase.h:1962
agora::rtc::IScreenCapturer
Definition: NGIAgoraScreenCapturer.h:18
agora::RefCountInterface
Definition: AgoraRefPtr.h:31
agora::rtc::VideoDimensions
Definition: AgoraBase.h:1381