| 21 | // pos : マウスアクションが発生した座標,型は二次元リスト |
| 22 | // return : このあとのイベントの発行を阻害したければfalseを返す |
| 23 | constructor(domElement, listener) { |
| 24 | let element = (domElement !== undefined) ? domElement : document; |
| 25 | //各種マウスのアクションを監視し,mouse関数に投げる |
| 26 | element.addEventListener('mousedown', function (e) { |
| 27 | mouseHandler.mouse(e, 0); |
| 28 | }, false); |
| 29 | element.addEventListener('mousemove', function (e) { |
| 30 | mouseHandler.mouse(e, 1); |
| 31 | }, false); |
| 32 | element.addEventListener('mouseup', function (e) { |
| 33 | mouseHandler.mouse(e, 2); |
| 34 | }, false); |
| 35 | element.addEventListener('mouseout', function (e) { |
| 36 | mouseHandler.mouse(e, 3); |
| 37 | }, false); |
| 38 | |
| 39 | element.addEventListener('contextmenu', function (e) { |
| 40 | e.preventDefault(); |
| 41 | }, false); |
| 42 | |
| 43 | this.listener = listener; |
| 44 | |
| 45 | //ボタンは押下時のみ判別可能なので,値を保持しておく必要あり |
| 46 | this.btn = 0; |
| 47 | //ボタン押下前のマウスホバーまたは,ボタン押下後マウスが範囲外に出て再び入ったあとのボタン開放 |
| 48 | //を検知しないようにするフラグ |
| 49 | this.pushing = false; |
| 50 | this.prevPos = [0, 0]; |
| 51 | } |
| 52 | |
| 53 | |
| 54 | //何らかのマウスアクションを検出 |