mirror of
https://github.com/scratchfoundation/bgfx.git
synced 2024-11-28 18:45:54 -05:00
Merge branch 'master' of github.com:bkaradzic/bgfx
This commit is contained in:
commit
ad4b2f134f
4 changed files with 28 additions and 4 deletions
|
@ -109,6 +109,16 @@ struct Keyboard
|
|||
return decodeKeyState(m_key[_key], *_modifiers);
|
||||
}
|
||||
|
||||
uint8_t getModifiersState()
|
||||
{
|
||||
uint8_t modifiers = 0;
|
||||
for (uint32_t ii = 0; ii < entry::Key::Count; ++ii)
|
||||
{
|
||||
modifiers |= (m_key[ii]>>16)&0xff;
|
||||
}
|
||||
return modifiers;
|
||||
}
|
||||
|
||||
void pushChar(uint8_t _len, const uint8_t _char[4])
|
||||
{
|
||||
for (uint32_t len = m_ring.reserve(4)
|
||||
|
@ -314,6 +324,11 @@ bool inputGetKeyState(entry::Key::Enum _key, uint8_t* _modifiers)
|
|||
return s_input->m_keyboard.getKeyState(_key, _modifiers);
|
||||
}
|
||||
|
||||
uint8_t inputGetModifiersState()
|
||||
{
|
||||
return s_input->m_keyboard.getModifiersState();
|
||||
}
|
||||
|
||||
void inputChar(uint8_t _len, const uint8_t _char[4])
|
||||
{
|
||||
s_input->m_keyboard.pushChar(_len, _char);
|
||||
|
|
|
@ -42,6 +42,9 @@ void inputSetKeyState(entry::Key::Enum _key, uint8_t _modifiers, bool _down);
|
|||
///
|
||||
bool inputGetKeyState(entry::Key::Enum _key, uint8_t* _modifiers = NULL);
|
||||
|
||||
///
|
||||
uint8_t inputGetModifiersState();
|
||||
|
||||
/// Adds single UTF-8 encoded character into input buffer.
|
||||
void inputChar(uint8_t _len, const uint8_t _char[4]);
|
||||
|
||||
|
|
12
src/ovr.cpp
12
src/ovr.cpp
|
@ -9,6 +9,12 @@
|
|||
|
||||
namespace bgfx
|
||||
{
|
||||
#if OVR_VERSION <= OVR_VERSION_050
|
||||
static const int s_eyeBuffer = 100;
|
||||
#else
|
||||
static const int s_eyeBuffer = 8;
|
||||
#endif // OVR_VERSION...
|
||||
|
||||
OVR::OVR()
|
||||
: m_hmd(NULL)
|
||||
, m_isenabled(false)
|
||||
|
@ -50,7 +56,7 @@ namespace bgfx
|
|||
|
||||
ovrSizei sizeL = ovrHmd_GetFovTextureSize(m_hmd, ovrEye_Left, m_hmd->DefaultEyeFov[0], 1.0f);
|
||||
ovrSizei sizeR = ovrHmd_GetFovTextureSize(m_hmd, ovrEye_Right, m_hmd->DefaultEyeFov[1], 1.0f);
|
||||
m_rtSize.w = sizeL.w + sizeR.w;
|
||||
m_rtSize.w = sizeL.w + sizeR.w + s_eyeBuffer;
|
||||
m_rtSize.h = bx::uint32_max(sizeL.h, sizeR.h);
|
||||
m_warning = true;
|
||||
}
|
||||
|
@ -169,12 +175,12 @@ ovrError:
|
|||
ovrRecti rect;
|
||||
rect.Pos.x = 0;
|
||||
rect.Pos.y = 0;
|
||||
rect.Size.w = m_rtSize.w/2;
|
||||
rect.Size.w = (m_rtSize.w - s_eyeBuffer)/2;
|
||||
rect.Size.h = m_rtSize.h;
|
||||
|
||||
m_texture[0].Header.RenderViewport = rect;
|
||||
|
||||
rect.Pos.x += rect.Size.w;
|
||||
rect.Pos.x += rect.Size.w + s_eyeBuffer;
|
||||
m_texture[1].Header.RenderViewport = rect;
|
||||
|
||||
m_timing = ovrHmd_BeginFrame(m_hmd, 0);
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
# include <OVR_Version.h>
|
||||
|
||||
# define OVR_VERSION_(_a, _b, _c) (_a * 10000 + _b * 100 + _c)
|
||||
# define OVR_VERSION OVR_VERSION_(OVR_MAJOR_VERSION, OVR_MINOR_VERSION, OVR_BUILD_VERSION)
|
||||
# define OVR_VERSION OVR_VERSION_(OVR_PRODUCT_VERSION, OVR_MAJOR_VERSION, OVR_MINOR_VERSION)
|
||||
# define OVR_VERSION_042 OVR_VERSION_(0, 4, 2)
|
||||
# define OVR_VERSION_043 OVR_VERSION_(0, 4, 3)
|
||||
# define OVR_VERSION_044 OVR_VERSION_(0, 4, 4)
|
||||
|
|
Loading…
Reference in a new issue