diff options
author | wolfbeast <mcwerewolf@gmail.com> | 2018-11-28 23:10:30 +0100 |
---|---|---|
committer | wolfbeast <mcwerewolf@gmail.com> | 2018-11-28 23:10:30 +0100 |
commit | 088c3cf890cc2d96f2093e2116612cbf65bfaeea (patch) | |
tree | b4d3c68155f2de43432dd00c167d3029732be146 /gfx/vr/gfxVR.cpp | |
parent | ec3829bf7266ebec111f41268c6c491356576df1 (diff) | |
parent | fe11e14d3cfc2900facf152257acda87280b6cdc (diff) | |
download | UXP-088c3cf890cc2d96f2093e2116612cbf65bfaeea.tar UXP-088c3cf890cc2d96f2093e2116612cbf65bfaeea.tar.gz UXP-088c3cf890cc2d96f2093e2116612cbf65bfaeea.tar.lz UXP-088c3cf890cc2d96f2093e2116612cbf65bfaeea.tar.xz UXP-088c3cf890cc2d96f2093e2116612cbf65bfaeea.zip |
Merge branch 'master' into Sync-weave
Diffstat (limited to 'gfx/vr/gfxVR.cpp')
-rw-r--r-- | gfx/vr/gfxVR.cpp | 127 |
1 files changed, 0 insertions, 127 deletions
diff --git a/gfx/vr/gfxVR.cpp b/gfx/vr/gfxVR.cpp deleted file mode 100644 index c0babb4f8..000000000 --- a/gfx/vr/gfxVR.cpp +++ /dev/null @@ -1,127 +0,0 @@ -/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- - * This Source Code Form is subject to the terms of the Mozilla Public - * License, v. 2.0. If a copy of the MPL was not distributed with this - * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ - -#include <math.h> - -#include "gfxVR.h" -#ifdef MOZ_GAMEPAD -#include "mozilla/dom/GamepadEventTypes.h" -#include "mozilla/dom/GamepadBinding.h" -#endif - -#ifndef M_PI -# define M_PI 3.14159265358979323846 -#endif - -using namespace mozilla; -using namespace mozilla::gfx; - -Atomic<uint32_t> VRDisplayManager::sDisplayBase(0); -Atomic<uint32_t> VRControllerManager::sControllerBase(0); - -/* static */ uint32_t -VRDisplayManager::AllocateDisplayID() -{ - return ++sDisplayBase; -} - -Matrix4x4 -VRFieldOfView::ConstructProjectionMatrix(float zNear, float zFar, - bool rightHanded) const -{ - float upTan = tan(upDegrees * M_PI / 180.0); - float downTan = tan(downDegrees * M_PI / 180.0); - float leftTan = tan(leftDegrees * M_PI / 180.0); - float rightTan = tan(rightDegrees * M_PI / 180.0); - - float handednessScale = rightHanded ? -1.0 : 1.0; - - float pxscale = 2.0f / (leftTan + rightTan); - float pxoffset = (leftTan - rightTan) * pxscale * 0.5; - float pyscale = 2.0f / (upTan + downTan); - float pyoffset = (upTan - downTan) * pyscale * 0.5; - - Matrix4x4 mobj; - float *m = &mobj._11; - - m[0*4+0] = pxscale; - m[2*4+0] = pxoffset * handednessScale; - - m[1*4+1] = pyscale; - m[2*4+1] = -pyoffset * handednessScale; - - m[2*4+2] = zFar / (zNear - zFar) * -handednessScale; - m[3*4+2] = (zFar * zNear) / (zNear - zFar); - - m[2*4+3] = handednessScale; - m[3*4+3] = 0.0f; - - return mobj; -} - -/* static */ uint32_t -VRControllerManager::AllocateControllerID() -{ - return ++sControllerBase; -} - -void -VRControllerManager::AddGamepad(const char* aID, uint32_t aMapping, - uint32_t aNumButtons, uint32_t aNumAxes) -{ - dom::GamepadAdded a(NS_ConvertUTF8toUTF16(nsDependentCString(aID)), mControllerCount, - aMapping, dom::GamepadServiceType::VR, aNumButtons, - aNumAxes); - - VRManager* vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyGamepadChange<dom::GamepadAdded>(a); -} - -void -VRControllerManager::RemoveGamepad(uint32_t aIndex) -{ - dom::GamepadRemoved a(aIndex, dom::GamepadServiceType::VR); - - VRManager* vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyGamepadChange<dom::GamepadRemoved>(a); -} - -void -VRControllerManager::NewButtonEvent(uint32_t aIndex, uint32_t aButton, - bool aPressed) -{ - dom::GamepadButtonInformation a(aIndex, dom::GamepadServiceType::VR, - aButton, aPressed, aPressed ? 1.0L : 0.0L); - - VRManager* vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyGamepadChange<dom::GamepadButtonInformation>(a); -} - -void -VRControllerManager::NewAxisMove(uint32_t aIndex, uint32_t aAxis, - double aValue) -{ - dom::GamepadAxisInformation a(aIndex, dom::GamepadServiceType::VR, - aAxis, aValue); - - VRManager* vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyGamepadChange<dom::GamepadAxisInformation>(a); -} - -void -VRControllerManager::NewPoseState(uint32_t aIndex, - const dom::GamepadPoseState& aPose) -{ - dom::GamepadPoseInformation a(aIndex, dom::GamepadServiceType::VR, - aPose); - - VRManager* vm = VRManager::Get(); - MOZ_ASSERT(vm); - vm->NotifyGamepadChange<dom::GamepadPoseInformation>(a); -} |