本文整理汇总了C++中VRManager::RefreshVRDisplays方法的典型用法代码示例。如果您正苦于以下问题:C++ VRManager::RefreshVRDisplays方法的具体用法?C++ VRManager::RefreshVRDisplays怎么用?C++ VRManager::RefreshVRDisplays使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类VRManager
的用法示例。
在下文中一共展示了VRManager::RefreshVRDisplays方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: IPC_OK
mozilla::ipc::IPCResult
VRManagerParent::RecvCreateVRServiceTestDisplay(const nsCString& aID, const uint32_t& aPromiseID)
{
nsTArray<VRDisplayInfo> displayInfoArray;
impl::VRDisplayPuppet* displayPuppet = nullptr;
VRManager* vm = VRManager::Get();
vm->RefreshVRDisplays();
// Get VRDisplayPuppet from VRManager
vm->GetVRDisplayInfo(displayInfoArray);
for (auto& displayInfo : displayInfoArray) {
if (displayInfo.GetType() == VRDeviceType::Puppet) {
displayPuppet = static_cast<impl::VRDisplayPuppet*>(
vm->GetDisplay(displayInfo.GetDisplayID()).get());
break;
}
}
MOZ_ASSERT(displayPuppet);
MOZ_ASSERT(!mDisplayTestID); // We have only one display in VRSystemManagerPuppet.
if (!mVRDisplayTests.Get(mDisplayTestID, nullptr)) {
mVRDisplayTests.Put(mDisplayTestID, displayPuppet);
}
if (SendReplyCreateVRServiceTestDisplay(aID, aPromiseID, mDisplayTestID)) {
return IPC_OK();
}
return IPC_FAIL(this, "SendReplyCreateVRServiceTestController fail");
}
示例2:
bool
VRManagerParent::RecvRefreshDisplays()
{
// This is called to refresh the VR Displays for Navigator.GetVRDevices().
// We must pass "true" to VRManager::RefreshVRDisplays()
// to ensure that the promise returned by Navigator.GetVRDevices
// can resolve even if there are no changes to the VR Displays.
VRManager* vm = VRManager::Get();
vm->RefreshVRDisplays(true);
return true;
}
示例3: StopPresentation
void
VRDisplayHost::RemoveLayer(VRLayerParent *aLayer)
{
mLayers.RemoveElement(aLayer);
if (mLayers.Length() == 0) {
StopPresentation();
}
mDisplayInfo.mIsPresenting = mLayers.Length() > 0;
// Ensure that the content process receives the change immediately
VRManager* vm = VRManager::Get();
vm->RefreshVRDisplays();
}
示例4: StartPresentation
void
VRDisplayHost::AddLayer(VRLayerParent *aLayer)
{
mLayers.AppendElement(aLayer);
mDisplayInfo.mPresentingGroups |= aLayer->GetGroup();
if (mLayers.Length() == 1) {
StartPresentation();
}
// Ensure that the content process receives the change immediately
VRManager* vm = VRManager::Get();
vm->RefreshVRDisplays();
}
示例5: MOZ_ASSERT
mozilla::ipc::IPCResult
VRManagerParent::RecvRefreshDisplays()
{
// TODO: Bug 1406327, Launch VR listener thread here.
MOZ_ASSERT(VRListenerThreadHolder::IsInVRListenerThread());
// This is called to refresh the VR Displays for Navigator.GetVRDevices().
// We must pass "true" to VRManager::RefreshVRDisplays()
// to ensure that the promise returned by Navigator.GetVRDevices
// can resolve even if there are no changes to the VR Displays.
VRManager* vm = VRManager::Get();
vm->RefreshVRDisplays(true);
return IPC_OK();
}
示例6: StopPresentation
void
VRDisplayHost::RemoveLayer(VRLayerParent *aLayer)
{
mLayers.RemoveElement(aLayer);
if (mLayers.Length() == 0) {
StopPresentation();
}
mDisplayInfo.mPresentingGroups = 0;
for (auto layer : mLayers) {
mDisplayInfo.mPresentingGroups |= layer->GetGroup();
}
// Ensure that the content process receives the change immediately
VRManager* vm = VRManager::Get();
vm->RefreshVRDisplays();
}