1 // Copyright 2019 The Chromium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 #ifndef DEVICE_VR_WINDOWS_MIXED_REALITY_WRAPPERS_WMR_WRAPPER_FACTORIES_H_ 5 #define DEVICE_VR_WINDOWS_MIXED_REALITY_WRAPPERS_WMR_WRAPPER_FACTORIES_H_ 6 7 #include "device/vr/windows_mixed_reality/wrappers/wmr_holographic_space.h" 8 #include "device/vr/windows_mixed_reality/wrappers/wmr_input_manager.h" 9 #include "device/vr/windows_mixed_reality/wrappers/wmr_origins.h" 10 11 namespace device { 12 13 class WMRStationaryOriginFactory { 14 public: 15 static std::unique_ptr<WMRStationaryOrigin> CreateAtCurrentLocation(); 16 }; 17 18 class WMRAttachedOriginFactory { 19 public: 20 static std::unique_ptr<WMRAttachedOrigin> CreateAtCurrentLocation(); 21 }; 22 23 class WMRStageStaticsFactory { 24 public: 25 static std::unique_ptr<WMRStageStatics> Create(); 26 }; 27 28 class WMRSpatialAnchorFactory { 29 public: 30 static std::unique_ptr<WMRCoordinateSystem> TryCreateRelativeTo( 31 WMRCoordinateSystem* origin); 32 }; 33 34 class WMRInputManagerFactory { 35 public: 36 static std::unique_ptr<WMRInputManager> GetForWindow(HWND hwnd); 37 }; 38 39 class WMRHolographicSpaceFactory { 40 public: 41 static std::unique_ptr<WMRHolographicSpace> CreateForWindow(HWND hwnd); 42 }; 43 44 } // namespace device 45 46 #endif // DEVICE_VR_WINDOWS_MIXED_REALITY_WRAPPERS_WMR_WRAPPER_FACTORIES_H_ 47