SusBaseWindow.h 3.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. //
  2. // SusBaseWindow.h
  3. // BuguLive
  4. //
  5. // Created by 岳克奎 on 16/9/24.
  6. // Copyright © 2016年 xfg. All rights reserved.
  7. //
  8. #import <UIKit/UIKit.h>
  9. @class BGTLiveController;
  10. @class BGKSYLiveController;
  11. /**
  12. * @brief: 设置 window 等级较高,用于悬浮窗口
  13. *
  14. * @prama close_Window_Btn 设置了一个关闭按钮(执行直播vc里的关闭按钮方法)
  15. * @prama window_Tap_Ges tap(点击悬浮小widnow-->满屏widnow,取消tap)
  16. * @prama window_Pan_Ges pan(与liveView上的pan冲突。KVO解决)---->KVO 不走
  17. * @prama
  18. * @prama isSusWindow 悬浮widnow
  19. * @prama isSmallSusWindow 当前是否是 悬浮 小window YES:小 NO 大
  20. * @prama susBaseWindowBtnClickBlock btn block
  21. * @prama susBaseWindowTapGesBlock tap block
  22. * @prama susBaseWindowPanGesBlock pan block
  23. *
  24. *
  25. */
  26. typedef void (^SusBaseWindowBtnClickBlock)();
  27. typedef void (^SusBaseWindowTapGesBlock)();
  28. typedef void (^SusBaseWindowPanGesBlock)();
  29. @interface SusBaseWindow : UIWindow
  30. @property (nonatomic, strong) UITapGestureRecognizer *window_Tap_Ges;
  31. @property (nonatomic, strong) UIPanGestureRecognizer *window_Pan_Ges;
  32. @property (nonatomic, copy) SusBaseWindowTapGesBlock susBaseWindowTapGesBlock; // tap blcok
  33. @property (nonatomic, copy) SusBaseWindowPanGesBlock susBaseWindowPanGesBlock; // pan blcok
  34. @property (nonatomic, assign) int sdkType; // SDK类型,对应的枚举:FW_LIVESDK_TYPE
  35. @property (nonatomic, assign) int liveType; // 视频类型,对应的枚举:FW_LIVE_TYPE
  36. @property (nonatomic, assign) BOOL isSusWindow; // 是不是 悬浮 window
  37. @property (nonatomic, assign) BOOL isSmallSusWindow; // 是不是 小悬浮widnow
  38. @property (nonatomic, assign) BOOL isDirectCloseLive; // 关闭前,记录需不需要 finishVC
  39. @property (nonatomic, assign) BOOL isHostShowAlert; // 关闭前,记录需不需要 判断(有的直播间关闭直接退出了)
  40. @property (nonatomic, assign) BOOL isHost; // 是否主播
  41. @property (nonatomic, assign) BOOL reccordSusWidnowSale; // 是否需要记录悬浮窗的大小
  42. @property (nonatomic, assign) BOOL isPushStreamIng; // 主播是否正在推流中
  43. @property (nonatomic, assign) BOOL isShowLivePay; // 是否显示付费按钮(yes 显示)
  44. @property (nonatomic, assign) BOOL isShowMention; // 是否显示提档(yes 显示)
  45. @property (nonatomic, copy) NSString *switchedRoomId; // 需要切换到的房间ID,switchedRoomId不为空时表示需要切换房间
  46. @property (nonatomic, strong) NSString *recordRooTViewControllerName; // 在竞拍悬浮中,当小屏幕时候,底层Window 已经转变ROOTVC 当满屏幕恢复需要 回到小悬浮前的ROOTVC(这是个容器)
  47. @property (nonatomic, strong) BGTLiveController *recordFWTLiveController; // 如果开启了 腾讯云直播 记录云直播VC
  48. @property (nonatomic, strong) BGKSYLiveController *threeFWKSYLiveController; // 如果开启了 金山云直播 记录云直播VC
  49. - (id)initWithFrame:(CGRect)frame;
  50. @end