/** @language japanese
* <p>LEvent クラスは、Event オブジェクトを作成するための基本クラスとして使用されます。これらの Event オブジェクトは、イベントの発生時にイベントリスナーにパラメーターとして渡されます。</p>
* @class LEvent
* @constructor
* @since 1.9.0
* @public
*/
function LEvent(type){
this.eventType = type;
this._ll_preventDefault = false;
}
LEvent.prototype.preventDefault = function () {
this._ll_preventDefault = true;
};
/** @language japanese
* <p>[静的] もしライブラリの初期化はwindow.onloadが終わった後実施したら、このパラメータが必要になります。</p>
* @property INIT
* @type String
* @static
* @since 1.0.0
* @example
* <!DOCTYPE html>
* <html>
* <head>
* <meta charset="UTF-8">
* <script type="text/javascript" src="../lufylegend-x.x.x.min.js"></script>
* <title>demo</title>
* </head>
* <body>
* <div id="mylegend">loading……</div>
* <script>
* window.onload = function () {
* LInit(50, "mylegend", 800, 480, main, LEvent.INIT);
* };
* function main(){
* alert("Hello lufylegend!");
* }
* </script>
* </body>
* </html>
* @public
*/
LEvent.INIT = "init";
/** @language japanese
* <p>[静的] type プロパティ(mouseDown イベントオブジェクト)の値を定義します。</p>
* <p>このイベントには、次のオブジェクトに使えます。</p>
* <table>
* <tr><th>オブジェクト</th><th>説明</th></tr>
* <tr><td>LLoader</td><td>画像ロード完了。</td></tr>
* <tr><td>LURLLoader</td><td>jsファイルまたはテキストファイルロード完了。</td></tr>
* <tr><td>LMedia</td><td>audioまたはvideoファイルロード完了。</td></tr>
* <tr><td>LAnimation</td><td>アニメーションは最後のフレームを実行する時。</td></tr>
* <tr><td>LStageWebView</td><td>webページロード完了。</td></tr>
* </table>
* @property COMPLETE
* @type String
* @static
* @since 1.0.0
* @public
*/
LEvent.COMPLETE = "complete";
/** @language japanese
* <p>[ブロードキャストイベント] 再生ヘッドが新しいフレームに入るときに送出されます。再生ヘッドが移動しない場合、またはフレームが 1 つしか存在しない場合、このイベントはフレームレートに合わせて継続的に送出されます。このイベントはブロードキャストイベントであるため、このイベントに登録されているリスナーを持つすべての表示イベントによって送出されます。</p>
* <p>LEvent.ENTER_FRAME 定数は、type プロパティ(enterFrame イベントオブジェクト)の値を定義します。</p>
* <p>このイベントには、次のプロパティがあります。</p>
* <table>
* <tr><th>属性</th><th>值</th></tr>
* <tr><td>currentTarget</td><td>イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。</td></tr>
* <tr><td>target</td><td>このイベントにcurrentTargetと同じです.</td></tr>
* </table>
* @property ENTER_FRAME
* @type String
* @static
* @since 1.0.0
* @example
* LInit(1000/60, "legend", 800, 480, main);
* var direction = 1;
* function main () {
* var layer = new LSprite();
* addChild(layer);
* layer.graphics.drawRect(1, "#ff0000", [0, 0, 100, 100], true, "#880088");
* layer.addEventListener(LEvent.ENTER_FRAME,onframe);
* }
* function onframe(event){
* var layer = event.currentTarget;
* layer.x += direction;
* if(layer.x < 0){
* direction = 1;
* }
* if(layer.x > 700){
* direction = -1;
* }
* }
* @examplelink <p><a href="../../../api/LEvent/ENTER_FRAME.html" target="_blank">実際のサンプルを見る</a></p>
* @public
*/
LEvent.ENTER_FRAME = "enter_frame";
/** @language japanese
* <p>window のリサイズイベントに対応するイベントハンドラ。</p>
* @property WINDOW_RESIZE
* @type String
* @static
* @since 1.9.0
* @example
* LInit(1000/60, "legend", window.innerWidth,window.innerHeight, main);
* var layer;
* function main () {
* layer = new LSprite();
* addChild(layer);
* update();
* LGlobal.stage.addEventListener(LEvent.WINDOW_RESIZE,update);
* }
* function update(){
* LGlobal.resize(window.innerWidth,window.innerHeight);
* layer.graphics.clear();
* layer.graphics.drawRect(1, "#ff0000", [0, 0, 50, 50], true, "#880088");
* layer.graphics.drawRect(1, "#ff0000", [LGlobal.width - 50, 0, 50, 50], true, "#880088");
* layer.graphics.drawRect(1, "#ff0000", [0, LGlobal.height - 50, 50, 50], true, "#880088");
* layer.graphics.drawRect(1, "#ff0000", [LGlobal.width - 50, LGlobal.height - 50, 50, 50], true, "#880088");
* }
* @examplelink <p><a href="../../../api/LEvent/WINDOW_RESIZE.html" target="_blank">実際のサンプルを見る</a></p>
* @public
*/
LEvent.WINDOW_RESIZE = "resize";
LEvent.SOUND_COMPLETE = "sound_complete";
LEvent.END_CONTACT = "endContact";
LEvent.PRE_SOLVE = "preSolve";
LEvent.POST_SOLVE = "postSolve";
LEvent.BEGIN_CONTACT = "beginContact";
LEvent.addEventListener = function (n, t, f, b) {
if (b == null) {
b = false;
}
if (n.addEventListener) {
n.addEventListener(t, f, b);
} else if (n.attachEvent) {
n["e" + t + f] = f;
n[t + f] = function () {
n["e" + t + f]();
};
n.attachEvent("on" + t, n[t + f]);
}
};
LEvent.removeEventListener = function (n, t, f, b) {
if (b == null) {
b = false;
}
if (n.removeEventListener) {
n.removeEventListener(t, f, b);
} else if (n.detachEvent) {
n["e" + t + f] = f;
n[t + f] = function () {
n["e" + t + f]();
};
n.detachEvent("on" + t, n[t + f]);
}
};