Chromium Code Reviews| Index: device/vr/vr_display_impl.cc |
| diff --git a/device/vr/vr_display_impl.cc b/device/vr/vr_display_impl.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..88114d5d1512825260eb851d6763e760e4bb195b |
| --- /dev/null |
| +++ b/device/vr/vr_display_impl.cc |
| @@ -0,0 +1,51 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include <utility> |
| + |
| +#include "base/bind.h" |
| +#include "device/vr/vr_device.h" |
| +#include "device/vr/vr_service_impl.h" |
| + |
| +namespace device { |
| + |
| +VRDisplayImpl::VRDisplayImpl(device::VRDevice* device, VRServiceImpl* service) |
| + : binding_(this) { |
| + device_ = device; |
| + service_.reset(service); |
|
dcheng
2016/11/08 18:15:44
Nit: please initialize |device_| and |service_| in
|
| + mojom::VRDisplayInfoPtr display_info = device->GetVRDevice(); |
| + service->client()->OnDisplayConnected(binding_.CreateInterfacePtrAndBind(), |
| + mojo::GetProxy(&client_), |
| + std::move(display_info)); |
| +} |
| + |
| +VRDisplayImpl::~VRDisplayImpl() {} |
| + |
| +void VRDisplayImpl::GetPose(const GetPoseCallback& callback) { |
| + callback.Run(device_->GetPose(service_.get())); |
| +} |
| + |
| +void VRDisplayImpl::ResetPose() { |
| + device_->ResetPose(service_.get()); |
| +} |
| + |
| +void VRDisplayImpl::RequestPresent(bool secureOrigin, |
| + const RequestPresentCallback& callback) { |
| + callback.Run(device_->RequestPresent(service_.get(), secureOrigin)); |
| +} |
| + |
| +void VRDisplayImpl::ExitPresent() { |
| + device_->ExitPresent(service_.get()); |
| +} |
| + |
| +void VRDisplayImpl::SubmitFrame(mojom::VRPosePtr pose) { |
| + device_->SubmitFrame(service_.get(), std::move(pose)); |
| +} |
| + |
| +void VRDisplayImpl::UpdateLayerBounds(mojom::VRLayerBoundsPtr leftBounds, |
| + mojom::VRLayerBoundsPtr rightBounds) { |
| + device_->UpdateLayerBounds(service_.get(), std::move(leftBounds), |
| + std::move(rightBounds)); |
| +} |
| +} |