File: events/LMouseEvent.js
/** @language japanese
* <p>LMouseEvent オブジェクトは、マウスイベントが発生するたびにイベントフローに送出されます。 通常、マウスイベントは、マウスやトラックボールなど、ポインターを使用したユーザー入力デバイスによって生成されます。</p>
* <p>モバイルブラウザの場合、MOUSE_DOWN,MOUSE_UP,MOUSE_MOVEは自動的にTOUCH_DOWN,TOUCH_UP,TOUCH_MOVEに変更することができます、開発者は特別な処理などをやらなくてもいいです。</p>
* @class LMouseEvent
* @constructor
* @since 1.0.0
* @example
* LInit(50, "legend", 800, 480, main);
* function main () {
* LGlobal.setDebug(true);
* var layer01 = new LSprite();
* layer01.x = 50;
* layer01.y = 20;
* addChild(layer01);
* var bmd = new LBitmapData("#FF0000", 0, 0, 100, 100);
* var bm = new LBitmap(bmd);
* layer01.addChild(bm);
* layer01.addEventListener(LMouseEvent.MOUSE_DOWN, onmouse);
* layer01.addEventListener(LMouseEvent.MOUSE_DOWN, onmouseOther);
*
* var layer02 = new LSprite();
* layer02.graphics.drawRect(1,"#008800",[0,0,100,100],true);
* layer02.x = 200;
* layer02.y = 20;
* addChild(layer02);
* layer02.addEventListener(LMouseEvent.MOUSE_DOWN, onmouse);
* layer02.addEventListener(LMouseEvent.MOUSE_DOWN, onmouseOther);
* }
* function onmouse(event){
* trace("event.currentTarget : " + event.currentTarget + "(" + event.currentTarget.objectIndex + ")");
* trace("event.target : " + event.target + "(" + event.target.objectIndex + ")");
* trace("event.clickTarget == event.currentTarget : " + (event.clickTarget == event.currentTarget));
* trace("event.offsetX : " + event.offsetX, "event.offsetY : " + event.offsetY);
* trace("event.selfX : " + event.selfX, "event.selfY : " + event.selfY, "");
* }
* function onmouseOther(event,object){
* trace("onmouseOther event.currentTarget : " + event.currentTarget + "(" + event.currentTarget.objectIndex + ")");
* trace("onmouseOther object : " + object + "(" + object.objectIndex + ")");
* trace("onmouseOther object == event.currentTarget : " + (object == event.currentTarget), "");
* }
* @examplelink <p><a href="../../../api/LMouseEvent/index.html" target="_blank">実際のサンプルを見る</a></p>
* @public
*/
var LMouseEvent = function (){throw "LMouseEvent cannot be instantiated";};
/** @language japanese
* <p>[静的] type プロパティ(mouseDown イベントオブジェクト)の値を定義します。</p>
* <p>このイベントには、次のプロパティがあります。</p>
* <table>
* <tr><th>属性</th><th>值</th></tr>
* <tr><td>currentTarget</td><td>イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。clickTarget と同等。</td></tr>
* <tr><td>target</td><td>ポインティングデバイスの下にある LInteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。</td></tr>
* <tr><td>offsetX</td><td>グローバルステージ座標を基準とするイベント発生位置の水平座標です。</td></tr>
* <tr><td>offsetY</td><td>グローバルステージ座標を基準とするイベント発生位置の垂直座標です。</td></tr>
* <tr><td>selfX</td><td>現在イベントを処理している表示リスト内のオブジェクト座標を基準とするイベント発生位置の水平座標です。</td></tr>
* <tr><td>selfY</td><td>現在イベントを処理している表示リスト内のオブジェクト座標を基準とするイベント発生位置の垂直座標です。</td></tr>
* <tr><td>button</td><td>マウスの動作。左クリック:1,右クリック:2。</td></tr>
* </table>
* @property MOUSE_DOWN
* @type String
* @static
* @since 1.0.0
* @public
*/
LMouseEvent.MOUSE_DOWN = "mousedown";
/** @language japanese
* <p>[静的] type プロパティ(mouseUp イベントオブジェクト)の値を定義します。</p>
* <p>このイベントには、次のプロパティがあります。</p>
* <table>
* <tr><th>属性</th><th>值</th></tr>
* <tr><td>currentTarget</td><td>イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。clickTarget と同等。</td></tr>
* <tr><td>target</td><td>ポインティングデバイスの下にある LInteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。</td></tr>
* <tr><td>offsetX</td><td>グローバルステージ座標を基準とするイベント発生位置の水平座標です。</td></tr>
* <tr><td>offsetY</td><td>グローバルステージ座標を基準とするイベント発生位置の垂直座標です。</td></tr>
* <tr><td>selfX</td><td>現在イベントを処理している表示リスト内のオブジェクト座標を基準とするイベント発生位置の水平座標です。</td></tr>
* <tr><td>selfY</td><td>現在イベントを処理している表示リスト内のオブジェクト座標を基準とするイベント発生位置の垂直座標です。</td></tr>
* <tr><td>button</td><td>マウスの動作。左クリック:1,右クリック:2。</td></tr>
* </table>
* @property MOUSE_UP
* @type String
* @static
* @since 1.0.0
* @public
*/
LMouseEvent.MOUSE_UP = "mouseup";
LMouseEvent.TOUCH_START = "touchstart";
LMouseEvent.TOUCH_MOVE = "touchmove";
LMouseEvent.TOUCH_END = "touchend";
/** @language japanese
* <p>[静的] type プロパティ(mouseMove イベントオブジェクト)の値を定義します。</p>
* <p>このイベントには、次のプロパティがあります。</p>
* <table>
* <tr><th>属性</th><th>值</th></tr>
* <tr><td>currentTarget</td><td>イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。clickTarget と同等。</td></tr>
* <tr><td>target</td><td>ポインティングデバイスの下にある LInteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。</td></tr>
* <tr><td>offsetX</td><td>グローバルステージ座標を基準とするイベント発生位置の水平座標です。</td></tr>
* <tr><td>offsetY</td><td>グローバルステージ座標を基準とするイベント発生位置の垂直座標です。</td></tr>
* <tr><td>selfX</td><td>現在イベントを処理している表示リスト内のオブジェクト座標を基準とするイベント発生位置の水平座標です。</td></tr>
* <tr><td>selfY</td><td>現在イベントを処理している表示リスト内のオブジェクト座標を基準とするイベント発生位置の垂直座標です。</td></tr>
* </table>
* @property MOUSE_MOVE
* @type String
* @static
* @since 1.0.0
* @public
*/
LMouseEvent.MOUSE_MOVE = "mousemove";
/** @language japanese
* <p>[静的] type プロパティ(mouseOver イベントオブジェクト)の値を定義します。</p>
* <p>このイベントには、次のプロパティがあります。</p>
* <table>
* <tr><th>属性</th><th>值</th></tr>
* <tr><td>currentTarget</td><td>イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。clickTarget と同等。</td></tr>
* <tr><td>target</td><td>ポインティングデバイスの下にある LInteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。</td></tr>
* <tr><td>offsetX</td><td>グローバルステージ座標を基準とするイベント発生位置の水平座標です。</td></tr>
* <tr><td>offsetY</td><td>グローバルステージ座標を基準とするイベント発生位置の垂直座標です。</td></tr>
* <tr><td>selfX</td><td>現在イベントを処理している表示リスト内のオブジェクト座標を基準とするイベント発生位置の水平座標です。</td></tr>
* <tr><td>selfY</td><td>現在イベントを処理している表示リスト内のオブジェクト座標を基準とするイベント発生位置の垂直座標です。</td></tr>
* </table>
* @property MOUSE_OVER
* @type String
* @static
* @since 1.0.0
* @public
*/
LMouseEvent.MOUSE_OVER = "mouseover";
/** @language japanese
* <p>[静的] type プロパティ(mouseOut イベントオブジェクト)の値を定義します。</p>
* <p>このイベントには、次のプロパティがあります。</p>
* <table>
* <tr><th>属性</th><th>值</th></tr>
* <tr><td>currentTarget</td><td>イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。clickTarget と同等。</td></tr>
* <tr><td>target</td><td>ポインティングデバイスの下にある LInteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。</td></tr>
* </table>
* @property MOUSE_OUT
* @type String
* @static
* @since 1.0.0
* @public
*/
LMouseEvent.MOUSE_OUT = "mouseout";
/** @language japanese
* <p>[静的] type プロパティ(doubleClick イベントオブジェクト)の値を定義します。</p>
* <p>このイベントには、次のプロパティがあります。</p>
* <table>
* <tr><th>属性</th><th>值</th></tr>
* <tr><td>currentTarget</td><td>イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。clickTarget と同等。</td></tr>
* <tr><td>target</td><td>ポインティングデバイスの下にある LInteractiveObject インスタンスです。target は、必ずしもイベントリスナーを登録した表示リスト内のオブジェクトとは限りません。現在イベントを処理している表示リスト内のオブジェクトにアクセスするには、currentTarget プロパティを使用します。</td></tr>
* <tr><td>offsetX</td><td>グローバルステージ座標を基準とするイベント発生位置の水平座標です。</td></tr>
* <tr><td>offsetY</td><td>グローバルステージ座標を基準とするイベント発生位置の垂直座標です。</td></tr>
* <tr><td>selfX</td><td>現在イベントを処理している表示リスト内のオブジェクト座標を基準とするイベント発生位置の水平座標です。</td></tr>
* <tr><td>selfY</td><td>現在イベントを処理している表示リスト内のオブジェクト座標を基準とするイベント発生位置の垂直座標です。</td></tr>
* <tr><td>button</td><td>マウスの動作。左クリック:1,右クリック:2。</td></tr>
* </table>
* @property DOUBLE_CLICK
* @type String
* @static
* @since 1.0.0
* @public
*/
LMouseEvent.DOUBLE_CLICK = "dblclick";