mirror of
https://github.com/konvajs/konva.git
synced 2026-01-09 11:34:38 +08:00
cache fix
This commit is contained in:
5
konva.js
5
konva.js
@@ -5,7 +5,7 @@
|
|||||||
}(this, function () { 'use strict';
|
}(this, function () { 'use strict';
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Konva JavaScript Framework v3.0.0-0
|
* Konva JavaScript Framework v3.0.0-1
|
||||||
* http://konvajs.github.io/
|
* http://konvajs.github.io/
|
||||||
* Licensed under the MIT
|
* Licensed under the MIT
|
||||||
* Date: Fri Feb 22 2019
|
* Date: Fri Feb 22 2019
|
||||||
@@ -19,7 +19,7 @@
|
|||||||
/**
|
/**
|
||||||
* @namespace Konva
|
* @namespace Konva
|
||||||
*/
|
*/
|
||||||
var version = '3.0.0-0';
|
var version = '3.0.0-1';
|
||||||
var names = {};
|
var names = {};
|
||||||
var shapes = {};
|
var shapes = {};
|
||||||
var isBrowser = typeof window !== 'undefined' &&
|
var isBrowser = typeof window !== 'undefined' &&
|
||||||
@@ -2615,6 +2615,7 @@
|
|||||||
height: height
|
height: height
|
||||||
}), sceneContext = cachedSceneCanvas.getContext(), hitContext = cachedHitCanvas.getContext();
|
}), sceneContext = cachedSceneCanvas.getContext(), hitContext = cachedHitCanvas.getContext();
|
||||||
cachedHitCanvas.isCache = true;
|
cachedHitCanvas.isCache = true;
|
||||||
|
this._cache.delete('canvas');
|
||||||
// this.clearCache();
|
// this.clearCache();
|
||||||
sceneContext.save();
|
sceneContext.save();
|
||||||
hitContext.save();
|
hitContext.save();
|
||||||
|
|||||||
4
konva.min.js
vendored
4
konva.min.js
vendored
File diff suppressed because one or more lines are too long
@@ -312,6 +312,7 @@ export abstract class Node {
|
|||||||
|
|
||||||
cachedHitCanvas.isCache = true;
|
cachedHitCanvas.isCache = true;
|
||||||
|
|
||||||
|
this._cache.delete('canvas');
|
||||||
// this.clearCache();
|
// this.clearCache();
|
||||||
|
|
||||||
sceneContext.save();
|
sceneContext.save();
|
||||||
|
|||||||
@@ -1095,4 +1095,35 @@ suite('Caching', function() {
|
|||||||
assert.equal(stage.getIntersection({ x: 5, y: 20 }), bg);
|
assert.equal(stage.getIntersection({ x: 5, y: 20 }), bg);
|
||||||
assert.equal(stage.getIntersection({ x: 55, y: 20 }), rect);
|
assert.equal(stage.getIntersection({ x: 55, y: 20 }), rect);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('recache should update internal caching', function() {
|
||||||
|
var stage = addStage();
|
||||||
|
|
||||||
|
var layer = new Konva.Layer();
|
||||||
|
stage.add(layer);
|
||||||
|
|
||||||
|
var bigCircle = new Konva.Circle({
|
||||||
|
x: 100,
|
||||||
|
y: 100,
|
||||||
|
radius: 100,
|
||||||
|
fill: 'red',
|
||||||
|
draggable: true
|
||||||
|
});
|
||||||
|
layer.add(bigCircle);
|
||||||
|
|
||||||
|
bigCircle.cache();
|
||||||
|
|
||||||
|
layer.draw();
|
||||||
|
|
||||||
|
var d = layer.getContext().getImageData(100, 100, 1, 1).data;
|
||||||
|
assert.equal(d[0], 255, 'see red');
|
||||||
|
|
||||||
|
bigCircle.fill('blue');
|
||||||
|
bigCircle.cache();
|
||||||
|
|
||||||
|
layer.draw();
|
||||||
|
d = layer.getContext().getImageData(100, 100, 1, 1).data;
|
||||||
|
assert.equal(d[0], 0, 'no red');
|
||||||
|
assert.equal(d[2], 255, 'see blue');
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user