WhiteDisplayerState.h 2.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. //
  2. // WhiteDisplayerState.h
  3. // WhiteSDK
  4. //
  5. // Created by yleaf on 2019/7/22.
  6. //
  7. #import "WhiteObject.h"
  8. #import "WhiteGlobalState.h"
  9. #import "WhiteRoomMember.h"
  10. #import "WhiteSceneState.h"
  11. #import "WhiteCameraState.h"
  12. #import "WhiteObject.h"
  13. NS_ASSUME_NONNULL_BEGIN
  14. typedef NSString * WhiteWindowBoxState NS_STRING_ENUM;
  15. FOUNDATION_EXPORT WhiteWindowBoxState const WhiteWindowBoxStateNormal;
  16. FOUNDATION_EXPORT WhiteWindowBoxState const WhiteWindowBoxStateMini;
  17. FOUNDATION_EXPORT WhiteWindowBoxState const WhiteWindowBoxStateMax;
  18. /** 互动白板实时房间和回放房间共有的状态。 */
  19. @interface WhiteDisplayerState : WhiteObject<YYModel>
  20. /**
  21. 设置自定义全局状态。
  22. 设置后,所有 `WhiteGlobalState` 都会转换为该类的对象。
  23. @param clazz 自定义全局状态类,自定义的 `WhiteGlobalState` 类必须继承 [WhiteGlobalState](WhiteGlobalState),否则会清空该配置。
  24. **Note:** 如果你使用 Swift,在配置 [WhiteGlobalState](WhiteGlobalState) 子类属性时,需要对属性添加 `@objc` 修饰符。
  25. @return
  26. - `YES`:配置成功。
  27. - `No`:配置失败,恢复为 [WhiteGlobalState](WhiteGlobalState) 类。
  28. */
  29. + (BOOL)setCustomGlobalStateClass:(Class)clazz;
  30. /** 房间的全局状态。详见 [WhiteGlobalState](WhiteGlobalState)。 */
  31. @property (nonatomic, strong, readonly, nullable) WhiteGlobalState *globalState;
  32. /** 房间中所有的互动模式(具有读写权限)的用户。详见 [WhiteRoomMember](WhiteRoomMember)。 */
  33. @property (nonatomic, strong, readonly, nullable) NSArray<WhiteRoomMember *> *roomMembers;
  34. /** 当前场景组下的场景状态。详见 [WhiteSceneState](WhiteSceneState)。 */
  35. @property (nonatomic, strong, readonly, nullable) WhiteSceneState *sceneState;
  36. /** 白板内部视角状态。详见 [WhiteCameraState](WhiteCameraState)。 */
  37. @property (nonatomic, strong, readonly, nullable) WhiteCameraState *cameraState;
  38. @property (nonatomic, copy, readonly, nullable) WhiteWindowBoxState windowBoxState;
  39. @end
  40. NS_ASSUME_NONNULL_END