Added raylib+rmlui template
This commit is contained in:
25
src/backend/RaylibInput.cpp
Normal file
25
src/backend/RaylibInput.cpp
Normal file
@@ -0,0 +1,25 @@
|
||||
#include "RaylibInput.h"
|
||||
#include <raylib.h>
|
||||
|
||||
namespace {
|
||||
int GetRmlKeyModifiers() {
|
||||
int mods = 0;
|
||||
if (IsKeyDown(KEY_LEFT_SHIFT) || IsKeyDown(KEY_RIGHT_SHIFT)) mods |= Rml::Input::KM_SHIFT;
|
||||
if (IsKeyDown(KEY_LEFT_CONTROL) || IsKeyDown(KEY_RIGHT_CONTROL)) mods |= Rml::Input::KM_CTRL;
|
||||
if (IsKeyDown(KEY_LEFT_ALT) || IsKeyDown(KEY_RIGHT_ALT)) mods |= Rml::Input::KM_ALT;
|
||||
return mods;
|
||||
}
|
||||
}
|
||||
|
||||
void ForwardInputToRml(Rml::Context* context) {
|
||||
Vector2 mouse = GetMousePosition();
|
||||
context->ProcessMouseMove((int)mouse.x, (int)mouse.y, GetRmlKeyModifiers());
|
||||
|
||||
if (IsMouseButtonPressed(MOUSE_BUTTON_LEFT)) context->ProcessMouseButtonDown(0, GetRmlKeyModifiers());
|
||||
if (IsMouseButtonReleased(MOUSE_BUTTON_LEFT)) context->ProcessMouseButtonUp(0, GetRmlKeyModifiers());
|
||||
if (IsMouseButtonPressed(MOUSE_BUTTON_RIGHT)) context->ProcessMouseButtonDown(1, GetRmlKeyModifiers());
|
||||
if (IsMouseButtonReleased(MOUSE_BUTTON_RIGHT)) context->ProcessMouseButtonUp(1, GetRmlKeyModifiers());
|
||||
|
||||
float wheel = GetMouseWheelMove();
|
||||
if (wheel != 0.0f) context->ProcessMouseWheel(-wheel, GetRmlKeyModifiers());
|
||||
}
|
||||
Reference in New Issue
Block a user