mirror of
https://github.com/konvajs/konva.git
synced 2025-10-15 12:34:52 +08:00
build and apply prettier
This commit is contained in:
@@ -82,53 +82,47 @@ suite('Path', function() {
|
||||
});
|
||||
|
||||
//=======================================================
|
||||
test(
|
||||
'complex path made of many different closed and open paths (Sopwith Camel)',
|
||||
function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
test('complex path made of many different closed and open paths (Sopwith Camel)', function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
|
||||
var path = new Konva.Path({
|
||||
data: 'm 15.749277,58.447629 8.495831,-0.05348 m 0.319898,-15.826548 -0.202438,17.295748 0.942206,0.941911 1.345933,-1.816987 0.20211,-11.642611 z m 77.458374,28.680768 c 0,5.308829 -4.303525,9.612686 -9.612485,9.612686 -5.30873,0 -9.612194,-4.303857 -9.612194,-9.612686 0,-5.308829 4.303464,-9.61226 9.612194,-9.61226 5.30896,0 9.612485,4.303431 9.612485,9.61226 z m -3.520874,0 c 0,3.364079 -2.72763,6.091348 -6.091611,6.091348 -3.364243,0 -6.091119,-2.727269 -6.091119,-6.091348 0,-3.363719 2.726876,-6.090791 6.091119,-6.090791 3.363981,0 6.091611,2.727072 6.091611,6.090791 z m -3.997576,0 c 0,1.156718 -0.937743,2.093937 -2.094035,2.093937 -1.156062,0 -2.093871,-0.937219 -2.093871,-2.093937 0,-1.156357 0.937809,-2.093773 2.093871,-2.093773 1.156292,0 2.094035,0.937416 2.094035,2.093773 z m 45.77821,4.283023 c -0.24607,1.90039 5.06492,3.680204 7.61403,5.520093 0.50662,0.514199 0.27889,0.975967 -0.0984,1.427532 l 3.9019,-1.141987 c -0.59258,-0.121397 -1.85951,0.01969 -1.71294,-0.380038 -0.85894,-1.950525 -3.68693,-2.761261 -5.61518,-4.092495 -1.06971,-1.03496 0.0997,-1.60766 0.76126,-2.284203 z M 43.206396,42.60133 55.578964,74.008743 58.71987,73.910313 47.203939,44.40726 c -1.109013,-0.737406 -1.174108,-2.1004 -3.997543,-1.808752 z m -18.654022,-0.570632 12.467721,31.692335 3.140643,0.09843 -12.467656,-31.692927 z m 2.285318,42.353106 -2.636648,-0.06431 0.163066,0.734584 3.709372,9.956142 2.357927,-1.168202 z m 19.411934,0.566268 -6.370726,9.901284 2.090163,1.615665 7.13671,-11.417403 0.303821,-0.4347 -2.942667,-0.02953 z m -12.091915,8.286013 c -5.729323,0 -10.367941,4.560169 -10.367941,10.184405 0,5.62429 4.638618,10.18489 10.367941,10.18489 5.729424,0 10.37654,-4.5606 10.37654,-10.18489 0,-5.624236 -4.647083,-10.184405 -10.37654,-10.184405 z m 0,2.473319 c 4.310029,0 7.811352,3.453552 7.811352,7.711086 0,4.25776 -3.50129,7.71167 -7.811352,7.71167 -4.310157,0 -7.803016,-3.45391 -7.803016,-7.71167 0,-4.257534 3.492859,-7.711086 7.803016,-7.711086 z m 3.528526,-21.795876 c -1.29032,-0.0066 -2.97525,0.03839 -3.402437,1.45155 l -0.01969,7.494437 c 0.586775,0.761915 1.42432,0.688978 2.236565,0.71411 l 26.529545,-0.14502 8.636784,0.761324 0,-7.518487 C 71.56989,75.908478 71.09444,75.467051 70.239377,75.338961 61.126027,73.734287 49.244756,73.929146 37.690371,73.911166 z M 20.959576,41.269176 c -0.0098,0.603377 0.575258,0.881409 0.575258,0.881409 L 58.95771,42.33629 c -4.893946,-0.985482 -16.592629,-2.859625 -32.835015,-2.783473 -1.570354,0.107617 -5.151439,1.109571 -5.163119,1.712718 z m 3.353022,14.276273 c -2.79955,0.01312 -5.595489,0.02953 -8.382964,0.05545 l 0,9.9e-5 0.0033,1.447677 -1.173484,0.01312 0.0066,1.244485 1.184048,0.05807 c -1.34298,0.220812 -2.956414,1.305807 -3.054779,3.476618 0.0098,3.269061 0.01312,6.538943 0.01312,9.808103 l -1.21197,0.0033 -0.01969,-2.361569 -4.6851755,0.0033 0,5.901969 4.6323185,0.0066 -0.02953,-1.7556 1.308596,-0.02297 0.0098,9.180447 c -0.0066,1.315781 2.739048,3.634336 4.542583,3.634336 l 4.811756,-2.995032 c 1.616583,-0.107617 1.758126,0.482078 1.884346,1.076924 l 35.667571,0.318914 6.909664,-0.81031 m 4.994738,-0.585889 85.216614,-9.991675 c 4.93952,-0.487623 14.9162,-22.255511 -3.75098,-25.556727 -5.12814,-0.887479 -15.53194,4.839613 -21.44018,9.104984 -2.31314,1.954593 -1.74166,4.084194 0.0263,5.982879 l -72.209399,-8.111923 -2.12281,-0.0012 c -0.966453,1.390128 -3.158262,3.260465 -4.554559,4.053123 M 49.36027,58.361483 c -1.699757,-1.038536 -2.965602,-2.804438 -4.533856,-2.875275 -3.903936,0.0011 -7.904399,0.0066 -11.882849,0.01312 m -3.081192,0.0066 c -1.043195,0.0033 -2.082715,0.0066 -3.116396,0.0098',
|
||||
stroke: '#000',
|
||||
strokeWidth: 1,
|
||||
lineCap: 'round',
|
||||
lineJoin: 'round'
|
||||
});
|
||||
var path = new Konva.Path({
|
||||
data: 'm 15.749277,58.447629 8.495831,-0.05348 m 0.319898,-15.826548 -0.202438,17.295748 0.942206,0.941911 1.345933,-1.816987 0.20211,-11.642611 z m 77.458374,28.680768 c 0,5.308829 -4.303525,9.612686 -9.612485,9.612686 -5.30873,0 -9.612194,-4.303857 -9.612194,-9.612686 0,-5.308829 4.303464,-9.61226 9.612194,-9.61226 5.30896,0 9.612485,4.303431 9.612485,9.61226 z m -3.520874,0 c 0,3.364079 -2.72763,6.091348 -6.091611,6.091348 -3.364243,0 -6.091119,-2.727269 -6.091119,-6.091348 0,-3.363719 2.726876,-6.090791 6.091119,-6.090791 3.363981,0 6.091611,2.727072 6.091611,6.090791 z m -3.997576,0 c 0,1.156718 -0.937743,2.093937 -2.094035,2.093937 -1.156062,0 -2.093871,-0.937219 -2.093871,-2.093937 0,-1.156357 0.937809,-2.093773 2.093871,-2.093773 1.156292,0 2.094035,0.937416 2.094035,2.093773 z m 45.77821,4.283023 c -0.24607,1.90039 5.06492,3.680204 7.61403,5.520093 0.50662,0.514199 0.27889,0.975967 -0.0984,1.427532 l 3.9019,-1.141987 c -0.59258,-0.121397 -1.85951,0.01969 -1.71294,-0.380038 -0.85894,-1.950525 -3.68693,-2.761261 -5.61518,-4.092495 -1.06971,-1.03496 0.0997,-1.60766 0.76126,-2.284203 z M 43.206396,42.60133 55.578964,74.008743 58.71987,73.910313 47.203939,44.40726 c -1.109013,-0.737406 -1.174108,-2.1004 -3.997543,-1.808752 z m -18.654022,-0.570632 12.467721,31.692335 3.140643,0.09843 -12.467656,-31.692927 z m 2.285318,42.353106 -2.636648,-0.06431 0.163066,0.734584 3.709372,9.956142 2.357927,-1.168202 z m 19.411934,0.566268 -6.370726,9.901284 2.090163,1.615665 7.13671,-11.417403 0.303821,-0.4347 -2.942667,-0.02953 z m -12.091915,8.286013 c -5.729323,0 -10.367941,4.560169 -10.367941,10.184405 0,5.62429 4.638618,10.18489 10.367941,10.18489 5.729424,0 10.37654,-4.5606 10.37654,-10.18489 0,-5.624236 -4.647083,-10.184405 -10.37654,-10.184405 z m 0,2.473319 c 4.310029,0 7.811352,3.453552 7.811352,7.711086 0,4.25776 -3.50129,7.71167 -7.811352,7.71167 -4.310157,0 -7.803016,-3.45391 -7.803016,-7.71167 0,-4.257534 3.492859,-7.711086 7.803016,-7.711086 z m 3.528526,-21.795876 c -1.29032,-0.0066 -2.97525,0.03839 -3.402437,1.45155 l -0.01969,7.494437 c 0.586775,0.761915 1.42432,0.688978 2.236565,0.71411 l 26.529545,-0.14502 8.636784,0.761324 0,-7.518487 C 71.56989,75.908478 71.09444,75.467051 70.239377,75.338961 61.126027,73.734287 49.244756,73.929146 37.690371,73.911166 z M 20.959576,41.269176 c -0.0098,0.603377 0.575258,0.881409 0.575258,0.881409 L 58.95771,42.33629 c -4.893946,-0.985482 -16.592629,-2.859625 -32.835015,-2.783473 -1.570354,0.107617 -5.151439,1.109571 -5.163119,1.712718 z m 3.353022,14.276273 c -2.79955,0.01312 -5.595489,0.02953 -8.382964,0.05545 l 0,9.9e-5 0.0033,1.447677 -1.173484,0.01312 0.0066,1.244485 1.184048,0.05807 c -1.34298,0.220812 -2.956414,1.305807 -3.054779,3.476618 0.0098,3.269061 0.01312,6.538943 0.01312,9.808103 l -1.21197,0.0033 -0.01969,-2.361569 -4.6851755,0.0033 0,5.901969 4.6323185,0.0066 -0.02953,-1.7556 1.308596,-0.02297 0.0098,9.180447 c -0.0066,1.315781 2.739048,3.634336 4.542583,3.634336 l 4.811756,-2.995032 c 1.616583,-0.107617 1.758126,0.482078 1.884346,1.076924 l 35.667571,0.318914 6.909664,-0.81031 m 4.994738,-0.585889 85.216614,-9.991675 c 4.93952,-0.487623 14.9162,-22.255511 -3.75098,-25.556727 -5.12814,-0.887479 -15.53194,4.839613 -21.44018,9.104984 -2.31314,1.954593 -1.74166,4.084194 0.0263,5.982879 l -72.209399,-8.111923 -2.12281,-0.0012 c -0.966453,1.390128 -3.158262,3.260465 -4.554559,4.053123 M 49.36027,58.361483 c -1.699757,-1.038536 -2.965602,-2.804438 -4.533856,-2.875275 -3.903936,0.0011 -7.904399,0.0066 -11.882849,0.01312 m -3.081192,0.0066 c -1.043195,0.0033 -2.082715,0.0066 -3.116396,0.0098',
|
||||
stroke: '#000',
|
||||
strokeWidth: 1,
|
||||
lineCap: 'round',
|
||||
lineJoin: 'round'
|
||||
});
|
||||
|
||||
layer.add(path);
|
||||
layer.add(path);
|
||||
|
||||
stage.add(layer);
|
||||
}
|
||||
);
|
||||
stage.add(layer);
|
||||
});
|
||||
|
||||
//=======================================================
|
||||
test(
|
||||
'complex path made of many different closed and open paths (Sopwith Camel) cached',
|
||||
function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
test('complex path made of many different closed and open paths (Sopwith Camel) cached', function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
|
||||
var path = new Konva.Path({
|
||||
data: 'm 15.749277,58.447629 8.495831,-0.05348 m 0.319898,-15.826548 -0.202438,17.295748 0.942206,0.941911 1.345933,-1.816987 0.20211,-11.642611 z m 77.458374,28.680768 c 0,5.308829 -4.303525,9.612686 -9.612485,9.612686 -5.30873,0 -9.612194,-4.303857 -9.612194,-9.612686 0,-5.308829 4.303464,-9.61226 9.612194,-9.61226 5.30896,0 9.612485,4.303431 9.612485,9.61226 z m -3.520874,0 c 0,3.364079 -2.72763,6.091348 -6.091611,6.091348 -3.364243,0 -6.091119,-2.727269 -6.091119,-6.091348 0,-3.363719 2.726876,-6.090791 6.091119,-6.090791 3.363981,0 6.091611,2.727072 6.091611,6.090791 z m -3.997576,0 c 0,1.156718 -0.937743,2.093937 -2.094035,2.093937 -1.156062,0 -2.093871,-0.937219 -2.093871,-2.093937 0,-1.156357 0.937809,-2.093773 2.093871,-2.093773 1.156292,0 2.094035,0.937416 2.094035,2.093773 z m 45.77821,4.283023 c -0.24607,1.90039 5.06492,3.680204 7.61403,5.520093 0.50662,0.514199 0.27889,0.975967 -0.0984,1.427532 l 3.9019,-1.141987 c -0.59258,-0.121397 -1.85951,0.01969 -1.71294,-0.380038 -0.85894,-1.950525 -3.68693,-2.761261 -5.61518,-4.092495 -1.06971,-1.03496 0.0997,-1.60766 0.76126,-2.284203 z M 43.206396,42.60133 55.578964,74.008743 58.71987,73.910313 47.203939,44.40726 c -1.109013,-0.737406 -1.174108,-2.1004 -3.997543,-1.808752 z m -18.654022,-0.570632 12.467721,31.692335 3.140643,0.09843 -12.467656,-31.692927 z m 2.285318,42.353106 -2.636648,-0.06431 0.163066,0.734584 3.709372,9.956142 2.357927,-1.168202 z m 19.411934,0.566268 -6.370726,9.901284 2.090163,1.615665 7.13671,-11.417403 0.303821,-0.4347 -2.942667,-0.02953 z m -12.091915,8.286013 c -5.729323,0 -10.367941,4.560169 -10.367941,10.184405 0,5.62429 4.638618,10.18489 10.367941,10.18489 5.729424,0 10.37654,-4.5606 10.37654,-10.18489 0,-5.624236 -4.647083,-10.184405 -10.37654,-10.184405 z m 0,2.473319 c 4.310029,0 7.811352,3.453552 7.811352,7.711086 0,4.25776 -3.50129,7.71167 -7.811352,7.71167 -4.310157,0 -7.803016,-3.45391 -7.803016,-7.71167 0,-4.257534 3.492859,-7.711086 7.803016,-7.711086 z m 3.528526,-21.795876 c -1.29032,-0.0066 -2.97525,0.03839 -3.402437,1.45155 l -0.01969,7.494437 c 0.586775,0.761915 1.42432,0.688978 2.236565,0.71411 l 26.529545,-0.14502 8.636784,0.761324 0,-7.518487 C 71.56989,75.908478 71.09444,75.467051 70.239377,75.338961 61.126027,73.734287 49.244756,73.929146 37.690371,73.911166 z M 20.959576,41.269176 c -0.0098,0.603377 0.575258,0.881409 0.575258,0.881409 L 58.95771,42.33629 c -4.893946,-0.985482 -16.592629,-2.859625 -32.835015,-2.783473 -1.570354,0.107617 -5.151439,1.109571 -5.163119,1.712718 z m 3.353022,14.276273 c -2.79955,0.01312 -5.595489,0.02953 -8.382964,0.05545 l 0,9.9e-5 0.0033,1.447677 -1.173484,0.01312 0.0066,1.244485 1.184048,0.05807 c -1.34298,0.220812 -2.956414,1.305807 -3.054779,3.476618 0.0098,3.269061 0.01312,6.538943 0.01312,9.808103 l -1.21197,0.0033 -0.01969,-2.361569 -4.6851755,0.0033 0,5.901969 4.6323185,0.0066 -0.02953,-1.7556 1.308596,-0.02297 0.0098,9.180447 c -0.0066,1.315781 2.739048,3.634336 4.542583,3.634336 l 4.811756,-2.995032 c 1.616583,-0.107617 1.758126,0.482078 1.884346,1.076924 l 35.667571,0.318914 6.909664,-0.81031 m 4.994738,-0.585889 85.216614,-9.991675 c 4.93952,-0.487623 14.9162,-22.255511 -3.75098,-25.556727 -5.12814,-0.887479 -15.53194,4.839613 -21.44018,9.104984 -2.31314,1.954593 -1.74166,4.084194 0.0263,5.982879 l -72.209399,-8.111923 -2.12281,-0.0012 c -0.966453,1.390128 -3.158262,3.260465 -4.554559,4.053123 M 49.36027,58.361483 c -1.699757,-1.038536 -2.965602,-2.804438 -4.533856,-2.875275 -3.903936,0.0011 -7.904399,0.0066 -11.882849,0.01312 m -3.081192,0.0066 c -1.043195,0.0033 -2.082715,0.0066 -3.116396,0.0098',
|
||||
stroke: '#000',
|
||||
strokeWidth: 1,
|
||||
lineCap: 'round',
|
||||
lineJoin: 'round',
|
||||
draggable: true
|
||||
});
|
||||
var path = new Konva.Path({
|
||||
data: 'm 15.749277,58.447629 8.495831,-0.05348 m 0.319898,-15.826548 -0.202438,17.295748 0.942206,0.941911 1.345933,-1.816987 0.20211,-11.642611 z m 77.458374,28.680768 c 0,5.308829 -4.303525,9.612686 -9.612485,9.612686 -5.30873,0 -9.612194,-4.303857 -9.612194,-9.612686 0,-5.308829 4.303464,-9.61226 9.612194,-9.61226 5.30896,0 9.612485,4.303431 9.612485,9.61226 z m -3.520874,0 c 0,3.364079 -2.72763,6.091348 -6.091611,6.091348 -3.364243,0 -6.091119,-2.727269 -6.091119,-6.091348 0,-3.363719 2.726876,-6.090791 6.091119,-6.090791 3.363981,0 6.091611,2.727072 6.091611,6.090791 z m -3.997576,0 c 0,1.156718 -0.937743,2.093937 -2.094035,2.093937 -1.156062,0 -2.093871,-0.937219 -2.093871,-2.093937 0,-1.156357 0.937809,-2.093773 2.093871,-2.093773 1.156292,0 2.094035,0.937416 2.094035,2.093773 z m 45.77821,4.283023 c -0.24607,1.90039 5.06492,3.680204 7.61403,5.520093 0.50662,0.514199 0.27889,0.975967 -0.0984,1.427532 l 3.9019,-1.141987 c -0.59258,-0.121397 -1.85951,0.01969 -1.71294,-0.380038 -0.85894,-1.950525 -3.68693,-2.761261 -5.61518,-4.092495 -1.06971,-1.03496 0.0997,-1.60766 0.76126,-2.284203 z M 43.206396,42.60133 55.578964,74.008743 58.71987,73.910313 47.203939,44.40726 c -1.109013,-0.737406 -1.174108,-2.1004 -3.997543,-1.808752 z m -18.654022,-0.570632 12.467721,31.692335 3.140643,0.09843 -12.467656,-31.692927 z m 2.285318,42.353106 -2.636648,-0.06431 0.163066,0.734584 3.709372,9.956142 2.357927,-1.168202 z m 19.411934,0.566268 -6.370726,9.901284 2.090163,1.615665 7.13671,-11.417403 0.303821,-0.4347 -2.942667,-0.02953 z m -12.091915,8.286013 c -5.729323,0 -10.367941,4.560169 -10.367941,10.184405 0,5.62429 4.638618,10.18489 10.367941,10.18489 5.729424,0 10.37654,-4.5606 10.37654,-10.18489 0,-5.624236 -4.647083,-10.184405 -10.37654,-10.184405 z m 0,2.473319 c 4.310029,0 7.811352,3.453552 7.811352,7.711086 0,4.25776 -3.50129,7.71167 -7.811352,7.71167 -4.310157,0 -7.803016,-3.45391 -7.803016,-7.71167 0,-4.257534 3.492859,-7.711086 7.803016,-7.711086 z m 3.528526,-21.795876 c -1.29032,-0.0066 -2.97525,0.03839 -3.402437,1.45155 l -0.01969,7.494437 c 0.586775,0.761915 1.42432,0.688978 2.236565,0.71411 l 26.529545,-0.14502 8.636784,0.761324 0,-7.518487 C 71.56989,75.908478 71.09444,75.467051 70.239377,75.338961 61.126027,73.734287 49.244756,73.929146 37.690371,73.911166 z M 20.959576,41.269176 c -0.0098,0.603377 0.575258,0.881409 0.575258,0.881409 L 58.95771,42.33629 c -4.893946,-0.985482 -16.592629,-2.859625 -32.835015,-2.783473 -1.570354,0.107617 -5.151439,1.109571 -5.163119,1.712718 z m 3.353022,14.276273 c -2.79955,0.01312 -5.595489,0.02953 -8.382964,0.05545 l 0,9.9e-5 0.0033,1.447677 -1.173484,0.01312 0.0066,1.244485 1.184048,0.05807 c -1.34298,0.220812 -2.956414,1.305807 -3.054779,3.476618 0.0098,3.269061 0.01312,6.538943 0.01312,9.808103 l -1.21197,0.0033 -0.01969,-2.361569 -4.6851755,0.0033 0,5.901969 4.6323185,0.0066 -0.02953,-1.7556 1.308596,-0.02297 0.0098,9.180447 c -0.0066,1.315781 2.739048,3.634336 4.542583,3.634336 l 4.811756,-2.995032 c 1.616583,-0.107617 1.758126,0.482078 1.884346,1.076924 l 35.667571,0.318914 6.909664,-0.81031 m 4.994738,-0.585889 85.216614,-9.991675 c 4.93952,-0.487623 14.9162,-22.255511 -3.75098,-25.556727 -5.12814,-0.887479 -15.53194,4.839613 -21.44018,9.104984 -2.31314,1.954593 -1.74166,4.084194 0.0263,5.982879 l -72.209399,-8.111923 -2.12281,-0.0012 c -0.966453,1.390128 -3.158262,3.260465 -4.554559,4.053123 M 49.36027,58.361483 c -1.699757,-1.038536 -2.965602,-2.804438 -4.533856,-2.875275 -3.903936,0.0011 -7.904399,0.0066 -11.882849,0.01312 m -3.081192,0.0066 c -1.043195,0.0033 -2.082715,0.0066 -3.116396,0.0098',
|
||||
stroke: '#000',
|
||||
strokeWidth: 1,
|
||||
lineCap: 'round',
|
||||
lineJoin: 'round',
|
||||
draggable: true
|
||||
});
|
||||
|
||||
layer.add(path);
|
||||
layer.add(path);
|
||||
|
||||
stage.add(layer);
|
||||
stage.add(layer);
|
||||
|
||||
path.cache();
|
||||
layer.draw();
|
||||
// layer.draw();
|
||||
cloneAndCompareLayer(layer, 230);
|
||||
showHit(layer);
|
||||
}
|
||||
);
|
||||
path.cache();
|
||||
layer.draw();
|
||||
// layer.draw();
|
||||
cloneAndCompareLayer(layer, 230);
|
||||
showHit(layer);
|
||||
});
|
||||
|
||||
// ======================================================
|
||||
test('moveTo with implied lineTos and trailing comma', function() {
|
||||
@@ -227,7 +221,8 @@ suite('Path', function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
|
||||
var c = 'M12.582,9.551C3.251,16.237,0.921,29.021,7.08,38.564l-2.36,1.689l4.893,2.262l4.893,2.262l-0.568-5.36l-0.567-5.359l-2.365,1.694c-4.657-7.375-2.83-17.185,4.352-22.33c7.451-5.338,17.817-3.625,23.156,3.824c5.337,7.449,3.625,17.813-3.821,23.152l2.857,3.988c9.617-6.893,11.827-20.277,4.935-29.896C35.591,4.87,22.204,2.658,12.582,9.551z';
|
||||
var c =
|
||||
'M12.582,9.551C3.251,16.237,0.921,29.021,7.08,38.564l-2.36,1.689l4.893,2.262l4.893,2.262l-0.568-5.36l-0.567-5.359l-2.365,1.694c-4.657-7.375-2.83-17.185,4.352-22.33c7.451-5.338,17.817-3.625,23.156,3.824c5.337,7.449,3.625,17.813-3.821,23.152l2.857,3.988c9.617-6.893,11.827-20.277,4.935-29.896C35.591,4.87,22.204,2.658,12.582,9.551z';
|
||||
|
||||
var path = new Konva.Path({
|
||||
data: c,
|
||||
@@ -408,7 +403,8 @@ suite('Path', function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
|
||||
var c = 'M100,350 l 50,-25 a25,25 -30 0,1 50,-25 l 50,-25 a25,50 -30 0,1 50,-25 l 50,-25 a25,75 -30 0,1 50,-25 l 50,-25 a25,100 -30 0,1 50,-25 l 50,-25';
|
||||
var c =
|
||||
'M100,350 l 50,-25 a25,25 -30 0,1 50,-25 l 50,-25 a25,50 -30 0,1 50,-25 l 50,-25 a25,75 -30 0,1 50,-25 l 50,-25 a25,100 -30 0,1 50,-25 l 50,-25';
|
||||
|
||||
var path = new Konva.Path({
|
||||
data: c,
|
||||
@@ -473,49 +469,46 @@ suite('Path', function() {
|
||||
});
|
||||
|
||||
// ======================================================
|
||||
test(
|
||||
'Able to determine point on line some distance from another point on line',
|
||||
function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
test('Able to determine point on line some distance from another point on line', function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
|
||||
var c = 'M10,10 210,160';
|
||||
// i.e., from a 3-4-5 triangle
|
||||
var c = 'M10,10 210,160';
|
||||
// i.e., from a 3-4-5 triangle
|
||||
|
||||
var path = new Konva.Path({
|
||||
stroke: 'red',
|
||||
strokeWidth: 3
|
||||
});
|
||||
var path = new Konva.Path({
|
||||
stroke: 'red',
|
||||
strokeWidth: 3
|
||||
});
|
||||
|
||||
path.setData(c);
|
||||
layer.add(path);
|
||||
path.setData(c);
|
||||
layer.add(path);
|
||||
|
||||
layer.add(
|
||||
new Konva.Circle({
|
||||
x: 10,
|
||||
y: 10,
|
||||
radius: 10,
|
||||
fill: 'black'
|
||||
})
|
||||
);
|
||||
layer.add(
|
||||
new Konva.Circle({
|
||||
x: 10,
|
||||
y: 10,
|
||||
radius: 10,
|
||||
fill: 'black'
|
||||
})
|
||||
);
|
||||
|
||||
var p1 = Konva.Path.getPointOnLine(125, 10, 10, 210, 160);
|
||||
// should be 1/2 way, or (110,85)
|
||||
assert.equal(Math.round(p1.x), 110);
|
||||
assert.equal(Math.round(p1.y), 85);
|
||||
var p1 = Konva.Path.getPointOnLine(125, 10, 10, 210, 160);
|
||||
// should be 1/2 way, or (110,85)
|
||||
assert.equal(Math.round(p1.x), 110);
|
||||
assert.equal(Math.round(p1.y), 85);
|
||||
|
||||
layer.add(
|
||||
new Konva.Circle({
|
||||
x: p1.x,
|
||||
y: p1.y,
|
||||
radius: 10,
|
||||
fill: 'blue'
|
||||
})
|
||||
);
|
||||
layer.add(
|
||||
new Konva.Circle({
|
||||
x: p1.x,
|
||||
y: p1.y,
|
||||
radius: 10,
|
||||
fill: 'blue'
|
||||
})
|
||||
);
|
||||
|
||||
stage.add(layer);
|
||||
}
|
||||
);
|
||||
stage.add(layer);
|
||||
});
|
||||
|
||||
// ======================================================
|
||||
test('Able to determine points on Cubic Bezier Curve', function() {
|
||||
@@ -628,196 +621,192 @@ suite('Path', function() {
|
||||
});
|
||||
|
||||
// ======================================================
|
||||
test(
|
||||
'Able to determine points on Elliptical Arc with clockwise stroke',
|
||||
function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
test('Able to determine points on Elliptical Arc with clockwise stroke', function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
|
||||
var c = 'M 50,100 A 100 50 0 1 1 150 150';
|
||||
var c = 'M 50,100 A 100 50 0 1 1 150 150';
|
||||
|
||||
var path = new Konva.Path({
|
||||
stroke: 'red',
|
||||
strokeWidth: 3
|
||||
});
|
||||
var path = new Konva.Path({
|
||||
stroke: 'red',
|
||||
strokeWidth: 3
|
||||
});
|
||||
|
||||
path.setData(c);
|
||||
path.setData(c);
|
||||
|
||||
layer.add(path);
|
||||
layer.add(path);
|
||||
|
||||
var centerParamPoints = Konva.Path.convertEndpointToCenterParameterization(
|
||||
50,
|
||||
100,
|
||||
150,
|
||||
150,
|
||||
1,
|
||||
1,
|
||||
100,
|
||||
50,
|
||||
0
|
||||
);
|
||||
var centerParamPoints = Konva.Path.convertEndpointToCenterParameterization(
|
||||
50,
|
||||
100,
|
||||
150,
|
||||
150,
|
||||
1,
|
||||
1,
|
||||
100,
|
||||
50,
|
||||
0
|
||||
);
|
||||
|
||||
var start = centerParamPoints[4];
|
||||
// 4 = theta
|
||||
var dTheta = centerParamPoints[5];
|
||||
// 5 = dTheta
|
||||
var end = centerParamPoints[4] + dTheta;
|
||||
var inc = Math.PI / 6.0;
|
||||
// 30 degree resolution
|
||||
var start = centerParamPoints[4];
|
||||
// 4 = theta
|
||||
var dTheta = centerParamPoints[5];
|
||||
// 5 = dTheta
|
||||
var end = centerParamPoints[4] + dTheta;
|
||||
var inc = Math.PI / 6.0;
|
||||
// 30 degree resolution
|
||||
|
||||
var p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
start,
|
||||
0
|
||||
);
|
||||
c = 'M ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
var p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
start,
|
||||
0
|
||||
);
|
||||
c = 'M ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
|
||||
if (
|
||||
dTheta < 0 // clockwise
|
||||
) {
|
||||
for (t = start - inc; t > end; t -= inc) {
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
t,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
}
|
||||
} else { // counter-clockwise
|
||||
for (t = start + inc; t < end; t += inc) {
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
t,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
}
|
||||
if (
|
||||
dTheta < 0 // clockwise
|
||||
) {
|
||||
for (t = start - inc; t > end; t -= inc) {
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
t,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
}
|
||||
} else {
|
||||
// counter-clockwise
|
||||
for (t = start + inc; t < end; t += inc) {
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
t,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
}
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
end,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
|
||||
var testpath = new Konva.Path({
|
||||
stroke: 'black',
|
||||
strokeWidth: 2,
|
||||
data: c
|
||||
});
|
||||
|
||||
layer.add(testpath);
|
||||
stage.add(layer);
|
||||
}
|
||||
);
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
end,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
|
||||
var testpath = new Konva.Path({
|
||||
stroke: 'black',
|
||||
strokeWidth: 2,
|
||||
data: c
|
||||
});
|
||||
|
||||
layer.add(testpath);
|
||||
stage.add(layer);
|
||||
});
|
||||
|
||||
// ======================================================
|
||||
test(
|
||||
'Able to determine points on Elliptical Arc with counter-clockwise stroke',
|
||||
function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
test('Able to determine points on Elliptical Arc with counter-clockwise stroke', function() {
|
||||
var stage = addStage();
|
||||
var layer = new Konva.Layer();
|
||||
|
||||
var c = 'M 250,100 A 100 50 0 1 0 150 150';
|
||||
var c = 'M 250,100 A 100 50 0 1 0 150 150';
|
||||
|
||||
var path = new Konva.Path({
|
||||
stroke: 'red',
|
||||
strokeWidth: 3
|
||||
});
|
||||
var path = new Konva.Path({
|
||||
stroke: 'red',
|
||||
strokeWidth: 3
|
||||
});
|
||||
|
||||
path.setData(c);
|
||||
path.setData(c);
|
||||
|
||||
layer.add(path);
|
||||
layer.add(path);
|
||||
|
||||
var centerParamPoints = Konva.Path.convertEndpointToCenterParameterization(
|
||||
250,
|
||||
100,
|
||||
150,
|
||||
150,
|
||||
1,
|
||||
0,
|
||||
100,
|
||||
50,
|
||||
0
|
||||
);
|
||||
var centerParamPoints = Konva.Path.convertEndpointToCenterParameterization(
|
||||
250,
|
||||
100,
|
||||
150,
|
||||
150,
|
||||
1,
|
||||
0,
|
||||
100,
|
||||
50,
|
||||
0
|
||||
);
|
||||
|
||||
var start = centerParamPoints[4];
|
||||
// 4 = theta
|
||||
var dTheta = centerParamPoints[5];
|
||||
// 5 = dTheta
|
||||
var end = centerParamPoints[4] + dTheta;
|
||||
var inc = Math.PI / 6.0;
|
||||
// 30 degree resolution
|
||||
var start = centerParamPoints[4];
|
||||
// 4 = theta
|
||||
var dTheta = centerParamPoints[5];
|
||||
// 5 = dTheta
|
||||
var end = centerParamPoints[4] + dTheta;
|
||||
var inc = Math.PI / 6.0;
|
||||
// 30 degree resolution
|
||||
|
||||
var p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
start,
|
||||
0
|
||||
);
|
||||
c = 'M ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
var p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
start,
|
||||
0
|
||||
);
|
||||
c = 'M ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
|
||||
if (
|
||||
dTheta < 0 // clockwise
|
||||
) {
|
||||
for (t = start - inc; t > end; t -= inc) {
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
t,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
}
|
||||
} else { // counter-clockwise
|
||||
for (t = start + inc; t < end; t += inc) {
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
t,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
}
|
||||
if (
|
||||
dTheta < 0 // clockwise
|
||||
) {
|
||||
for (t = start - inc; t > end; t -= inc) {
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
t,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
}
|
||||
} else {
|
||||
// counter-clockwise
|
||||
for (t = start + inc; t < end; t += inc) {
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
t,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
}
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
end,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
|
||||
var testpath = new Konva.Path({
|
||||
stroke: 'black',
|
||||
strokeWidth: 2,
|
||||
data: c
|
||||
});
|
||||
|
||||
layer.add(testpath);
|
||||
stage.add(layer);
|
||||
}
|
||||
);
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
centerParamPoints[1],
|
||||
centerParamPoints[2],
|
||||
centerParamPoints[3],
|
||||
end,
|
||||
0
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
|
||||
var testpath = new Konva.Path({
|
||||
stroke: 'black',
|
||||
strokeWidth: 2,
|
||||
data: c
|
||||
});
|
||||
|
||||
layer.add(testpath);
|
||||
stage.add(layer);
|
||||
});
|
||||
|
||||
// ======================================================
|
||||
test('Able to determine points on Elliptical Arc when rotated', function() {
|
||||
@@ -881,7 +870,8 @@ suite('Path', function() {
|
||||
);
|
||||
c += ' ' + p1.x.toString() + ' ' + p1.y.toString();
|
||||
}
|
||||
} else { // counter-clockwise
|
||||
} else {
|
||||
// counter-clockwise
|
||||
for (t = start + inc; t < end; t += inc) {
|
||||
p1 = Konva.Path.getPointOnEllipticalArc(
|
||||
centerParamPoints[0],
|
||||
|
Reference in New Issue
Block a user