Mac SDK
ZoomSDKASController.h
1 //
2 // ZoomSDKASController.h
3 // ZoomSDK
4 //
5 // Created by TOTTI on 8/4/17.
6 // Copyright © 2017 Zoom Video Communications,Inc. All rights reserved.
7 //
8 
9 #import "ZoomSDKErrors.h"
10 #import "ZoomSDKCustomizedAnnotationCtr.h"
11 #import "ZoomSDKShareContainer.h"
12 #import "ZoomSDKRemoteControllerHelper.h"
16 @interface ZoomSDKAnnotationController :NSObject
17 - (BOOL)isAnnotationDisable;
18 - (ZoomSDKError)setTool:(AnnotationToolType)type onScreen:(ScreenType)screen;
19 - (ZoomSDKError)clear:(AnnotationClearType)type onScreen:(ScreenType)screen;
20 - (ZoomSDKError)setColor:(float)red Green:(float)green Black:(float)black onScreen:(ScreenType)screen;
21 - (ZoomSDKError)setLineWidth:(long)lineWidth onScreen:(ScreenType)screen;
22 - (ZoomSDKError)undo:(ScreenType)screen;
23 - (ZoomSDKError)redo:(ScreenType)screen;
24 
25 @end
26 
30 @interface ZoomSDKShareSource :NSObject
31 {
32  unsigned int _userID;
33  BOOL _isShowInFirstScreen;
34  BOOL _isShowInSecondScreen;
35  BOOL _canBeRemoteControl;
36 
37 }
38 - (BOOL)isShowInFirstScreen;
39 - (BOOL)isShowInSecondScreen;
40 - (BOOL)canBeRemoteControl;
41 - (unsigned int)getUserID;
42 @end
43 
47 @interface ZoomSDKShareInfo: NSObject
48 {
49  ZoomSDKShareContentType _shareType;
50  CGWindowID _windowID; //Specify the APP that user wants to share. Available only for _shareType = ZoomSDKShareContentType_AS or ZoomSDKShareContentType_WB.
51  CGDirectDisplayID _displayID; //Specify the device screen on which that user wants to share the content. Available only for _shareType = ZoomSDKShareContentType_DS.
52 }
53 - (ZoomSDKShareContentType) getShareType;
58 - (ZoomSDKError)getWindowID:(CGWindowID*)windowID;
63 - (ZoomSDKError)getDisplayID:(CGDirectDisplayID*)displayID;
64 
65 @end
66 
70 @interface ZoomSDKSplitScreenInfo : NSObject
71 {
72  BOOL _isInSplitScreenMode;
73  BOOL _isSupportSplitScreenMode;
74 }
75 
76 -(BOOL)isInSplitScreenMode;
77 -(BOOL)isSupportSplitScreenMode;
78 @end
79 
83 @protocol ZoomSDKASControllerDelegate <NSObject>
84 @optional
91 - (void)onSharingStatus:(ZoomSDKShareStatus)status User:(unsigned int)userID;
92 
97 - (void)onShareStatusLocked:(BOOL)shareLocked;
98 
103 - (void)onShareContentChanged:(ZoomSDKShareInfo*)shareInfo;
104 
110 - (void)onAnnotationSupportPropertyChanged:(BOOL)isSupportAnnotation shareSourceUserID:(unsigned int)userID;
111 @end
112 
113 
117 @interface ZoomSDKASController : NSObject
118 {
119  id<ZoomSDKASControllerDelegate> _delegate;
120  ZoomSDKShareContainer* _shareContainer;
121  ZoomSDKAnnotationController* _annotationController;
122  ZoomSDKCustomizedAnnotationCtr* _customizedAnnotationCtr;
123  ZoomSDKRemoteControllerHelper* _remoteControllerHelper;
124 }
125 @property(nonatomic, assign)id<ZoomSDKASControllerDelegate> delegate;
131 - (ZoomSDKError)startAppShare:(CGWindowID)windowID;
132 
138 - (ZoomSDKError)startMonitorShare:(CGDirectDisplayID)monitorID;
139 
144 - (ZoomSDKError)stopShare;
145 
150 - (NSArray*)getShareSourceList;
151 
157 - (ZoomSDKShareSource*)getShareSourcebyUserId:(unsigned int)userID;
158 
165 - (ZoomSDKError)viewShare:(unsigned int) userID onScreen:(ScreenType)screen;
166 
171 - (BOOL)canStartShare;
172 
177 - (BOOL)isShareLocked;
178 
183 - (ZoomSDKAnnotationController*)getAnnotationController;
184 
189 - (ZoomSDKCustomizedAnnotationCtr*)getCustomizedAnnotationCtr;
190 
195 - (ZoomSDKShareContainer*)getShareContainer;
196 
201 - (ZoomSDKRemoteControllerHelper*)getRemoteControllerHelper;
202 
209 - (ZoomSDKError)startAnnotation:(NSPoint)position onScreen:(ScreenType)screen;
210 
216 - (ZoomSDKError)stopAnnotation:(ScreenType)screen;
217 
223 - (ZoomSDKError)getCurrentRemoteController:(unsigned int*)userID;
224 
228 - (ZoomSDKSplitScreenInfo*)getCurrentSplitScreenModeInfo;
229 
234 -(ZoomSDKError)switchSplitScreenMode:(BOOL)switchTo;
235 
239 - (void)cleanUp;
240 
245 - (ZoomSDKError)startWhiteBoardShare;
246 
251 - (ZoomSDKError)startFrameShare;
252 
257 - (ZoomSDKError)startAudioShare;
258 
265 - (ZoomSDKError)startShareCamera:(NSString*)deviceID displayWindow:(NSWindow*)window;
266 
271 - (BOOL)canSwitchToShareNextCamera;
276 - (ZoomSDKError)switchToShareNextCamera;
277 
282 - (BOOL)isAbleToShareWhiteBoard;
287 - (BOOL)isAbleToShareFrame;
292 - (BOOL)isAbleToShareComputerAudio;
297 - (BOOL)isAbleToShareCamera;
298 
305 - (ZoomSDKError)disableViewerAnnotation:(ScreenType)screenType disable:(BOOL)disable;
306 
313 - (ZoomSDKError)isViewerAnnotationLocked:(ScreenType)screenType isLocked:(BOOL*)locked;
314 
321 - (ZoomSDKError)canDisableViewerAnnotation:(ScreenType)screenType canDisabled:(BOOL*)canDisable;
322 
329 - (ZoomSDKError)canDoAnnotation:(ScreenType)screenType canAnnotate:(BOOL*)canAnnotate;
330 
331 @end
332 
333 
ZoomSDKAnnotationController
ZOOM UI annotation class.
Definition: ZoomSDKASController.h:17
ZoomSDKRemoteControllerHelper
Definition: ZoomSDKRemoteControllerHelper.h:22
ZoomSDKShareInfo
ZOOM share information class.
Definition: ZoomSDKASController.h:48
ZoomSDKShareSource
ZOOM share source class.
Definition: ZoomSDKASController.h:31
ZoomSDKASControllerDelegate-p
Callback of annotation events.
Definition: ZoomSDKASController.h:83
ZoomSDKShareContainer
Definition: ZoomSDKShareContainer.h:63
ZoomSDKASController
ZOOM share controller.
Definition: ZoomSDKASController.h:118
ZoomSDKCustomizedAnnotationCtr
Definition: ZoomSDKCustomizedAnnotationCtr.h:134
ZoomSDKSplitScreenInfo
ZOOM SDK split screen information class.
Definition: ZoomSDKASController.h:71