Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
9618aae
Minor formatting cleanup
Nov 17, 2017
90de64c
ColorMatrix improvements and defaults
Nov 17, 2017
bf7f91c
Stage invalidation system added, improve performance of stages as tex…
Nov 17, 2017
1967fbf
Aberration Filter for shifting colour channels
Nov 17, 2017
f47adf1
DisplacementFilter for adjust relative pixel positions
Nov 17, 2017
4d58d33
Correct and remove texture flipping logic. NOTE: Breaking change for …
Nov 21, 2017
8702ba2
Minor code improvements, fixes potentially incorrect assumptions abou…
Nov 21, 2017
7baae59
Fixed issue with Displacement Lookup now flipping behaviour is correct
Nov 22, 2017
7bd477f
Stabilize the cacheCanvas in RenderTexture mode to a single reliable …
Nov 22, 2017
90e1517
WebGLTexture support on filters
Nov 24, 2017
4ab360d
Minor doc fix
lannymcnie Nov 8, 2017
4bfeb40
Fixed minor typo on getBounds in BitmapCache
Nov 21, 2017
e8cda12
Merge branch 'BlendModes' of github.com:DavidHGillen/EaselJS into Ble…
Nov 27, 2017
9c76117
cleanup
Nov 28, 2017
12038d3
reorganize texture batching to account for potentially reserved surfa…
Nov 28, 2017
9a89515
Rewritten drawing loop to add blending modes, incomplete. All blend m…
Nov 30, 2017
00f6fef
Incomplete set of blend modes. Most functional.
Dec 14, 2017
5d1c4fd
fix HSL draw modes
Dec 14, 2017
c5b4710
fixed color-burn
Dec 15, 2017
c8ccbdc
resolved issues with hanging content
Dec 18, 2017
7f07f26
code quality, documentation, and incomplete transition to new interna…
Mar 5, 2018
d0cf146
90% complete internal transition, some edge cases unhandled
Mar 5, 2018
ee0fd2e
removing logs, bugs with caches
Mar 5, 2018
e5d3599
Cleanup, incomplete feature addition
Mar 8, 2018
e5477af
improved caching and composite operation co-existence, cleaned up cod…
Mar 15, 2018
d0fd064
documentation update and fixes for cacheControlled StageGL and no fil…
Mar 15, 2018
e5420c1
Resolve issues with composite operations inside of caches
Mar 15, 2018
459a789
misc code standards
Mar 15, 2018
b5d88e8
Partial implementation of cacheless filters
Mar 16, 2018
e162097
Incomplete cacheless filter support, minor other cache bugs as result
Mar 19, 2018
3e07749
Fix issues with composite operations in a cache
Mar 21, 2018
ee2f616
Update and improve debugging tools for StageGL -> WebGLInspector
Mar 21, 2018
b73d6b2
Merge remote-tracking branch 'remotes/live/master'
Mar 21, 2018
dd0010a
Merge branch 'BlendModes'
Mar 21, 2018
e913f2c
Fix issue with cacheControlled surfaces
Mar 22, 2018
cd713ce
Resolve discrepancies in alpha handling between GL filters and regula…
Mar 22, 2018
064034b
Improve alpha handling and fix image stretch logic
Mar 22, 2018
b6969d7
Fix for standardizing stretching logic across all filters, standardiz…
Mar 23, 2018
23b8caf
Fix for https://github.com/CreateJS/EaselJS/issues/930
Mar 26, 2018
43420c1
Fix for IE11
Mar 26, 2018
e314a63
documentation accuracy update
Mar 29, 2018
0a2d2ed
default to fast option
Apr 4, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 4 additions & 1 deletion src/easeljs/display/Bitmap.js
Original file line number Diff line number Diff line change
Expand Up @@ -212,7 +212,10 @@ this.createjs = this.createjs||{};
**/
p.clone = function(node) {
var image = this.image;
if(image && node){ image = image.cloneNode(); }
if(image && node){
image = image.cloneNode();
image.src = image.src; // IE cloneNode bug fix
}
var o = new Bitmap(image);
if (this.sourceRect) { o.sourceRect = this.sourceRect.clone(); }
this._cloneProps(o);
Expand Down
2 changes: 1 addition & 1 deletion src/easeljs/display/Container.js
Original file line number Diff line number Diff line change
Expand Up @@ -705,4 +705,4 @@ this.createjs = this.createjs||{};


createjs.Container = createjs.promote(Container, "DisplayObject");
}());
}());
27 changes: 20 additions & 7 deletions src/easeljs/display/DisplayObject.js
Original file line number Diff line number Diff line change
Expand Up @@ -153,7 +153,7 @@ this.createjs = this.createjs||{};
* If a cache is active, this returns the canvas that holds the image of this display object. See {{#crossLink "DisplayObject/cache:method"}}{{/crossLink}}
* for more information. Use this to display the result of a cache. This will be a HTMLCanvasElement unless special cache rules have been deliberately enabled for this cache.
* @property cacheCanvas
* @type {HTMLCanvasElement | Object}
* @type {HTMLCanvasElement | WebGLTexture | Object}
* @default null
* @readonly
**/
Expand Down Expand Up @@ -457,6 +457,15 @@ this.createjs = this.createjs||{};
* @default 0
*/
this._webGLRenderStyle = DisplayObject._StageGL_NONE;

/**
* Storage for the calculated position of an object in StageGL. If not using StageGL, you can null it to save memory.
* @property _glMtx
* @protected
* @type {Matrix2D}
* @default null
*/
this._glMtx = new createjs.Matrix2D();
}
var p = createjs.extend(DisplayObject, createjs.EventDispatcher);

Expand Down Expand Up @@ -751,7 +760,7 @@ this.createjs = this.createjs||{};
**/
p.draw = function(ctx, ignoreCache) {
var cache = this.bitmapCache;
if(cache && !ignoreCache) {
if (cache && !ignoreCache) {
return cache.draw(ctx);
}
return false;
Expand Down Expand Up @@ -826,8 +835,10 @@ this.createjs = this.createjs||{};
* @param {Object} [options=undefined] Specify additional parameters for the cache logic
**/
p.cache = function(x, y, width, height, scale, options) {
if(!this.bitmapCache){
if (!this.bitmapCache){
this.bitmapCache = new createjs.BitmapCache();
} else {
this.bitmapCache._autoGenerated = false;
}
this.bitmapCache.define(this, x, y, width, height, scale, options);
};
Expand Down Expand Up @@ -855,7 +866,7 @@ this.createjs = this.createjs||{};
* whatwg spec on compositing</a>.
**/
p.updateCache = function(compositeOperation) {
if(!this.bitmapCache) {
if (!this.bitmapCache) {
throw "cache() must be called before updateCache()";
}
this.bitmapCache.update(compositeOperation);
Expand All @@ -866,7 +877,7 @@ this.createjs = this.createjs||{};
* @method uncache
**/
p.uncache = function() {
if(this.bitmapCache) {
if (this.bitmapCache) {
this.bitmapCache.release();
this.bitmapCache = undefined;
}
Expand Down Expand Up @@ -996,8 +1007,9 @@ this.createjs = this.createjs||{};
* @return {Matrix2D} A matrix representing this display object's transform.
**/
p.getMatrix = function(matrix) {
var o = this, mtx = matrix&&matrix.identity() || new createjs.Matrix2D();
return o.transformMatrix ? mtx.copy(o.transformMatrix) : mtx.appendTransform(o.x, o.y, o.scaleX, o.scaleY, o.rotation, o.skewX, o.skewY, o.regX, o.regY);
var o = this, mtx = matrix || new createjs.Matrix2D();
return o.transformMatrix ? mtx.copy(o.transformMatrix) :
(mtx.identity() && mtx.appendTransform(o.x, o.y, o.scaleX, o.scaleY, o.rotation, o.skewX, o.skewY, o.regX, o.regY));
};

/**
Expand Down Expand Up @@ -1254,6 +1266,7 @@ this.createjs = this.createjs||{};
o.hitArea = this.hitArea;
o.cursor = this.cursor;
o._bounds = this._bounds;
o._webGLRenderStyle = this._webGLRenderStyle;
return o;
};

Expand Down
19 changes: 18 additions & 1 deletion src/easeljs/display/Stage.js
Original file line number Diff line number Diff line change
Expand Up @@ -376,7 +376,24 @@ this.createjs = this.createjs||{};
ctx.restore();
this.dispatchEvent("drawend");
};


/**
* Draws the stage into the specified context ignoring its visible, alpha, shadow, and transform.
* Returns true if the draw was handled (useful for overriding functionality).
*
* NOTE: This method is mainly for internal use, though it may be useful for advanced uses.
* @method draw
* @param {CanvasRenderingContext2D} ctx The canvas 2D context object to draw into.
* @param {Boolean} [ignoreCache=false] Indicates whether the draw operation should ignore any current cache.
* For example, used for drawing the cache (to prevent it from simply drawing an existing cache back
* into itself).
**/
p.draw = function(ctx, ignoreCache) {
var result = this.Container_draw(ctx, ignoreCache);
this.canvas._invalid = true;
return result;
};

/**
* Propagates a tick event through the display list. This is automatically called by {{#crossLink "Stage/update"}}{{/crossLink}}
* unless {{#crossLink "Stage/tickOnUpdate:property"}}{{/crossLink}} is set to false.
Expand Down
Loading