fix event func
This commit is contained in:
@@ -113,8 +113,6 @@ namespace VE
|
||||
{
|
||||
glfwSetKeyCallback(m_win, [](GLFWwindow* w, int key, int scancode, int action, int mods)
|
||||
{
|
||||
event e{ action, key };
|
||||
|
||||
// HERE
|
||||
// тут одноврекменно срабатывает только один сигнал
|
||||
// т.е. если нажада клавиша и удерживается сигнал о повторе идет
|
||||
@@ -125,22 +123,21 @@ namespace VE
|
||||
{
|
||||
case GLFW_PRESS:
|
||||
{
|
||||
e.m_type = event_type::KEY_PRESSED;
|
||||
VE::EMIT(event_type::KEY_PRESSED, key);
|
||||
break;
|
||||
}
|
||||
case GLFW_RELEASE:
|
||||
{
|
||||
e.m_type = event_type::KEY_RELEASED;
|
||||
VE::EMIT(event_type::KEY_RELEASED, key);
|
||||
break;
|
||||
}
|
||||
case GLFW_REPEAT:
|
||||
{
|
||||
e.m_type = event_type::KEY_REPEATE;
|
||||
VE::EMIT(event_type::KEY_REPEATE, key);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
VE_EMIT(e);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -148,8 +145,6 @@ namespace VE
|
||||
{
|
||||
glfwSetMouseButtonCallback(m_win, [](GLFWwindow* w, int button, int action, int mods)
|
||||
{
|
||||
event e{ action, button };
|
||||
|
||||
switch (action)
|
||||
{
|
||||
case GLFW_PRESS:
|
||||
@@ -159,29 +154,27 @@ namespace VE
|
||||
std::chrono::duration<double, std::milli> duration = local - time;
|
||||
|
||||
if (duration.count() > 10 && duration.count() < 200)
|
||||
e.m_type = event_type::MOUSE_BUTTON_DOUBLE_PRESSED;
|
||||
VE::EMIT(event_type::MOUSE_BUTTON_DOUBLE_PRESSED, button);
|
||||
else
|
||||
e.m_type = event_type::MOUSE_BUTTON_PRESSED;
|
||||
VE::EMIT(event_type::MOUSE_BUTTON_PRESSED, button);
|
||||
|
||||
time = local;
|
||||
break;
|
||||
}
|
||||
case GLFW_RELEASE:
|
||||
{
|
||||
e.m_type = event_type::MOUSE_BUTTON_RELEASED;
|
||||
VE::EMIT(event_type::MOUSE_BUTTON_RELEASED, button);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
VE_EMIT(e);
|
||||
});
|
||||
|
||||
glfwSetScrollCallback(m_win, [](GLFWwindow* w, double xOffset, double yOffset)
|
||||
{
|
||||
try
|
||||
{
|
||||
event e{ event_type::MOUSE_SCROLL, std::pair<float, float>{ static_cast<float>(xOffset), static_cast<float>(yOffset) } };
|
||||
VE_EMIT(e);
|
||||
auto data = std::pair<float, float>{ static_cast<float>(xOffset), static_cast<float>(yOffset) };
|
||||
VE::EMIT(event_type::MOUSE_SCROLL, data);
|
||||
}
|
||||
catch(std::exception& e)
|
||||
{
|
||||
@@ -193,8 +186,8 @@ namespace VE
|
||||
{
|
||||
try
|
||||
{
|
||||
event e{ event_type::MOUSE_CURSOR_POSITION, std::pair<float, float>{ static_cast<float>(xPos), static_cast<float>(yPos) } };
|
||||
VE_EMIT(e);
|
||||
auto data = std::pair<float, float>{ static_cast<float>(xPos), static_cast<float>(yPos) };
|
||||
VE::EMIT(event_type::MOUSE_CURSOR_POSITION, data);
|
||||
}
|
||||
catch(std::exception& e)
|
||||
{
|
||||
@@ -215,8 +208,8 @@ namespace VE
|
||||
|
||||
try
|
||||
{
|
||||
event e{ event_type::WINDOW_RESIZE, std::pair<float, float>{ static_cast<float>(width), static_cast<float>(height) } };
|
||||
VE_EMIT(e);
|
||||
auto data = std::pair<float, float>{ static_cast<float>(width), static_cast<float>(height) };
|
||||
VE::EMIT(event_type::WINDOW_RESIZE, data);
|
||||
}
|
||||
catch(std::exception& e)
|
||||
{
|
||||
@@ -228,8 +221,7 @@ namespace VE
|
||||
{
|
||||
try
|
||||
{
|
||||
event e{ event_type::WINDOW_CLOSE, nullptr };
|
||||
VE_EMIT(e);
|
||||
VE::EMIT(event_type::WINDOW_CLOSE, nullptr);
|
||||
}
|
||||
catch(std::exception& e)
|
||||
{
|
||||
@@ -241,8 +233,7 @@ namespace VE
|
||||
{
|
||||
try
|
||||
{
|
||||
event e{ event_type::WINDOW_FOCUS, focused };
|
||||
VE_EMIT(e);
|
||||
VE::EMIT(event_type::WINDOW_FOCUS, focused);
|
||||
}
|
||||
catch(std::exception& e)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user