WhiteMemberState.h 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. //
  2. // MemberState.h
  3. // WhiteSDK
  4. //
  5. // Created by leavesster on 2018/8/14.
  6. //
  7. #import "WhiteObject.h"
  8. NS_ASSUME_NONNULL_BEGIN
  9. #pragma mark - ApplianceName
  10. /** 白板绘图工具。 */
  11. typedef NSString * WhiteApplianceNameKey NS_STRING_ENUM;
  12. /** 点击工具,无任何作用。 */
  13. extern WhiteApplianceNameKey const ApplianceClicker;
  14. /** 铅笔。 */
  15. extern WhiteApplianceNameKey const AppliancePencil;
  16. /** 选择工具。 */
  17. extern WhiteApplianceNameKey const ApplianceSelector;
  18. /** 文字工具。 */
  19. extern WhiteApplianceNameKey const ApplianceText;
  20. /** 椭圆工具。 */
  21. extern WhiteApplianceNameKey const ApplianceEllipse;
  22. /** 矩形工具。 */
  23. extern WhiteApplianceNameKey const ApplianceRectangle;
  24. /** 橡皮工具。 */
  25. extern WhiteApplianceNameKey const ApplianceEraser;
  26. /** 直线工具。 */
  27. extern WhiteApplianceNameKey const ApplianceStraight;
  28. /** 箭头工具。 */
  29. extern WhiteApplianceNameKey const ApplianceArrow;
  30. /** 抓手工具。 */
  31. extern WhiteApplianceNameKey const ApplianceHand;
  32. /** 激光笔工具。 */
  33. extern WhiteApplianceNameKey const ApplianceLaserPointer;
  34. /** 图形工具,需要设置 `ShapeType` 属性,如果不设置,则默认设置为三角形。
  35. @since 2.12.24 */
  36. extern WhiteApplianceNameKey const ApplianceShape;
  37. #pragma mark - ShapeKey
  38. /** 图形形状。 */
  39. typedef NSString * WhiteApplianceShapeTypeKey NS_STRING_ENUM;
  40. /** 三角形。
  41. @since 2.12.24 */
  42. extern WhiteApplianceShapeTypeKey const ApplianceShapeTypeTriangle;
  43. /** 菱形。
  44. @since 2.12.24 */
  45. extern WhiteApplianceShapeTypeKey const ApplianceShapeTypeRhombus;
  46. /** 五角星。
  47. @since 2.12.24 */
  48. extern WhiteApplianceShapeTypeKey const ApplianceShapeTypePentagram;
  49. /** 对话气泡。
  50. @since 2.12.24 */
  51. extern WhiteApplianceShapeTypeKey const ApplianceShapeTypeSpeechBalloon;
  52. #pragma mark - ReadonlyMemberState
  53. /** 互动白板实时房间的工具状态(只读)。初始工具为pencil,无默认值。 */
  54. @interface WhiteReadonlyMemberState : WhiteObject
  55. /** 互动白板实时房间内当前使用的工具名称。初始工具为pencil,无默认值。 */
  56. @property (nonatomic, copy, readonly) WhiteApplianceNameKey currentApplianceName;
  57. /** 线条颜色,为 RGB 格式,例如,(0, 0, 255) 表示蓝色。 */
  58. @property (nonatomic, copy, readonly) NSArray<NSNumber *> *strokeColor;
  59. /** 线条粗细。 */
  60. @property (nonatomic, strong, readonly, nullable) NSNumber *strokeWidth;
  61. /** 字体大小。 */
  62. @property (nonatomic, strong, readonly, nullable) NSNumber *textSize;
  63. /** 当教具为 `Shape` 时,所选定的 shape 图形。
  64. @since 2.12.24 */
  65. @property (nonatomic, strong, readonly, nullable) WhiteApplianceShapeTypeKey shapeType;
  66. @end
  67. #pragma mark - MemberState
  68. /** 互动白板实时房间的工具状态。初始工具为pencil,无默认值。 */
  69. @interface WhiteMemberState : WhiteReadonlyMemberState
  70. /** 互动白板实时房间内当前使用的工具名称。初始工具为pencil,无默认值。 */
  71. @property (nonatomic, copy, readwrite, nullable) WhiteApplianceNameKey currentApplianceName;
  72. /** 线条颜色,为 RGB 格式,例如,(0, 0, 255) 表示蓝色。 */
  73. @property (nonatomic, copy, readwrite, nullable) NSArray<NSNumber *> *strokeColor;
  74. /** 线条粗细。 */
  75. @property (nonatomic, strong, readwrite, nullable) NSNumber *strokeWidth;
  76. /** 字体大小。 */
  77. @property (nonatomic, strong, readwrite, nullable) NSNumber *textSize;
  78. /**
  79. 当 currentApplianceName 为 Shape 时,所选定的 shape 图形;
  80. 如果只设置 currentApplianceName 为 shape,iOS 端会默认设置为三角形
  81. @since 2.12.24
  82. */
  83. @property (nonatomic, strong, readwrite, nullable) WhiteApplianceShapeTypeKey shapeType;
  84. @end
  85. NS_ASSUME_NONNULL_END