import {MouseButtonEnum} from '../MouseButtonEnum'; import {Event} from './Event'; //========================================================== // 按键按下事件信息类。 // // @struct // @author maocy // @version 150113 //========================================================== export class MouseEvent extends Event { public sourceElement; public targetElement; public button; public mouseLeft; public mouseMiddle; public mouseRight; public altKey; public ctrlKey; public x = 0; public y = 0; public offsetX = 0; public offsetY = 0; public clientX = 0; public clientY = 0; public deltaX = 0; public deltaY = 0; public deltaZ = 0; //========================================================== // 接收事件信息。 // // @method // @param event:HtmlEvent 页面事件 //========================================================== public attachEvent(hEvent) { if (!hEvent) { hEvent = window.event; } this.sourceElement = hEvent.srcElement; this.targetElement = hEvent.currentTarget; //var hEvent = this.hSource = RHtml.eventSource(hEvent); //if (hEvent) { //this.source = hEvent.__linker; //} this.button = hEvent.button; this.mouseLeft = (hEvent.button == MouseButtonEnum.Left); this.mouseMiddle = (hEvent.button == MouseButtonEnum.Middle); this.mouseRight = (hEvent.button == MouseButtonEnum.Right); this.altKey = hEvent.altKey; this.ctrlKey = hEvent.ctrlKey; //if (MO.RBrowser.isBrowser(MO.EBrowser.FireFox)) { // this.x = hEvent.pageX; // this.y = hEvent.pageY; // this.offsetX = hEvent.layerX; // this.offsetY = hEvent.layerY; //} else { this.x = hEvent.x; this.y = hEvent.y; this.offsetX = hEvent.offsetX; this.offsetY = hEvent.offsetY; //} this.clientX = hEvent.clientX; this.clientY = hEvent.clientY; this.deltaX = hEvent.deltaX; this.deltaY = hEvent.deltaY; this.deltaZ = hEvent.deltaZ; } }