build and apply prettier

This commit is contained in:
Anton Lavrenov
2017-07-28 18:40:07 +02:00
parent f520cf34c3
commit 7b6d97aaa5
40 changed files with 1705 additions and 1827 deletions

View File

@@ -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],