introduces ios support? still needs metal
This commit is contained in:
@@ -189,6 +189,8 @@ EInputKey ISDL_KeyName(SDL_Keycode key)
|
||||
{
|
||||
switch(key)
|
||||
{
|
||||
case SDLK_ESCAPE: return KEY_ESCAPE;
|
||||
|
||||
case SDLK_1: return KEY_1;
|
||||
case SDLK_2: return KEY_2;
|
||||
case SDLK_3: return KEY_3;
|
||||
@@ -380,7 +382,19 @@ void IVideo::Init()
|
||||
IVideo_SwapchainInit();
|
||||
|
||||
IVulkan::Init();
|
||||
}
|
||||
|
||||
void IInput::SetMouseMode( EMouseMode mode )
|
||||
{
|
||||
switch (mode)
|
||||
{
|
||||
case MOUSE_MODE_GAME:
|
||||
SDL_SetWindowRelativeMouseMode(g_window, true);
|
||||
return;
|
||||
default:
|
||||
SDL_SetWindowRelativeMouseMode(g_window, false);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
void IVideo_HandleEvents()
|
||||
@@ -389,6 +403,7 @@ void IVideo_HandleEvents()
|
||||
while (SDL_PollEvent(&event))
|
||||
{
|
||||
SDL_KeyboardEvent *key = &event.key;
|
||||
SDL_MouseMotionEvent *motion = &event.motion;
|
||||
switch (event.type)
|
||||
{
|
||||
case SDL_EVENT_WINDOW_RESIZED:
|
||||
@@ -398,16 +413,25 @@ void IVideo_HandleEvents()
|
||||
break;
|
||||
case SDL_EVENT_KEY_DOWN:
|
||||
if (!key->repeat)
|
||||
IInput::KeyEvent(ISDL_KeyName(key->key),KEY_EVENT_TYPE_UP);
|
||||
IInput::KeyEvent(ISDL_KeyName(key->key),KEY_EVENT_TYPE_DOWN);
|
||||
break;
|
||||
case SDL_EVENT_KEY_UP:
|
||||
key = &event.key;
|
||||
SDL_Log("Key Up: %s", SDL_GetKeyName(key->key));
|
||||
if (!key->repeat)
|
||||
IInput::KeyEvent(ISDL_KeyName(key->key),KEY_EVENT_TYPE_UP);
|
||||
break;
|
||||
case SDL_EVENT_MOUSE_MOTION:
|
||||
IInput::AxisEvent(AXIS_MOUSE_X, motion->yrel*0.022);
|
||||
IInput::AxisEvent(AXIS_MOUSE_Y, -motion->xrel*0.022);
|
||||
break;
|
||||
}
|
||||
};
|
||||
};
|
||||
|
||||
void IVideo::CreatePipelines( )
|
||||
{
|
||||
IVulkan::CreatePipelines();
|
||||
};
|
||||
|
||||
void IVideo::Frame( float fDelta )
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user