mirror of
https://github.com/konvajs/konva.git
synced 2025-04-29 12:38:54 +08:00
changed isPointInShape() to intersects(). Currently the method accepts a point object, but I may extend this to also accept another shape object
This commit is contained in:
parent
c02e7a0cee
commit
2879c0763f
7
dist/kinetic-core.js
vendored
7
dist/kinetic-core.js
vendored
@ -1529,7 +1529,7 @@ Kinetic.Stage.prototype = {
|
||||
this.targetFound = true;
|
||||
}
|
||||
|
||||
if(shape.attrs.visible && pos !== undefined && shape.isPointInShape(pos)) {
|
||||
if(shape.attrs.visible && pos !== undefined && shape.intersects(pos)) {
|
||||
// handle onmousedown
|
||||
if(!isDragging && this.mouseDown) {
|
||||
this.mouseDown = false;
|
||||
@ -2323,10 +2323,9 @@ Kinetic.Shape.prototype = {
|
||||
this.data = [];
|
||||
},
|
||||
/**
|
||||
* custom isPointInPath method which can use path detection
|
||||
* or pixel detection
|
||||
* determines if point is in the shape
|
||||
*/
|
||||
isPointInShape: function(pos) {
|
||||
intersects: function(pos) {
|
||||
var stage = this.getStage();
|
||||
|
||||
if(this.attrs.detectionType === 'path') {
|
||||
|
4
dist/kinetic-core.min.js
vendored
4
dist/kinetic-core.min.js
vendored
File diff suppressed because one or more lines are too long
@ -171,10 +171,9 @@ Kinetic.Shape.prototype = {
|
||||
this.data = [];
|
||||
},
|
||||
/**
|
||||
* custom isPointInPath method which can use path detection
|
||||
* or pixel detection
|
||||
* determines if point is in the shape
|
||||
*/
|
||||
isPointInShape: function(pos) {
|
||||
intersects: function(pos) {
|
||||
var stage = this.getStage();
|
||||
|
||||
if(this.attrs.detectionType === 'path') {
|
||||
|
@ -364,7 +364,7 @@ Kinetic.Stage.prototype = {
|
||||
this.targetFound = true;
|
||||
}
|
||||
|
||||
if(shape.attrs.visible && pos !== undefined && shape.isPointInShape(pos)) {
|
||||
if(shape.attrs.visible && pos !== undefined && shape.intersects(pos)) {
|
||||
// handle onmousedown
|
||||
if(!isDragging && this.mouseDown) {
|
||||
this.mouseDown = false;
|
||||
|
@ -1303,7 +1303,7 @@ Test.prototype.tests = {
|
||||
star.setDetectionType('pixel');
|
||||
test(star.getDetectionType() === 'pixel', 'detection type should be pixel');
|
||||
},
|
||||
'SHAPES - test isPointInPath()': function(containerId) {
|
||||
'SHAPES - test intersects()': function(containerId) {
|
||||
var stage = new Kinetic.Stage({
|
||||
container: containerId,
|
||||
width: 578,
|
||||
@ -1323,30 +1323,30 @@ Test.prototype.tests = {
|
||||
layer.add(rect);
|
||||
stage.add(layer);
|
||||
|
||||
test(rect.isPointInShape({
|
||||
test(rect.intersects({
|
||||
x: 200,
|
||||
y: 100
|
||||
}) === true, 'problem with point in shape');
|
||||
|
||||
test(rect.isPointInShape({
|
||||
test(rect.intersects({
|
||||
x: 199,
|
||||
y: 99
|
||||
}) === false, 'problem with point in shape');
|
||||
}) === false, 'intersects with point in shape');
|
||||
|
||||
test(rect.isPointInShape({
|
||||
test(rect.intersects({
|
||||
x: 250,
|
||||
y: 125
|
||||
}) === true, 'problem with point in shape');
|
||||
}) === true, 'intersects with point in shape');
|
||||
|
||||
test(rect.isPointInShape({
|
||||
test(rect.intersects({
|
||||
x: 300,
|
||||
y: 150
|
||||
}) === true, 'problem with point in shape');
|
||||
}) === true, 'intersects with point in shape');
|
||||
|
||||
test(rect.isPointInShape({
|
||||
test(rect.intersects({
|
||||
x: 301,
|
||||
y: 151
|
||||
}) === false, 'problem with point in shape');
|
||||
}) === false, 'intersects with point in shape');
|
||||
},
|
||||
'Text - add text': function(containerId) {
|
||||
var stage = new Kinetic.Stage({
|
||||
|
Loading…
Reference in New Issue
Block a user