mirror of
https://github.com/konvajs/konva.git
synced 2025-10-15 12:34:52 +08:00
cache fix
This commit is contained in:
5
konva.js
5
konva.js
@@ -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
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;
|
||||
|
||||
this._cache.delete('canvas');
|
||||
// this.clearCache();
|
||||
|
||||
sceneContext.save();
|
||||
|
@@ -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');
|
||||
});
|
||||
});
|
||||
|
Reference in New Issue
Block a user