import Crafter.CppDOM; using namespace Crafter; import std; HtmlElement* body = new HtmlElement("body", "
Simple click event triggered!
"); }); // Mouse events with position data // mouseButton->AddMouseMoveListener([&](MouseEvent event) { // output->SetInnerHTML("Mouse moved to: (" + std::to_string(event.clientX) + ", " + std::to_string(event.clientY) + ")
"); // }); // Keyboard events with rich data keyInput->AddKeyDownListener([&](KeyboardEvent event) { std::string keyInfo = std::format("Key pressed: {}
", event.key); if (event.ctrlKey) keyInfo += "Ctrl key pressed
"; if (event.shiftKey) keyInfo += "Shift key pressed
"; if (event.altKey) keyInfo += "Alt key pressed
"; output->SetInnerHTML(keyInfo); }); // // Input event with data // keyInput->AddInputListener([&](InputEvent event) { // output->SetInnerHTML(std::format("Input data: {} (composing: {})
", event.data, event.isComposing)); // }); // Change event with value changeInput->AddChangeListener([&](ChangeEvent event) { output->SetInnerHTML("Input value changed to: '" + event.value + "'
"); }); // Context menu with position mouseButton->AddContextMenuListener([&](MouseEvent event) { output->SetInnerHTML("Context menu at: (" + std::to_string(event.clientX) + ", " + std::to_string(event.clientY) + ")
"); }); // Resize event body->AddResizeListener([&](ResizeEvent event) { output->SetInnerHTML("Window resized to: " + std::to_string(event.width) + "x" + std::to_string(event.height) + "
"); }); // Scroll event body->AddScrollListener([&](ScrollEvent event) { output->SetInnerHTML("Scrolled to: (" + std::to_string(event.scrollX) + ", " + std::to_string(event.scrollY) + ")
"); }); }