iOS/macOS(Objective-C)[v1.7.5.0]
PanoRtcAnnotation.h
浏览该文件的文档.
1
2//
3// PanoRtcAnnotation.h
4// PanoRtc
5//
6// Copyright © 2020 Pano. All rights reserved.
7//
8
9#import <Foundation/Foundation.h>
10#import "PanoEnumerates.h"
11#import "PanoObjects.h"
12#import "PanoRtcWhiteboard.h"
13
14NS_ASSUME_NONNULL_BEGIN
15
16#pragma mark - PanoRtcAnnotationDelegate
17
18typedef UInt32 PanoAnnoWindowID;
19
28@protocol PanoRtcAnnotationDelegate <NSObject>
29@optional
30
31#pragma mark Core Delegate Methods
32
41- (void)onAnnoRoleChanged:(PanoWBRoleType)newRole;
42
53- (void)onSnapshotComplete:(PanoResult)result
54 name:(NSString* _Nonnull)filename;
55
66- (void)onAnnoWindowCreated:(PanoAnnoWindowID)windowId;
67
78- (void)onAnnoWindowDestroyed:(PanoAnnoWindowID)windowId;
79
80@end
81
82#pragma mark - PanoRtcAnnotation
83
92__attribute__((visibility("default"))) @interface PanoRtcAnnotation : NSObject
93
95+ (instancetype)new NS_UNAVAILABLE;
96
98- (instancetype)init NS_UNAVAILABLE;
99
100#pragma mark Core Service
101
116- (PanoResult)setDelegate:(id<PanoRtcAnnotationDelegate> _Nullable)delegate;
117
138- (PanoResult)startAnnotation:(PanoView * _Nullable)view;
139
153
170- (PanoResult)setVisible:(BOOL)visible;
171
186- (PanoResult)setRoleType:(PanoWBRoleType)type;
187
202- (PanoResult)setToolType:(PanoWBToolType)type;
203
215
230- (PanoResult)setLineWidth:(UInt32)width;
231
246- (PanoResult)setColor:(PanoWBColor * _Nonnull)color;
247
262- (PanoResult)setFillType:(PanoWBFillType)type;
263
280- (PanoResult)setFillColor:(PanoWBColor * _Nonnull)color;
281
296- (PanoResult)setFontStyle:(PanoWBFontStyle)style;
297
312- (PanoResult)setFontSize:(UInt32)size;
313
329
346- (PanoResult)clearUserContents:(UInt64)userId;
347
361
375
392- (PanoResult)snapshot:(NSString * _Nonnull)outputDir;
393
410- (PanoResult)setAspectWidth:(UInt32)w
411 height:(UInt32)h;
412
427- (PanoResult)setScalingMode:(PanoVideoScalingMode)mode;
428
443- (PanoResult)setWindowPos:(CGRect)rect;
444
461- (PanoResult)setOption:(NSObject * _Nullable)option
462 forType:(PanoAnnoOptionType)type;
463
478- (PanoResult)setExtAnnoMode:(PanoExternalAnnoMode)mode;
479@end
480
481
482#pragma mark - PanoRtcAnnotationManagerDelegate
483
493@optional
494
495#pragma mark Core Delegate Methods
496
507- (void)onVideoAnnotationStart:(UInt64)userId
508 stream:(SInt32)streamId;
519- (void)onVideoAnnotationStop:(UInt64)userId
520 stream:(SInt32)streamId;
521
530- (void)onShareAnnotationStart:(UInt64)userId;
539- (void)onShareAnnotationStop:(UInt64)userId;
540
549- (void)onExternalAnnotationStart:(NSString * _Nonnull)annotationId;
558- (void)onExternalAnnotationStop:(NSString * _Nonnull)annotationId;
559
560@end
561
562#pragma mark - PanoRtcAnnotationManager
563
572__attribute__((visibility("default"))) @interface PanoRtcAnnotationManager : NSObject
573
575+ (instancetype)new NS_UNAVAILABLE;
576
578- (instancetype)init NS_UNAVAILABLE;
579
580#pragma mark Core Service
581
596- (PanoResult)setDelegate:(id<PanoRtcAnnotationManagerDelegate> _Nullable)delegate;
597
612- (PanoRtcAnnotation * _Nullable)videoAnnotation:(UInt64)userId
613 stream:(SInt32)streamId;
614
627- (PanoRtcAnnotation * _Nullable)shareAnnotation:(UInt64)userId;
628
647- (PanoRtcAnnotation * _Nullable)externalAnnotation:(NSString * _Nonnull)annotationId;
648
649@end
650
651NS_ASSUME_NONNULL_END
PanoAnnoOptionType
标注选项。
Definition: PanoEnumerates.h:488
PanoWBRoleType
白板角色类型。
Definition: PanoEnumerates.h:276
PanoWBToolType
白板工具类型。
Definition: PanoEnumerates.h:286
PanoWBFontStyle
白板字体样式。
Definition: PanoEnumerates.h:332
PanoWBFillType
白板填充类型。
Definition: PanoEnumerates.h:324
PanoExternalAnnoMode
外部标注模式。
Definition: PanoEnumerates.h:515
PanoResult
返回。
Definition: PanoEnumerates.h:19
PanoVideoScalingMode
视频缩放模式。
Definition: PanoEnumerates.h:177
UIView PanoView
PANO视图类。
Definition: PanoObjects.h:22
PanoRtcAnnotation 接口类对应用程序提供了所有的标注相关方法。
Definition: PanoRtcAnnotation.h:93
PanoWBToolType getToolType()
获取工具类型
PanoResult redo()
重做标注的上一次被撤销操作。
instancetype init()
此方法不可用。
instancetype new()
此方法不可用。
PanoResult undo()
撤销标注上一次操作。
PanoResult clearContents()
清除标注内容
PanoResult stopAnnotation()
停止标注
PanoRtcAnnotationManager 接口类对应用程序提供了所有的标注对象管理相关方法。
Definition: PanoRtcAnnotation.h:573
instancetype init()
此方法不可用。
instancetype new()
此方法不可用。
白板颜色类。
Definition: PanoObjects.h:532
PanoRtcAnnotationDelegate 协议启用对应用程序的回调。
Definition: PanoRtcAnnotation.h:28
PanoRtcAnnotationManagerDelegate 协议启用对应用程序的回调。
Definition: PanoRtcAnnotation.h:492