cache fix

This commit is contained in:
Anton Lavrenov
2019-02-22 22:13:37 -05:00
parent 010800dba4
commit 605725fe43
4 changed files with 37 additions and 4 deletions

View File

@@ -5,7 +5,7 @@
}(this, function () { 'use strict';
/*
* Konva JavaScript Framework v3.0.0-0
* Konva JavaScript Framework v3.0.0-1
* http://konvajs.github.io/
* Licensed under the MIT
* Date: Fri Feb 22 2019
@@ -19,7 +19,7 @@
/**
* @namespace Konva
*/
var version = '3.0.0-0';
var version = '3.0.0-1';
var names = {};
var shapes = {};
var isBrowser = typeof window !== 'undefined' &&
@@ -2615,6 +2615,7 @@
height: height
}), sceneContext = cachedSceneCanvas.getContext(), hitContext = cachedHitCanvas.getContext();
cachedHitCanvas.isCache = true;
this._cache.delete('canvas');
// this.clearCache();
sceneContext.save();
hitContext.save();

4
konva.min.js vendored

File diff suppressed because one or more lines are too long

View File

@@ -312,6 +312,7 @@ export abstract class Node {
cachedHitCanvas.isCache = true;
this._cache.delete('canvas');
// this.clearCache();
sceneContext.save();

View File

@@ -1095,4 +1095,35 @@ suite('Caching', function() {
assert.equal(stage.getIntersection({ x: 5, y: 20 }), bg);
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');
});
});