C++SDK  1.0.0
mannotaioninternal.h
浏览该文件的文档.
1 #ifndef RT_AnnotationInternal_H_
2 #define RT_AnnotationInternal_H_
3 
4 #include "common.h"
5 #include "room.h"
6 #include "annotationobject.h"
7 
8 namespace tee3 {
9  namespace avd {
10 
12  public:
13  class IListener {
14  public:
15  virtual void onAnnotationAddNotifiy(const BoardId bid, rtcimp::AnnotationObject* annotationMsg) = 0;
16  virtual void onAnnotationDelNotifiy(const BoardId bid, const AnnotationId& annoId) = 0;
17  virtual void onAnnotationUpdateNotifiy(const BoardId bid, const AnnotationId& annoId, rtcimp::AnnotationObject* annobj) = 0;
18  virtual void onAnnotationAddNotifiyStr(const BoardId bid, const std::string& annotaionStr) = 0;
19  virtual void onAnnotationUpdateNotifiyStr(const BoardId bid, const AnnotationId& annoId, const std::string& annotaionStr) = 0;
20  virtual void onAnnotaionClearNotfiy(const BoardId bid,const std::string userid)= 0;
21  protected:
22  virtual ~IListener() {}
23  };
24 
25  public:
26  static IMAnnotaionInternal* getAnnotationInternal(IRoom* room);
27  static bool isSupported(AnnotationToolType type);
28  virtual Result setListener(IMAnnotaionInternal::IListener* listener) = 0;
29  virtual Result addAnnotationObj(BoardId bid, rtcimp::AnnotationObject* annobj) = 0;
30  virtual Result removeAnnotationObj(BoardId bid, const AnnotationId& id) = 0;
31  virtual Result updateAnnotationObj(BoardId bid, const AnnotationId& id, rtcimp::AnnotationObject* annobj) = 0;
32  //
33  virtual Result addAnnotationStr(BoardId bid, const std::string& annostr) = 0;
34  virtual Result updateAnnotationStr(BoardId bid, const AnnotationId& id, const std::string& annostr) = 0;
35  virtual Result getAnnotationList(BoardId bid, AnnotationTypes& annos) = 0;
36  virtual Result setDisplayRect(BoardId bid, uint32 left, uint32 top, uint32 right, uint32 bottom) = 0;
37 
39  virtual Result undo(BoardId bid) = 0;
40  virtual Result redo(BoardId bid) = 0;
41  virtual Result clear(BoardId bid) = 0;
42 
43  virtual void redrawAll(BoardId bid)=0;
44  public:
45  virtual ~IMAnnotaionInternal() {}
46  };
47 
48  }
49 }
50 #endif//RT_AnnotationInternal_H_
DeviceId AnnotationId
Definition: common.h:17
String BoardId
Definition: common.h:18
int Result
Definition: combase.h:13
virtual ~IListener()
Definition: mannotaioninternal.h:22
Definition: room.h:17
#define RT_API_EXPORT
Definition: defines.h:188
unsigned int uint32
Definition: defines.h:393
Definition: mannotaioninternal.h:11
virtual ~IMAnnotaionInternal()
Definition: mannotaioninternal.h:45
std::vector< std::string > AnnotationTypes
Definition: common.h:576
Definition: mannotaioninternal.h:13
Definition: audiocapture.h:5
AnnotationToolType
Definition: common.h:482
Definition: annotationobject.h:71