private void SetPseudoProperties() { if (_type.GetTypeInfo().ImplementedInterfaces.Contains(typeof(IElement))) { var focusInEventInstance = new DomEventInstance(_engine); var focusOutEventInstance = new DomEventInstance(_engine); var unloadEventInstance = new DomEventInstance(_engine); var contextMenuEventInstance = new DomEventInstance(_engine); FastSetProperty("scrollLeft", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("scrollTop", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("scrollWidth", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("scrollHeight", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("clientLeft", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("clientTop", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("clientWidth", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("clientHeight", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("offsetLeft", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("offsetTop", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("offsetWidth", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("offsetHeight", new PropertyDescriptor(new JsValue(0.0), false, false, false)); FastSetProperty("focusin", new PropertyDescriptor(focusInEventInstance.Getter, focusInEventInstance.Setter, false, false)); FastSetProperty("focusout", new PropertyDescriptor(focusOutEventInstance.Getter, focusOutEventInstance.Setter, false, false)); FastSetProperty("unload", new PropertyDescriptor(unloadEventInstance.Getter, unloadEventInstance.Setter, false, false)); FastSetProperty("contextmenu", new PropertyDescriptor(contextMenuEventInstance.Getter, contextMenuEventInstance.Setter, false, false)); } }
private void SetEvents(IEnumerable <EventInfo> eventInfos) { foreach (var eventInfo in eventInfos) { var names = eventInfo.GetCustomAttributes <DomNameAttribute>(); foreach (var name in names.Select(m => m.OfficialName)) { var eventInstance = new DomEventInstance(_engine, eventInfo); FastSetProperty(name, new PropertyDescriptor(eventInstance.Getter, eventInstance.Setter, false, false)); } } }
void SetEvents(EventInfo[] eventInfos) { foreach (var eventInfo in eventInfos) { var names = eventInfo.GetCustomAttributes<DomNameAttribute>(); foreach (var name in names.Select(m => m.OfficialName)) { var eventInstance = new DomEventInstance(this, eventInfo); FastSetProperty(name, new PropertyDescriptor(eventInstance.Getter, eventInstance.Setter, false, false)); } } }