mouse data

This commit is contained in:
Jorijn van der Graaf 2025-11-10 20:42:35 +01:00
commit 917e638538
4 changed files with 76 additions and 76 deletions

View file

@ -82,7 +82,7 @@ function addMouseOverListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteMouseOverHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteMouseOverHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteMouseOverHandler(handlerID); ExecuteMouseOverHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-mouseover`, handler); eventHandlers.set(`${ptr}-${handlerID}-mouseover`, handler);
@ -103,7 +103,7 @@ function addMouseOutListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteMouseOutHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteMouseOutHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteMouseOutHandler(handlerID); ExecuteMouseOutHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-mouseout`, handler); eventHandlers.set(`${ptr}-${handlerID}-mouseout`, handler);
@ -124,7 +124,7 @@ function addMouseMoveListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteMouseMoveHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteMouseMoveHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteMouseMoveHandler(handlerID); ExecuteMouseMoveHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-mousemove`, handler); eventHandlers.set(`${ptr}-${handlerID}-mousemove`, handler);
@ -145,7 +145,7 @@ function addMouseDownListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteMouseDownHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteMouseDownHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteMouseDownHandler(handlerID); ExecuteMouseDownHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-mousedown`, handler); eventHandlers.set(`${ptr}-${handlerID}-mousedown`, handler);
@ -166,7 +166,7 @@ function addMouseUpListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteMouseUpHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteMouseUpHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteMouseUpHandler(handlerID); ExecuteMouseUpHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-mouseup`, handler); eventHandlers.set(`${ptr}-${handlerID}-mouseup`, handler);
@ -406,7 +406,7 @@ function addContextMenuListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteContextMenuHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteContextMenuHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteContextMenuHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey); ExecuteContextMenuHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-contextmenu`, handler); eventHandlers.set(`${ptr}-${handlerID}-contextmenu`, handler);
@ -428,7 +428,7 @@ function addDragStartListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteDragStartHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteDragStartHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteDragStartHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey); ExecuteDragStartHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-dragstart`, handler); eventHandlers.set(`${ptr}-${handlerID}-dragstart`, handler);
@ -449,7 +449,7 @@ function addDragEndListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteDragEndHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteDragEndHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteDragEndHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey); ExecuteDragEndHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-dragend`, handler); eventHandlers.set(`${ptr}-${handlerID}-dragend`, handler);
@ -470,7 +470,7 @@ function addDropListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteDropHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteDropHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteDropHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey); ExecuteDropHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-drop`, handler); eventHandlers.set(`${ptr}-${handlerID}-drop`, handler);
@ -492,7 +492,7 @@ function addDragOverListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteDragOverHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteDragOverHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteDragOverHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey); ExecuteDragOverHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-dragover`, handler); eventHandlers.set(`${ptr}-${handlerID}-dragover`, handler);
@ -513,7 +513,7 @@ function addDragEnterListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteDragEnterHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteDragEnterHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteDragEnterHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey); ExecuteDragEnterHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-dragenter`, handler); eventHandlers.set(`${ptr}-${handlerID}-dragenter`, handler);
@ -534,7 +534,7 @@ function addDragLeaveListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteDragLeaveHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteDragLeaveHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteDragLeaveHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey); ExecuteDragLeaveHandler(handlerID, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-dragleave`, handler); eventHandlers.set(`${ptr}-${handlerID}-dragleave`, handler);
@ -556,7 +556,7 @@ function addWheelListener(ptr, handlerID) {
const handler = function (event) { const handler = function (event) {
const { ExecuteWheelHandler } = window.crafter_webbuild_wasi.instance.exports; const { ExecuteWheelHandler } = window.crafter_webbuild_wasi.instance.exports;
ExecuteWheelHandler(handlerID, event.deltaX, event.deltaY, event.deltaZ, event.deltaMode, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey); ExecuteWheelHandler(handlerID, event.deltaX, event.deltaY, event.deltaZ, event.deltaMode, event.clientX, event.clientY, event.screenX, event.screenY, event.button, event.buttons, event.altKey, event.ctrlKey, event.shiftKey, event.metaKey);
}; };
eventHandlers.set(`${ptr}-${handlerID}-wheel`, handler); eventHandlers.set(`${ptr}-${handlerID}-wheel`, handler);

View file

@ -23,76 +23,76 @@ import std;
import :EventTypes; import :EventTypes;
export namespace Crafter::CppDOMBindings { export namespace Crafter::CppDOMBindings {
int clickHandlerMaxId = 0; std::int32_t clickHandlerMaxId = 0;
std::unordered_map<int, std::function<void(void)>>* clickHandlers = new std::unordered_map<int, std::function<void(void)>>(); std::unordered_map<int, std::function<void(void)>>* clickHandlers = new std::unordered_map<int, std::function<void(void)>>();
int mouseOverHandlerMaxId = 0; std::int32_t mouseOverHandlerMaxId = 0;
std::unordered_map<int, std::function<void(void)>>* mouseOverHandlers = new std::unordered_map<int, std::function<void(void)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* mouseOverHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
int mouseOutHandlerMaxId = 0; std::int32_t mouseOutHandlerMaxId = 0;
std::unordered_map<int, std::function<void(void)>>* mouseOutHandlers = new std::unordered_map<int, std::function<void(void)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* mouseOutHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
int mouseMoveHandlerMaxId = 0; std::int32_t mouseMoveHandlerMaxId = 0;
std::unordered_map<int, std::function<void(void)>>* mouseMoveHandlers = new std::unordered_map<int, std::function<void(void)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* mouseMoveHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
int mouseDownHandlerMaxId = 0; std::int32_t mouseDownHandlerMaxId = 0;
std::unordered_map<int, std::function<void(void)>>* mouseDownHandlers = new std::unordered_map<int, std::function<void(void)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* mouseDownHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
int mouseUpHandlerMaxId = 0; std::int32_t mouseUpHandlerMaxId = 0;
std::unordered_map<int, std::function<void(void)>>* mouseUpHandlers = new std::unordered_map<int, std::function<void(void)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* mouseUpHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
int focusHandlerMaxId = 0; std::int32_t focusHandlerMaxId = 0;
std::unordered_map<int, std::function<void(void)>>* focusHandlers = new std::unordered_map<int, std::function<void(void)>>(); std::unordered_map<int, std::function<void(void)>>* focusHandlers = new std::unordered_map<int, std::function<void(void)>>();
int blurHandlerMaxId = 0; std::int32_t blurHandlerMaxId = 0;
std::unordered_map<int, std::function<void(void)>>* blurHandlers = new std::unordered_map<int, std::function<void(void)>>(); std::unordered_map<int, std::function<void(void)>>* blurHandlers = new std::unordered_map<int, std::function<void(void)>>();
int keyDownHandlerMaxId = 0; std::int32_t keyDownHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>* keyDownHandlers = new std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>(); std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>* keyDownHandlers = new std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>();
int keyUpHandlerMaxId = 0; std::int32_t keyUpHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>* keyUpHandlers = new std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>(); std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>* keyUpHandlers = new std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>();
int keyPressHandlerMaxId = 0; std::int32_t keyPressHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>* keyPressHandlers = new std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>(); std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>* keyPressHandlers = new std::unordered_map<int, std::function<void(Crafter::KeyboardEvent)>>();
int changeHandlerMaxId = 0; std::int32_t changeHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::ChangeEvent)>>* changeHandlers = new std::unordered_map<int, std::function<void(Crafter::ChangeEvent)>>(); std::unordered_map<int, std::function<void(Crafter::ChangeEvent)>>* changeHandlers = new std::unordered_map<int, std::function<void(Crafter::ChangeEvent)>>();
int submitHandlerMaxId = 0; std::int32_t submitHandlerMaxId = 0;
std::unordered_map<int, std::function<void(void)>>* submitHandlers = new std::unordered_map<int, std::function<void(void)>>(); std::unordered_map<int, std::function<void(void)>>* submitHandlers = new std::unordered_map<int, std::function<void(void)>>();
int inputHandlerMaxId = 0; std::int32_t inputHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::InputEvent)>>* inputHandlers = new std::unordered_map<int, std::function<void(Crafter::InputEvent)>>(); std::unordered_map<int, std::function<void(Crafter::InputEvent)>>* inputHandlers = new std::unordered_map<int, std::function<void(Crafter::InputEvent)>>();
int resizeHandlerMaxId = 0; std::int32_t resizeHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::ResizeEvent)>>* resizeHandlers = new std::unordered_map<int, std::function<void(Crafter::ResizeEvent)>>(); std::unordered_map<int, std::function<void(Crafter::ResizeEvent)>>* resizeHandlers = new std::unordered_map<int, std::function<void(Crafter::ResizeEvent)>>();
int scrollHandlerMaxId = 0; std::int32_t scrollHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::ScrollEvent)>>* scrollHandlers = new std::unordered_map<int, std::function<void(Crafter::ScrollEvent)>>(); std::unordered_map<int, std::function<void(Crafter::ScrollEvent)>>* scrollHandlers = new std::unordered_map<int, std::function<void(Crafter::ScrollEvent)>>();
int contextMenuHandlerMaxId = 0; std::int32_t contextMenuHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* contextMenuHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* contextMenuHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
int dragStartHandlerMaxId = 0; std::int32_t dragStartHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dragStartHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dragStartHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
int dragEndHandlerMaxId = 0; std::int32_t dragEndHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dragEndHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dragEndHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
int dropHandlerMaxId = 0; std::int32_t dropHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dropHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dropHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
int wheelHandlerMaxId = 0; std::int32_t wheelHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::WheelEvent)>>* wheelHandlers = new std::unordered_map<int, std::function<void(Crafter::WheelEvent)>>(); std::unordered_map<int, std::function<void(Crafter::WheelEvent)>>* wheelHandlers = new std::unordered_map<int, std::function<void(Crafter::WheelEvent)>>();
int dragOverHandlerMaxId = 0; std::int32_t dragOverHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dragOverHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dragOverHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
int dragEnterHandlerMaxId = 0; std::int32_t dragEnterHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dragEnterHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dragEnterHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
int dragLeaveHandlerMaxId = 0; std::int32_t dragLeaveHandlerMaxId = 0;
std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dragLeaveHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>(); std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>* dragLeaveHandlers = new std::unordered_map<int, std::function<void(Crafter::MouseEvent)>>();
} }
@ -110,24 +110,24 @@ extern "C" {
Crafter::CppDOMBindings::clickHandlers->find(handlerID)->second(); Crafter::CppDOMBindings::clickHandlers->find(handlerID)->second();
} }
__attribute__((export_name("ExecuteMouseOverHandler"))) void ExecuteMouseOverHandler(std::int32_t handlerID) { __attribute__((export_name("ExecuteMouseOverHandler"))) void ExecuteMouseOverHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::mouseOverHandlers->find(handlerID)->second(); Crafter::CppDOMBindings::mouseOverHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
__attribute__((export_name("ExecuteMouseOutHandler"))) void ExecuteMouseOutHandler(std::int32_t handlerID) { __attribute__((export_name("ExecuteMouseOutHandler"))) void ExecuteMouseOutHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::mouseOutHandlers->find(handlerID)->second(); Crafter::CppDOMBindings::mouseOutHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
__attribute__((export_name("ExecuteMouseMoveHandler"))) void ExecuteMouseMoveHandler(std::int32_t handlerID) { __attribute__((export_name("ExecuteMouseMoveHandler"))) void ExecuteMouseMoveHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::mouseMoveHandlers->find(handlerID)->second(); Crafter::CppDOMBindings::mouseMoveHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
__attribute__((export_name("ExecuteMouseDownHandler"))) void ExecuteMouseDownHandler(std::int32_t handlerID) { __attribute__((export_name("ExecuteMouseDownHandler"))) void ExecuteMouseDownHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button,std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::mouseDownHandlers->find(handlerID)->second(); Crafter::CppDOMBindings::mouseDownHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
__attribute__((export_name("ExecuteMouseUpHandler"))) void ExecuteMouseUpHandler(std::int32_t handlerID) { __attribute__((export_name("ExecuteMouseUpHandler"))) void ExecuteMouseUpHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::mouseUpHandlers->find(handlerID)->second(); Crafter::CppDOMBindings::mouseUpHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
__attribute__((export_name("ExecuteFocusHandler"))) void ExecuteFocusHandler(std::int32_t handlerID) { __attribute__((export_name("ExecuteFocusHandler"))) void ExecuteFocusHandler(std::int32_t handlerID) {
@ -162,7 +162,7 @@ extern "C" {
Crafter::CppDOMBindings::inputHandlers->find(handlerID)->second(Crafter::InputEvent(data, isComposing)); Crafter::CppDOMBindings::inputHandlers->find(handlerID)->second(Crafter::InputEvent(data, isComposing));
} }
__attribute__((export_name("ExecuteResizeHandler"))) void ExecuteResizeHandler(std::int32_t handlerID, unsigned int width, unsigned int height) { __attribute__((export_name("ExecuteResizeHandler"))) void ExecuteResizeHandler(std::int32_t handlerID, std::int32_t width, std::int32_t height) {
Crafter::CppDOMBindings::resizeHandlers->find(handlerID)->second(Crafter::ResizeEvent(width, height)); Crafter::CppDOMBindings::resizeHandlers->find(handlerID)->second(Crafter::ResizeEvent(width, height));
} }
@ -170,35 +170,35 @@ extern "C" {
Crafter::CppDOMBindings::scrollHandlers->find(handlerID)->second(Crafter::ScrollEvent(scrollX, scrollY)); Crafter::CppDOMBindings::scrollHandlers->find(handlerID)->second(Crafter::ScrollEvent(scrollX, scrollY));
} }
__attribute__((export_name("ExecuteContextMenuHandler"))) void ExecuteContextMenuHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, int button, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) { __attribute__((export_name("ExecuteContextMenuHandler"))) void ExecuteContextMenuHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::contextMenuHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, 0, altKey, ctrlKey, shiftKey, metaKey)); Crafter::CppDOMBindings::contextMenuHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
__attribute__((export_name("ExecuteDragStartHandler"))) void ExecuteDragStartHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, int button, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) { __attribute__((export_name("ExecuteDragStartHandler"))) void ExecuteDragStartHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::dragStartHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, 0, altKey, ctrlKey, shiftKey, metaKey)); Crafter::CppDOMBindings::dragStartHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
__attribute__((export_name("ExecuteDragEndHandler"))) void ExecuteDragEndHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, int button, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) { __attribute__((export_name("ExecuteDragEndHandler"))) void ExecuteDragEndHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::dragEndHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, 0, altKey, ctrlKey, shiftKey, metaKey)); Crafter::CppDOMBindings::dragEndHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
__attribute__((export_name("ExecuteDropHandler"))) void ExecuteDropHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, int button, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) { __attribute__((export_name("ExecuteDropHandler"))) void ExecuteDropHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::dropHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, 0, altKey, ctrlKey, shiftKey, metaKey)); Crafter::CppDOMBindings::dropHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
__attribute__((export_name("ExecuteWheelHandler"))) void ExecuteWheelHandler(std::int32_t handlerID, double deltaX, double deltaY, double deltaZ, int deltaMode, double clientX, double clientY, double screenX, double screenY, int button, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) { __attribute__((export_name("ExecuteWheelHandler"))) void ExecuteWheelHandler(std::int32_t handlerID, double deltaX, double deltaY, double deltaZ, std::int32_t deltaMode, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::wheelHandlers->find(handlerID)->second(Crafter::WheelEvent(clientX, clientY, screenX, screenY, button, 0, altKey, ctrlKey, shiftKey, metaKey, deltaX, deltaY, deltaZ)); Crafter::CppDOMBindings::wheelHandlers->find(handlerID)->second(Crafter::WheelEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey, deltaX, deltaY, deltaZ));
} }
__attribute__((export_name("ExecuteDragOverHandler"))) void ExecuteDragOverHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, int button, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) { __attribute__((export_name("ExecuteDragOverHandler"))) void ExecuteDragOverHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::dragOverHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, 0, altKey, ctrlKey, shiftKey, metaKey)); Crafter::CppDOMBindings::dragOverHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
__attribute__((export_name("ExecuteDragEnterHandler"))) void ExecuteDragEnterHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, int button, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) { __attribute__((export_name("ExecuteDragEnterHandler"))) void ExecuteDragEnterHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::dragEnterHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, 0, altKey, ctrlKey, shiftKey, metaKey)); Crafter::CppDOMBindings::dragEnterHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
__attribute__((export_name("ExecuteDragLeaveHandler"))) void ExecuteDragLeaveHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, int button, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) { __attribute__((export_name("ExecuteDragLeaveHandler"))) void ExecuteDragLeaveHandler(std::int32_t handlerID, double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) {
Crafter::CppDOMBindings::dragLeaveHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, 0, altKey, ctrlKey, shiftKey, metaKey)); Crafter::CppDOMBindings::dragLeaveHandlers->find(handlerID)->second(Crafter::MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey));
} }
} }

