import Crafter.CppDOM; using namespace Crafter; import std; HtmlElementPtr body("body", "
Click: X={}, Y={}
", event.clientX, event.clientY)); }); mouseButton.AddMouseOverListener([&](MouseEvent event) { mouseOutput.SetInnerHTML(std::format("Mouse Over: X={}, Y={}
", event.clientX, event.clientY)); }); mouseButton.AddMouseOutListener([&](MouseEvent event) { mouseOutput.SetInnerHTML(std::format("Mouse Out: X={}, Y={}
", event.clientX, event.clientY)); }); mouseButton.AddMouseMoveListener([&](MouseEvent event) { mouseOutput.SetInnerHTML(std::format("Mouse Move: X={}, Y={}
", event.clientX, event.clientY)); }); mouseButton.AddMouseDownListener([&](MouseEvent event) { mouseOutput.SetInnerHTML(std::format("Mouse Down: Button={}, X={}, Y={}
", event.button, event.clientX, event.clientY)); }); mouseButton.AddMouseUpListener([&](MouseEvent event) { mouseOutput.SetInnerHTML(std::format("Mouse Up: Button={}, X={}, Y={}
", event.button, event.clientX, event.clientY)); }); keyInput.AddKeyDownListener([&](KeyboardEvent event) { std::string keyInfo = std::format("Key Down: Key='{}', Code={}, Ctrl={}, Shift={}, Alt={}
", event.key, event.keyCode, event.ctrlKey, event.shiftKey, event.altKey); keyOutput.SetInnerHTML(keyInfo); }); keyInput.AddKeyUpListener([&](KeyboardEvent event) { std::string keyInfo = std::format("Key Up: Key='{}', Code={}, Ctrl={}, Shift={}, Alt={}
", event.key, event.keyCode, event.ctrlKey, event.shiftKey, event.altKey); keyOutput.SetInnerHTML(keyInfo); }); keyInput.AddKeyPressListener([&](KeyboardEvent event) { std::string keyInfo = std::format("Key Press: Key='{}', Code={}, Ctrl={}, Shift={}, Alt={}
", event.key, event.keyCode, event.ctrlKey, event.shiftKey, event.altKey); keyOutput.SetInnerHTML(keyInfo); }); // Focus Events focusInput.AddFocusListener([&](FocusEvent event) { focusOutput.SetInnerHTML("Focus: Element gained focus
"); }); focusInput.AddBlurListener([&](FocusEvent event) { focusOutput.SetInnerHTML("Blur: Element lost focus
"); }); // Form Events formInput.AddInputListener([&](InputEvent event) { formOutput.SetInnerHTML(std::format("Input: Value='{}'
", event.data)); }); formInput.AddChangeListener([&](ChangeEvent event) { formOutput.SetInnerHTML(std::format("Change: Value='{}'
", event.value)); }); formSelect.AddChangeListener([&](ChangeEvent event) { formOutput.SetInnerHTML(std::format("Select Change: Value='{}'
", event.value)); }); formElement.AddSubmitListener([&]() { formOutput.SetInnerHTML("Submit: Form submitted successfully!
"); }); body.AddResizeListener([&](ResizeEvent event) { windowOutput.SetInnerHTML(std::format("Resize: Width={}, Height={}
", event.width, event.height)); }); body.AddScrollListener([&](ScrollEvent event) { windowOutput.SetInnerHTML(std::format("Scroll: X={}, Y={}
", event.scrollX, event.scrollY)); }); body.AddContextMenuListener([&](MouseEvent event) { windowOutput.SetInnerHTML(std::format("Context Menu: X={}, Y={}
", event.clientX, event.clientY)); }); dragSource.AddDragStartListener([&](MouseEvent event) { dragOutput.SetInnerHTML("Drag Start: Dragging started
"); }); dragSource.AddDragEndListener([&](MouseEvent event) { dragOutput.SetInnerHTML("Drag End: Dragging ended
"); }); dropTarget.AddDragOverListener([&](MouseEvent event) { dragOutput.SetInnerHTML("Drag Over: Dragging over drop target
"); }); dropTarget.AddDragEnterListener([&](MouseEvent event) { dragOutput.SetInnerHTML("Drag Enter: Drag entered drop target
"); }); dropTarget.AddDragLeaveListener([&](MouseEvent event) { dragOutput.SetInnerHTML("Drag Leave: Drag left drop target
"); }); dropTarget.AddDropListener([&](MouseEvent event) { dragOutput.SetInnerHTML("Drop: Item dropped
"); }); wheelContainer.AddWheelListener([&](WheelEvent event) { wheelOutput.SetInnerHTML(std::format("Wheel: DeltaX={}, DeltaY={}, DeltaZ={}
", event.deltaX, event.deltaY, event.deltaZ)); }); }