UNPKG

openfl

Version:

A fast, productive library for 2D cross-platform development.

150 lines (133 loc) 5.21 kB
// Class: openfl.display.DefaultPreloader var $global = typeof window != "undefined" ? window : typeof global != "undefined" ? global : typeof self != "undefined" ? self : this $global.Object.defineProperty(exports, "__esModule", {value: true}); var __map_reserved = {}; // Imports var $hxClasses = require("./../../hxClasses_stub").default; var $hxEnums = require("./../../hxEnums_stub").default; var $import = require("./../../import_stub").default; var $bind = require("./../../bind_stub").default; var $extend = require("./../../extend_stub").default; function openfl_display_Sprite() {return require("./../../openfl/display/Sprite");} function openfl_Lib() {return require("./../../openfl/Lib");} function Reflect() {return require("./../../Reflect");} function openfl_events_Event() {return require("./../../openfl/events/Event");} function Std() {return require("./../../Std");} function openfl_display_Shape() {return require("./../../openfl/display/Shape");} // Constructor var DefaultPreloader = function() { (openfl_display_Sprite().default).call(this); var backgroundColor = this.getBackgroundColor(); var r = backgroundColor >> 16 & 255; var g = backgroundColor >> 8 & 255; var b = backgroundColor & 255; var perceivedLuminosity = 0.299 * r + 0.587 * g + 0.114 * b; var color = 0; if(perceivedLuminosity < 70) { color = 16777215; } var x = 30; var height = 7; var y = this.getHeight() / 2 - height / 2; var width = this.getWidth() - x * 2; var padding = 2; this.outline = new (openfl_display_Shape().default)(); this.outline.get_graphics().beginFill(color,0.07); this.outline.get_graphics().drawRect(0,0,width,height); this.outline.set_x(x); this.outline.set_y(y); this.outline.set_alpha(0); this.addChild(this.outline); this.progress = new (openfl_display_Shape().default)(); this.progress.get_graphics().beginFill(color,0.35); this.progress.get_graphics().drawRect(0,0,width - padding * 2,height - padding * 2); this.progress.set_x(x + padding); this.progress.set_y(y + padding); this.progress.set_scaleX(0); this.progress.set_alpha(0); this.addChild(this.progress); this.startAnimation = (openfl_Lib().default).getTimer() + 100; this.endAnimation = this.startAnimation + 1000; this.addEventListener("addedToStage",$bind(this,this.this_onAddedToStage)); } // Meta DefaultPreloader.__name__ = "openfl.display.DefaultPreloader"; DefaultPreloader.__isInterface__ = false; DefaultPreloader.__super__ = (openfl_display_Sprite().default); DefaultPreloader.prototype = $extend((openfl_display_Sprite().default).prototype, { getBackgroundColor: function() { var attributes = (openfl_Lib().default).get_current().stage.window.context.attributes; if((Reflect().default).hasField(attributes,"background") && attributes.background != null) { return attributes.background; } else { return 0; } }, getHeight: function() { var height = (openfl_Lib().default).get_current().stage.window.get_height(); if(height > 0) { return height; } else { return (openfl_Lib().default).get_current().stage.stageHeight; } }, getWidth: function() { var width = (openfl_Lib().default).get_current().stage.window.get_width(); if(width > 0) { return width; } else { return (openfl_Lib().default).get_current().stage.stageWidth; } }, onInit: function() { this.addEventListener("enterFrame",$bind(this,this.this_onEnterFrame)); }, onLoaded: function() { this.removeEventListener("enterFrame",$bind(this,this.this_onEnterFrame)); this.dispatchEvent(new (openfl_events_Event().default)("unload")); }, onUpdate: function(bytesLoaded,bytesTotal) { var percentLoaded = 0.0; if(bytesTotal > 0) { percentLoaded = bytesLoaded / bytesTotal; if(percentLoaded > 1) { percentLoaded = 1; } } this.progress.set_scaleX(percentLoaded); }, this_onAddedToStage: function(event) { this.removeEventListener("addedToStage",$bind(this,this.this_onAddedToStage)); this.onInit(); this.onUpdate(this.get_loaderInfo().bytesLoaded,this.get_loaderInfo().bytesTotal); this.addEventListener("progress",$bind(this,this.this_onProgress)); this.addEventListener("complete",$bind(this,this.this_onComplete)); }, this_onComplete: function(event) { event.preventDefault(); this.removeEventListener("progress",$bind(this,this.this_onProgress)); this.removeEventListener("complete",$bind(this,this.this_onComplete)); this.onLoaded(); }, this_onEnterFrame: function(event) { var elapsed = (openfl_Lib().default).getTimer() - this.startAnimation; var total = this.endAnimation - this.startAnimation; var percent = elapsed / total; if(percent < 0) { percent = 0; } if(percent > 1) { percent = 1; } this.outline.set_alpha(this.progress.set_alpha(percent)); }, this_onProgress: function(event) { this.onUpdate((Std().default).int(event.bytesLoaded),(Std().default).int(event.bytesTotal)); } }); DefaultPreloader.prototype.__class__ = DefaultPreloader.prototype.constructor = $hxClasses["openfl.display.DefaultPreloader"] = DefaultPreloader; // Init // Statics DefaultPreloader.__meta__ = { obj : { SuppressWarnings : ["checkstyle:FieldDocComment"]}} // Export exports.default = DefaultPreloader;