MouseEvent
Represents the event args for a mouse event.
using AngleSharp.Attributes;
using AngleSharp.Extensions;
using System;
using System.Collections.Generic;
namespace AngleSharp.Dom.Events
{
[DomName("MouseEvent")]
public class MouseEvent : UiEvent
{
[DomName("screenX")]
public int ScreenX { get; set; }
[DomName("screenY")]
public int ScreenY { get; set; }
[DomName("clientX")]
public int ClientX { get; set; }
[DomName("clientY")]
public int ClientY { get; set; }
[DomName("ctrlKey")]
public bool IsCtrlPressed { get; set; }
[DomName("shiftKey")]
public bool IsShiftPressed { get; set; }
[DomName("altKey")]
public bool IsAltPressed { get; set; }
[DomName("metaKey")]
public bool IsMetaPressed { get; set; }
[DomName("button")]
public MouseButton Button { get; set; }
[DomName("buttons")]
public MouseButtons Buttons { get; set; }
[DomName("relatedTarget")]
public IEventTarget Target { get; set; }
public MouseEvent()
{
}
public MouseEvent(string type, bool bubbles, bool cancelable, IWindow view, int detail, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, MouseButton button, IEventTarget target)
{
Init(type, bubbles, cancelable, view, detail, screenX, screenY, clientX, clientY, ctrlKey, altKey, shiftKey, metaKey, button, target);
}
[DomConstructor]
public MouseEvent(string type, IDictionary<string, object> eventInitDict = null)
: base(type, eventInitDict)
{
ScreenX = (eventInitDict.TryGet<int>("screenX") ?? 0);
ScreenY = (eventInitDict.TryGet<int>("screenY") ?? 0);
ClientX = (eventInitDict.TryGet<int>("clientX") ?? 0);
ClientY = (eventInitDict.TryGet<int>("clientY") ?? 0);
IsCtrlPressed = (eventInitDict.TryGet<bool>("ctrlKey") ?? false);
IsMetaPressed = (eventInitDict.TryGet<bool>("metaKey") ?? false);
IsShiftPressed = (eventInitDict.TryGet<bool>("shiftKey") ?? false);
IsAltPressed = (eventInitDict.TryGet<bool>("altKey") ?? false);
Button = (MouseButton)(eventInitDict.TryGet<int>("button") ?? 0);
Target = (eventInitDict.TryGet("relatedTarget") as IEventTarget);
}
[DomName("getModifierState")]
public bool GetModifierState(string key)
{
throw new NotImplementedException();
}
[DomName("initMouseEvent")]
public void Init(string type, bool bubbles, bool cancelable, IWindow view, int detail, int screenX, int screenY, int clientX, int clientY, bool ctrlKey, bool altKey, bool shiftKey, bool metaKey, MouseButton button, IEventTarget target)
{
Init(type, bubbles, cancelable, view, detail);
ScreenX = screenX;
ScreenY = screenY;
ClientX = clientX;
ClientY = clientY;
IsCtrlPressed = ctrlKey;
IsMetaPressed = metaKey;
IsShiftPressed = shiftKey;
IsAltPressed = altKey;
Button = button;
Target = target;
}
}
}