// // VROView.h // ViroRenderer // // Created by Raj Advani on 12/15/15. // Copyright © 2015 Viro Media. All rights reserved. // #import #import #import "VRORenderDelegate.h" #import "VROQuaternion.h" #import "VROCamera.h" #import "VROViewRecorder.h" #import class VROSceneController; class VROScene; class VROReticle; class VRONode; class VROFrameSynchronizer; enum class VROTimingFunctionType; typedef void (^VROViewValidApiKeyBlock)(BOOL); @protocol VROView @required @property (nonatomic, weak) IBOutlet id renderDelegate; @property (readonly, nonatomic) std::shared_ptr renderer; @property (readwrite, nonatomic) std::shared_ptr sceneController; - (void)setSceneController:(std::shared_ptr)sceneController; - (void)setSceneController:(std::shared_ptr)sceneController duration:(float)seconds timingFunction:(VROTimingFunctionType)timingFunctionType; - (void)setPointOfView:(std::shared_ptr)node; - (void)validateApiKey:(NSString *)apiKey withCompletionBlock:(VROViewValidApiKeyBlock)completionBlock; - (void)setDebugHUDEnabled:(BOOL)enabled; - (void)recenterTracking; - (void)startVideoRecording:(NSString *)fileName saveToCameraRoll:(BOOL)saveToCamera errorBlock:(VROViewRecordingErrorBlock)errorBlock; - (void)stopVideoRecordingWithHandler:(VROViewWriteMediaFinishBlock)completionHandler; - (void)takeScreenshot:(NSString *)fileName saveToCameraRoll:(BOOL)saveToCamera withCompletionHandler:(VROViewWriteMediaFinishBlock)completionHandler; - (BOOL)setShadowsEnabled:(BOOL)enabled; - (BOOL)setHDREnabled:(BOOL)enabled; - (BOOL)setPBREnabled:(BOOL)enabled; - (BOOL)setBloomEnabled:(BOOL)enabled; - (NSString *)getPlatform; - (NSString *)getHeadset; - (NSString *)getController; /* Calling setVrMode allows switching to and from VR mode. When set to NO, it transitions back to pre-VR (mono) mode. When set to YES, we set thie view into a full VR mode */ - (void)setVrMode:(BOOL)enabled; - (std::shared_ptr)frameSynchronizer; @end