View file

@ -44,7 +44,7 @@ export namespace Crafter {
bool ctrlKey; bool ctrlKey;
bool shiftKey; bool shiftKey;
bool metaKey; bool metaKey;
MouseEvent(double clientX, double clientY, double screenX, double screenY, std::uint_fast32_t button, std::uint_fast32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) : clientX(clientX), clientY(clientY), screenX(screenX), screenY(screenY), button(button), buttons(buttons), altKey(altKey), ctrlKey(ctrlKey), shiftKey(shiftKey), metaKey(metaKey) {} MouseEvent(double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey) : clientX(clientX), clientY(clientY), screenX(screenX), screenY(screenY), button(button), buttons(buttons), altKey(altKey), ctrlKey(ctrlKey), shiftKey(shiftKey), metaKey(metaKey) {}
}; };
struct InputEvent { struct InputEvent {
@ -57,7 +57,7 @@ export namespace Crafter {
double deltaX; double deltaX;
double deltaY; double deltaY;
double deltaZ; double deltaZ;
WheelEvent(double clientX, double clientY, double screenX, double screenY, std::uint_fast32_t button, std::uint_fast32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey, double deltaX, double deltaY, double deltaZ): MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey), deltaX(deltaX), deltaY(deltaY), deltaZ(deltaZ) {} WheelEvent(double clientX, double clientY, double screenX, double screenY, std::int32_t button, std::int32_t buttons, bool altKey, bool ctrlKey, bool shiftKey, bool metaKey, double deltaX, double deltaY, double deltaZ): MouseEvent(clientX, clientY, screenX, screenY, button, buttons, altKey, ctrlKey, shiftKey, metaKey), deltaX(deltaX), deltaY(deltaY), deltaZ(deltaZ) {}
}; };
struct ResizeEvent { struct ResizeEvent {

View file

@ -77,7 +77,7 @@ namespace Crafter {
CppDOMBindings::RemoveClickListener(ptr, id); CppDOMBindings::RemoveClickListener(ptr, id);
} }
std::int32_t AddMouseOverListener(std::function<void(void)> callback) { std::int32_t AddMouseOverListener(std::function<void(Crafter::MouseEvent)> callback) {
std::int32_t id = CppDOMBindings::mouseOverHandlerMaxId++; std::int32_t id = CppDOMBindings::mouseOverHandlerMaxId++;
mouseOverHandlers.push_back(id); mouseOverHandlers.push_back(id);
CppDOMBindings::mouseOverHandlers->insert({id, callback}); CppDOMBindings::mouseOverHandlers->insert({id, callback});
@ -91,7 +91,7 @@ namespace Crafter {
CppDOMBindings::RemoveMouseOverListener(ptr, id); CppDOMBindings::RemoveMouseOverListener(ptr, id);
} }
std::int32_t AddMouseOutListener(std::function<void(void)> callback) { std::int32_t AddMouseOutListener(std::function<void(Crafter::MouseEvent)> callback) {
std::int32_t id = CppDOMBindings::mouseOutHandlerMaxId++; std::int32_t id = CppDOMBindings::mouseOutHandlerMaxId++;
mouseOutHandlers.push_back(id); mouseOutHandlers.push_back(id);
CppDOMBindings::mouseOutHandlers->insert({id, callback}); CppDOMBindings::mouseOutHandlers->insert({id, callback});
@ -105,7 +105,7 @@ namespace Crafter {
CppDOMBindings::RemoveMouseOutListener(ptr, id); CppDOMBindings::RemoveMouseOutListener(ptr, id);
} }
std::int32_t AddMouseMoveListener(std::function<void(void)> callback) { std::int32_t AddMouseMoveListener(std::function<void(Crafter::MouseEvent)> callback) {
std::int32_t id = CppDOMBindings::mouseMoveHandlerMaxId++; std::int32_t id = CppDOMBindings::mouseMoveHandlerMaxId++;
mouseMoveHandlers.push_back(id); mouseMoveHandlers.push_back(id);
CppDOMBindings::mouseMoveHandlers->insert({id, callback}); CppDOMBindings::mouseMoveHandlers->insert({id, callback});
@ -119,7 +119,7 @@ namespace Crafter {
CppDOMBindings::RemoveMouseMoveListener(ptr, id); CppDOMBindings::RemoveMouseMoveListener(ptr, id);
} }
std::int32_t AddMouseDownListener(std::function<void(void)> callback) { std::int32_t AddMouseDownListener(std::function<void(Crafter::MouseEvent)> callback) {
std::int32_t id = CppDOMBindings::mouseDownHandlerMaxId++; std::int32_t id = CppDOMBindings::mouseDownHandlerMaxId++;
mouseDownHandlers.push_back(id); mouseDownHandlers.push_back(id);
CppDOMBindings::mouseDownHandlers->insert({id, callback}); CppDOMBindings::mouseDownHandlers->insert({id, callback});
@ -133,7 +133,7 @@ namespace Crafter {
CppDOMBindings::RemoveMouseDownListener(ptr, id); CppDOMBindings::RemoveMouseDownListener(ptr, id);
} }
std::int32_t AddMouseUpListener(std::function<void(void)> callback) { std::int32_t AddMouseUpListener(std::function<void(Crafter::MouseEvent)> callback) {
std::int32_t id = CppDOMBindings::mouseUpHandlerMaxId++; std::int32_t id = CppDOMBindings::mouseUpHandlerMaxId++;
mouseUpHandlers.push_back(id); mouseUpHandlers.push_back(id);
CppDOMBindings::mouseUpHandlers->insert({id, callback}); CppDOMBindings::mouseUpHandlers->insert({id, callback});