WhiteDisplayerState.h 2.2 KB

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