DisplayManager.h 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. #pragma once
  2. #include "UnityRendering.h"
  3. #include <UIKit/UIKit.h>
  4. @class EAGLContext;
  5. @class UnityView;
  6. @interface DisplayConnection : NSObject
  7. - (id)init:(UIScreen*)targetScreen;
  8. - (void)dealloc;
  9. - (void)createView:(BOOL)useForRendering showRightAway:(BOOL)showRightAway;
  10. - (void)createView:(BOOL)useForRendering;
  11. - (void)createWithWindow:(UIWindow*)window andView:(UIView*)view;
  12. - (UnityDisplaySurfaceBase*)initRendering;
  13. - (void)recreateSurface:(RenderingSurfaceParams)params;
  14. - (void)destroySurface;
  15. - (void)shouldShowWindow:(BOOL)show;
  16. - (void)requestRenderingResolution:(CGSize)res;
  17. - (void)present;
  18. @property (readonly, copy, nonatomic) UIScreen* screen;
  19. @property (readonly, copy, nonatomic) UIWindow* window;
  20. @property (readonly, copy, nonatomic) UIView* view;
  21. @property (readonly, nonatomic) CGSize screenSize;
  22. @property (readonly, nonatomic) UnityDisplaySurfaceBase* surface;
  23. @end
  24. @interface DisplayManager : NSObject
  25. - (id)objectForKeyedSubscript:(id)key;
  26. - (BOOL)displayAvailable:(UIScreen*)targetScreen;
  27. - (void)updateDisplayListCacheInUnity;
  28. - (void)startFrameRendering;
  29. - (void)present;
  30. - (void)endFrameRendering;
  31. - (void)enumerateDisplaysWithBlock:(void (^)(DisplayConnection* conn))block;
  32. - (void)enumerateNonMainDisplaysWithBlock:(void (^)(DisplayConnection* conn))block;
  33. + (void)Initialize;
  34. + (DisplayManager*)Instance;
  35. + (void)Destroy;
  36. @property (readonly, nonatomic) DisplayConnection* mainDisplay;
  37. @property (readonly, nonatomic) NSUInteger displayCount;
  38. @end
  39. inline DisplayConnection* GetMainDisplay()
  40. {
  41. return [DisplayManager Instance].mainDisplay;
  42. }
  43. inline UnityDisplaySurfaceBase* GetMainDisplaySurface()
  44. {
  45. return GetMainDisplay().surface;
  46. }