@hprint/plugins 0.0.1-alpha.2 → 0.0.1-alpha.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -13,18 +13,24 @@ declare interface HorizontalLine {
13
13
  }
14
14
 
15
15
  class AlignGuidLinePlugin implements IPluginTempl {
16
+ static pluginName = 'AlignGuidLinePlugin';
17
+ static apis = ['changeSwitch'];
16
18
  defautOption = {
17
19
  color: 'rgba(255,95,95,1)',
18
20
  width: 1,
19
21
  };
20
- static pluginName = 'AlignGuidLinePlugin';
21
22
  dragMode = false;
23
+ switch!: boolean;
22
24
  constructor(
23
25
  public canvas: fabric.Canvas,
24
- public editor: IEditor
26
+ public editor: IEditor,
27
+ options?: {
28
+ switch?: boolean;
29
+ }
25
30
  ) {
26
31
  this.dragMode = false;
27
32
  this.init();
33
+ this.switch = options?.switch ?? true;
28
34
  }
29
35
  init() {
30
36
  const { canvas } = this;
@@ -75,7 +81,7 @@ class AlignGuidLinePlugin implements IPluginTempl {
75
81
  value2 = Math.round(value2);
76
82
  for (
77
83
  let i = value1 - aligningLineMargin,
78
- len = value1 + aligningLineMargin;
84
+ len = value1 + aligningLineMargin;
79
85
  i <= len;
80
86
  i++
81
87
  ) {
@@ -99,10 +105,11 @@ class AlignGuidLinePlugin implements IPluginTempl {
99
105
  activeWidth = e.target.getScaledWidth();
100
106
  activeHeight = e.target.getScaledHeight();
101
107
  }
102
- } catch (e) {}
108
+ } catch (e) { }
103
109
  });
104
110
 
105
111
  canvas.on('object:moving', (e) => {
112
+ if (!this.switch) return;
106
113
  if (viewportTransform === undefined || e.target === undefined)
107
114
  return;
108
115
 
@@ -130,7 +137,7 @@ class AlignGuidLinePlugin implements IPluginTempl {
130
137
 
131
138
  if (!transform) return;
132
139
 
133
- for (let i = canvasObjects.length; i--; ) {
140
+ for (let i = canvasObjects.length; i--;) {
134
141
  // eslint-disable-next-line no-continue
135
142
  if (canvasObjects[i] === activeObject) continue;
136
143
 
@@ -161,19 +168,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
161
168
  y1:
162
169
  objectTop < activeObjectTop
163
170
  ? objectTop -
164
- objectHeight / 2 -
165
- aligningLineOffset
171
+ objectHeight / 2 -
172
+ aligningLineOffset
166
173
  : objectTop +
167
- objectHeight / 2 +
168
- aligningLineOffset,
174
+ objectHeight / 2 +
175
+ aligningLineOffset,
169
176
  y2:
170
177
  activeObjectTop > objectTop
171
178
  ? activeObjectTop +
172
- activeObjectHeight / 2 +
173
- aligningLineOffset
179
+ activeObjectHeight / 2 +
180
+ aligningLineOffset
174
181
  : activeObjectTop -
175
- activeObjectHeight / 2 -
176
- aligningLineOffset,
182
+ activeObjectHeight / 2 -
183
+ aligningLineOffset,
177
184
  });
178
185
  activeObject.setPositionByOrigin(
179
186
  new fabric.Point(objectLeft, activeObjectTop),
@@ -192,19 +199,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
192
199
  x1:
193
200
  objectLeft < activeObjectLeft
194
201
  ? objectLeft -
195
- objectWidth / 2 -
196
- aligningLineOffset
202
+ objectWidth / 2 -
203
+ aligningLineOffset
197
204
  : objectLeft +
198
- objectWidth / 2 +
199
- aligningLineOffset,
205
+ objectWidth / 2 +
206
+ aligningLineOffset,
200
207
  x2:
201
208
  activeObjectLeft > objectLeft
202
209
  ? activeObjectLeft +
203
- activeObjectWidth / 2 +
204
- aligningLineOffset
210
+ activeObjectWidth / 2 +
211
+ aligningLineOffset
205
212
  : activeObjectLeft -
206
- activeObjectWidth / 2 -
207
- aligningLineOffset,
213
+ activeObjectWidth / 2 -
214
+ aligningLineOffset,
208
215
  });
209
216
  activeObject.setPositionByOrigin(
210
217
  new fabric.Point(activeObjectLeft, objectTop),
@@ -228,19 +235,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
228
235
  y1:
229
236
  objectTop < activeObjectTop
230
237
  ? objectTop -
231
- objectHeight / 2 -
232
- aligningLineOffset
238
+ objectHeight / 2 -
239
+ aligningLineOffset
233
240
  : objectTop +
234
- objectHeight / 2 +
235
- aligningLineOffset,
241
+ objectHeight / 2 +
242
+ aligningLineOffset,
236
243
  y2:
237
244
  activeObjectTop > objectTop
238
245
  ? activeObjectTop +
239
- activeObjectHeight / 2 +
240
- aligningLineOffset
246
+ activeObjectHeight / 2 +
247
+ aligningLineOffset
241
248
  : activeObjectTop -
242
- activeObjectHeight / 2 -
243
- aligningLineOffset,
249
+ activeObjectHeight / 2 -
250
+ aligningLineOffset,
244
251
  });
245
252
  _elReachLeft =
246
253
  objectLeft - objectWidth / 2 + activeObjectWidth / 2;
@@ -271,19 +278,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
271
278
  y1:
272
279
  objectTop < activeObjectTop
273
280
  ? objectTop -
274
- objectHeight / 2 -
275
- aligningLineOffset
281
+ objectHeight / 2 -
282
+ aligningLineOffset
276
283
  : objectTop +
277
- objectHeight / 2 +
278
- aligningLineOffset,
284
+ objectHeight / 2 +
285
+ aligningLineOffset,
279
286
  y2:
280
287
  activeObjectTop > objectTop
281
288
  ? activeObjectTop +
282
- activeObjectHeight / 2 +
283
- aligningLineOffset
289
+ activeObjectHeight / 2 +
290
+ aligningLineOffset
284
291
  : activeObjectTop -
285
- activeObjectHeight / 2 -
286
- aligningLineOffset,
292
+ activeObjectHeight / 2 -
293
+ aligningLineOffset,
287
294
  });
288
295
  _elReachLeft =
289
296
  objectLeft + objectWidth / 2 - activeObjectWidth / 2;
@@ -313,19 +320,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
313
320
  x1:
314
321
  objectLeft < activeObjectLeft
315
322
  ? objectLeft -
316
- objectWidth / 2 -
317
- aligningLineOffset
323
+ objectWidth / 2 -
324
+ aligningLineOffset
318
325
  : objectLeft +
319
- objectWidth / 2 +
320
- aligningLineOffset,
326
+ objectWidth / 2 +
327
+ aligningLineOffset,
321
328
  x2:
322
329
  activeObjectLeft > objectLeft
323
330
  ? activeObjectLeft +
324
- activeObjectWidth / 2 +
325
- aligningLineOffset
331
+ activeObjectWidth / 2 +
332
+ aligningLineOffset
326
333
  : activeObjectLeft -
327
- activeObjectWidth / 2 -
328
- aligningLineOffset,
334
+ activeObjectWidth / 2 -
335
+ aligningLineOffset,
329
336
  });
330
337
  _elReachTop =
331
338
  objectTop - objectHeight / 2 + activeObjectHeight / 2;
@@ -356,19 +363,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
356
363
  x1:
357
364
  objectLeft < activeObjectLeft
358
365
  ? objectLeft -
359
- objectWidth / 2 -
360
- aligningLineOffset
366
+ objectWidth / 2 -
367
+ aligningLineOffset
361
368
  : objectLeft +
362
- objectWidth / 2 +
363
- aligningLineOffset,
369
+ objectWidth / 2 +
370
+ aligningLineOffset,
364
371
  x2:
365
372
  activeObjectLeft > objectLeft
366
373
  ? activeObjectLeft +
367
- activeObjectWidth / 2 +
368
- aligningLineOffset
374
+ activeObjectWidth / 2 +
375
+ aligningLineOffset
369
376
  : activeObjectLeft -
370
- activeObjectWidth / 2 -
371
- aligningLineOffset,
377
+ activeObjectWidth / 2 -
378
+ aligningLineOffset,
372
379
  });
373
380
  _elReachTop =
374
381
  objectTop + objectHeight / 2 - activeObjectHeight / 2;
@@ -397,19 +404,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
397
404
  y1:
398
405
  objectTop < activeObjectTop
399
406
  ? objectTop -
400
- objectHeight / 2 -
401
- aligningLineOffset
407
+ objectHeight / 2 -
408
+ aligningLineOffset
402
409
  : objectTop +
403
- objectHeight / 2 +
404
- aligningLineOffset,
410
+ objectHeight / 2 +
411
+ aligningLineOffset,
405
412
  y2:
406
413
  activeObjectTop > objectTop
407
414
  ? activeObjectTop +
408
- activeObjectHeight / 2 +
409
- aligningLineOffset
415
+ activeObjectHeight / 2 +
416
+ aligningLineOffset
410
417
  : activeObjectTop -
411
- activeObjectHeight / 2 -
412
- aligningLineOffset,
418
+ activeObjectHeight / 2 -
419
+ aligningLineOffset,
413
420
  });
414
421
 
415
422
  _elReachLeft =
@@ -439,19 +446,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
439
446
  y1:
440
447
  objectTop < activeObjectTop
441
448
  ? objectTop -
442
- objectHeight / 2 -
443
- aligningLineOffset
449
+ objectHeight / 2 -
450
+ aligningLineOffset
444
451
  : objectTop +
445
- objectHeight / 2 +
446
- aligningLineOffset,
452
+ objectHeight / 2 +
453
+ aligningLineOffset,
447
454
  y2:
448
455
  activeObjectTop > objectTop
449
456
  ? activeObjectTop +
450
- activeObjectHeight / 2 +
451
- aligningLineOffset
457
+ activeObjectHeight / 2 +
458
+ aligningLineOffset
452
459
  : activeObjectTop -
453
- activeObjectHeight / 2 -
454
- aligningLineOffset,
460
+ activeObjectHeight / 2 -
461
+ aligningLineOffset,
455
462
  });
456
463
  _elReachLeft =
457
464
  objectLeft + objectWidth / 2 + activeObjectWidth / 2;
@@ -481,19 +488,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
481
488
  x1:
482
489
  objectLeft < activeObjectLeft
483
490
  ? objectLeft -
484
- objectWidth / 2 -
485
- aligningLineOffset
491
+ objectWidth / 2 -
492
+ aligningLineOffset
486
493
  : objectLeft +
487
- objectWidth / 2 +
488
- aligningLineOffset,
494
+ objectWidth / 2 +
495
+ aligningLineOffset,
489
496
  x2:
490
497
  activeObjectLeft > objectLeft
491
498
  ? activeObjectLeft +
492
- activeObjectWidth / 2 +
493
- aligningLineOffset
499
+ activeObjectWidth / 2 +
500
+ aligningLineOffset
494
501
  : activeObjectLeft -
495
- activeObjectWidth / 2 -
496
- aligningLineOffset,
502
+ activeObjectWidth / 2 -
503
+ aligningLineOffset,
497
504
  });
498
505
  _elReachTop =
499
506
  objectTop - objectHeight / 2 - activeObjectHeight / 2;
@@ -522,19 +529,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
522
529
  x1:
523
530
  objectLeft < activeObjectLeft
524
531
  ? objectLeft -
525
- objectWidth / 2 -
526
- aligningLineOffset
532
+ objectWidth / 2 -
533
+ aligningLineOffset
527
534
  : objectLeft +
528
- objectWidth / 2 +
529
- aligningLineOffset,
535
+ objectWidth / 2 +
536
+ aligningLineOffset,
530
537
  x2:
531
538
  activeObjectLeft > objectLeft
532
539
  ? activeObjectLeft +
533
- activeObjectWidth / 2 +
534
- aligningLineOffset
540
+ activeObjectWidth / 2 +
541
+ aligningLineOffset
535
542
  : activeObjectLeft -
536
- activeObjectWidth / 2 -
537
- aligningLineOffset,
543
+ activeObjectWidth / 2 -
544
+ aligningLineOffset,
538
545
  });
539
546
  _elReachTop =
540
547
  objectTop + objectHeight / 2 + activeObjectHeight / 2;
@@ -589,7 +596,7 @@ class AlignGuidLinePlugin implements IPluginTempl {
589
596
  activeObject.set('hasControls', false);
590
597
  if (!transform) return;
591
598
 
592
- for (let i = canvasObjects.length; i--; ) {
599
+ for (let i = canvasObjects.length; i--;) {
593
600
  // eslint-disable-next-line no-continue
594
601
  if (canvasObjects[i] === activeObject) continue;
595
602
 
@@ -620,19 +627,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
620
627
  y1:
621
628
  objectTop < activeObjectTop
622
629
  ? objectTop -
623
- objectHeight / 2 -
624
- aligningLineOffset
630
+ objectHeight / 2 -
631
+ aligningLineOffset
625
632
  : objectTop +
626
- objectHeight / 2 +
627
- aligningLineOffset,
633
+ objectHeight / 2 +
634
+ aligningLineOffset,
628
635
  y2:
629
636
  activeObjectTop > objectTop
630
637
  ? activeObjectTop +
631
- activeObjectHeight / 2 +
632
- aligningLineOffset
638
+ activeObjectHeight / 2 +
639
+ aligningLineOffset
633
640
  : activeObjectTop -
634
- activeObjectHeight / 2 -
635
- aligningLineOffset,
641
+ activeObjectHeight / 2 -
642
+ aligningLineOffset,
636
643
  });
637
644
  }
638
645
 
@@ -651,19 +658,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
651
658
  y1:
652
659
  objectTop < activeObjectTop
653
660
  ? objectTop -
654
- objectHeight / 2 -
655
- aligningLineOffset
661
+ objectHeight / 2 -
662
+ aligningLineOffset
656
663
  : objectTop +
657
- objectHeight / 2 +
658
- aligningLineOffset,
664
+ objectHeight / 2 +
665
+ aligningLineOffset,
659
666
  y2:
660
667
  activeObjectTop > objectTop
661
668
  ? activeObjectTop +
662
- activeObjectHeight / 2 +
663
- aligningLineOffset
669
+ activeObjectHeight / 2 +
670
+ aligningLineOffset
664
671
  : activeObjectTop -
665
- activeObjectHeight / 2 -
666
- aligningLineOffset,
672
+ activeObjectHeight / 2 -
673
+ aligningLineOffset,
667
674
  });
668
675
 
669
676
  let leftRight = new Map([
@@ -675,8 +682,8 @@ class AlignGuidLinePlugin implements IPluginTempl {
675
682
  activeObject.setPositionByOrigin(
676
683
  new fabric.Point(
677
684
  objectLeft -
678
- objectWidth / 2 +
679
- activeObjectWidth / 2,
685
+ objectWidth / 2 +
686
+ activeObjectWidth / 2,
680
687
  activeObjectTop
681
688
  ),
682
689
  'center',
@@ -689,7 +696,7 @@ class AlignGuidLinePlugin implements IPluginTempl {
689
696
  (objectLeft - objectWidth / 2) +
690
697
  activeWidth) *
691
698
  activeObject.scaleX) /
692
- activeObject.getScaledWidth()
699
+ activeObject.getScaledWidth()
693
700
  );
694
701
  break;
695
702
  }
@@ -710,19 +717,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
710
717
  y1:
711
718
  objectTop < activeObjectTop
712
719
  ? objectTop -
713
- objectHeight / 2 -
714
- aligningLineOffset
720
+ objectHeight / 2 -
721
+ aligningLineOffset
715
722
  : objectTop +
716
- objectHeight / 2 +
717
- aligningLineOffset,
723
+ objectHeight / 2 +
724
+ aligningLineOffset,
718
725
  y2:
719
726
  activeObjectTop > objectTop
720
727
  ? activeObjectTop +
721
- activeObjectHeight / 2 +
722
- aligningLineOffset
728
+ activeObjectHeight / 2 +
729
+ aligningLineOffset
723
730
  : activeObjectTop -
724
- activeObjectHeight / 2 -
725
- aligningLineOffset,
731
+ activeObjectHeight / 2 -
732
+ aligningLineOffset,
726
733
  });
727
734
 
728
735
  let Right = new Map([
@@ -739,7 +746,7 @@ class AlignGuidLinePlugin implements IPluginTempl {
739
746
  (activeLeft + activeWidth) +
740
747
  activeWidth) *
741
748
  activeObject.scaleX) /
742
- activeObject.getScaledWidth()
749
+ activeObject.getScaledWidth()
743
750
  );
744
751
  break;
745
752
  }
@@ -755,19 +762,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
755
762
  x1:
756
763
  objectLeft < activeObjectLeft
757
764
  ? objectLeft -
758
- objectWidth / 2 -
759
- aligningLineOffset
765
+ objectWidth / 2 -
766
+ aligningLineOffset
760
767
  : objectLeft +
761
- objectWidth / 2 +
762
- aligningLineOffset,
768
+ objectWidth / 2 +
769
+ aligningLineOffset,
763
770
  x2:
764
771
  activeObjectLeft > objectLeft
765
772
  ? activeObjectLeft +
766
- activeObjectWidth / 2 +
767
- aligningLineOffset
773
+ activeObjectWidth / 2 +
774
+ aligningLineOffset
768
775
  : activeObjectLeft -
769
- activeObjectWidth / 2 -
770
- aligningLineOffset,
776
+ activeObjectWidth / 2 -
777
+ aligningLineOffset,
771
778
  });
772
779
  }
773
780
 
@@ -785,19 +792,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
785
792
  x1:
786
793
  objectLeft < activeObjectLeft
787
794
  ? objectLeft -
788
- objectWidth / 2 -
789
- aligningLineOffset
795
+ objectWidth / 2 -
796
+ aligningLineOffset
790
797
  : objectLeft +
791
- objectWidth / 2 +
792
- aligningLineOffset,
798
+ objectWidth / 2 +
799
+ aligningLineOffset,
793
800
  x2:
794
801
  activeObjectLeft > objectLeft
795
802
  ? activeObjectLeft +
796
- activeObjectWidth / 2 +
797
- aligningLineOffset
803
+ activeObjectWidth / 2 +
804
+ aligningLineOffset
798
805
  : activeObjectLeft -
799
- activeObjectWidth / 2 -
800
- aligningLineOffset,
806
+ activeObjectWidth / 2 -
807
+ aligningLineOffset,
801
808
  });
802
809
 
803
810
  let bottomRight = new Map([
@@ -811,8 +818,8 @@ class AlignGuidLinePlugin implements IPluginTempl {
811
818
  new fabric.Point(
812
819
  activeObjectLeft,
813
820
  objectTop -
814
- objectHeight / 2 +
815
- activeObjectHeight / 2
821
+ objectHeight / 2 +
822
+ activeObjectHeight / 2
816
823
  ),
817
824
  'center',
818
825
  'center'
@@ -824,7 +831,7 @@ class AlignGuidLinePlugin implements IPluginTempl {
824
831
  activeHeight -
825
832
  (objectTop - objectHeight / 2)) *
826
833
  activeObject.scaleY) /
827
- activeObject.getScaledHeight()
834
+ activeObject.getScaledHeight()
828
835
  );
829
836
  break;
830
837
  }
@@ -844,19 +851,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
844
851
  x1:
845
852
  objectLeft < activeObjectLeft
846
853
  ? objectLeft -
847
- objectWidth / 2 -
848
- aligningLineOffset
854
+ objectWidth / 2 -
855
+ aligningLineOffset
849
856
  : objectLeft +
850
- objectWidth / 2 +
851
- aligningLineOffset,
857
+ objectWidth / 2 +
858
+ aligningLineOffset,
852
859
  x2:
853
860
  activeObjectLeft > objectLeft
854
861
  ? activeObjectLeft +
855
- activeObjectWidth / 2 +
856
- aligningLineOffset
862
+ activeObjectWidth / 2 +
863
+ aligningLineOffset
857
864
  : activeObjectLeft -
858
- activeObjectWidth / 2 -
859
- aligningLineOffset,
865
+ activeObjectWidth / 2 -
866
+ aligningLineOffset,
860
867
  });
861
868
 
862
869
  let bottom = new Map([
@@ -872,7 +879,7 @@ class AlignGuidLinePlugin implements IPluginTempl {
872
879
  (activeTop + activeHeight) +
873
880
  activeHeight) *
874
881
  activeObject.scaleY) /
875
- activeObject.getScaledHeight()
882
+ activeObject.getScaledHeight()
876
883
  );
877
884
  break;
878
885
  }
@@ -892,19 +899,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
892
899
  y1:
893
900
  objectTop < activeObjectTop
894
901
  ? objectTop -
895
- objectHeight / 2 -
896
- aligningLineOffset
902
+ objectHeight / 2 -
903
+ aligningLineOffset
897
904
  : objectTop +
898
- objectHeight / 2 +
899
- aligningLineOffset,
905
+ objectHeight / 2 +
906
+ aligningLineOffset,
900
907
  y2:
901
908
  activeObjectTop > objectTop
902
909
  ? activeObjectTop +
903
- activeObjectHeight / 2 +
904
- aligningLineOffset
910
+ activeObjectHeight / 2 +
911
+ aligningLineOffset
905
912
  : activeObjectTop -
906
- activeObjectHeight / 2 -
907
- aligningLineOffset,
913
+ activeObjectHeight / 2 -
914
+ aligningLineOffset,
908
915
  });
909
916
 
910
917
  let right = new Map([
@@ -919,7 +926,7 @@ class AlignGuidLinePlugin implements IPluginTempl {
919
926
  objectWidth / 2 -
920
927
  activeObject.left) *
921
928
  activeObject.scaleX) /
922
- activeObject.getScaledWidth()
929
+ activeObject.getScaledWidth()
923
930
  );
924
931
  break;
925
932
  }
@@ -938,19 +945,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
938
945
  y1:
939
946
  objectTop < activeObjectTop
940
947
  ? objectTop -
941
- objectHeight / 2 -
942
- aligningLineOffset
948
+ objectHeight / 2 -
949
+ aligningLineOffset
943
950
  : objectTop +
944
- objectHeight / 2 +
945
- aligningLineOffset,
951
+ objectHeight / 2 +
952
+ aligningLineOffset,
946
953
  y2:
947
954
  activeObjectTop > objectTop
948
955
  ? activeObjectTop +
949
- activeObjectHeight / 2 +
950
- aligningLineOffset
956
+ activeObjectHeight / 2 +
957
+ aligningLineOffset
951
958
  : activeObjectTop -
952
- activeObjectHeight / 2 -
953
- aligningLineOffset,
959
+ activeObjectHeight / 2 -
960
+ aligningLineOffset,
954
961
  });
955
962
 
956
963
  let leftRight = new Map([
@@ -962,8 +969,8 @@ class AlignGuidLinePlugin implements IPluginTempl {
962
969
  activeObject.setPositionByOrigin(
963
970
  new fabric.Point(
964
971
  objectLeft +
965
- objectWidth / 2 +
966
- activeObjectWidth / 2,
972
+ objectWidth / 2 +
973
+ activeObjectWidth / 2,
967
974
  activeObjectTop
968
975
  ),
969
976
  'center',
@@ -976,7 +983,7 @@ class AlignGuidLinePlugin implements IPluginTempl {
976
983
  activeWidth -
977
984
  (objectLeft + objectWidth / 2)) *
978
985
  activeObject.scaleX) /
979
- activeObject.getScaledWidth()
986
+ activeObject.getScaledWidth()
980
987
  );
981
988
  break;
982
989
  }
@@ -995,19 +1002,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
995
1002
  x1:
996
1003
  objectLeft < activeObjectLeft
997
1004
  ? objectLeft -
998
- objectWidth / 2 -
999
- aligningLineOffset
1005
+ objectWidth / 2 -
1006
+ aligningLineOffset
1000
1007
  : objectLeft +
1001
- objectWidth / 2 +
1002
- aligningLineOffset,
1008
+ objectWidth / 2 +
1009
+ aligningLineOffset,
1003
1010
  x2:
1004
1011
  activeObjectLeft > objectLeft
1005
1012
  ? activeObjectLeft +
1006
- activeObjectWidth / 2 +
1007
- aligningLineOffset
1013
+ activeObjectWidth / 2 +
1014
+ aligningLineOffset
1008
1015
  : activeObjectLeft -
1009
- activeObjectWidth / 2 -
1010
- aligningLineOffset,
1016
+ activeObjectWidth / 2 -
1017
+ aligningLineOffset,
1011
1018
  });
1012
1019
 
1013
1020
  let bottom = new Map([
@@ -1020,7 +1027,7 @@ class AlignGuidLinePlugin implements IPluginTempl {
1020
1027
  'scaleY',
1021
1028
  ((objectTop - objectHeight / 2 - activeObject.top) *
1022
1029
  activeObject.scaleY) /
1023
- activeObject.getScaledHeight()
1030
+ activeObject.getScaledHeight()
1024
1031
  );
1025
1032
  break;
1026
1033
  }
@@ -1039,19 +1046,19 @@ class AlignGuidLinePlugin implements IPluginTempl {
1039
1046
  x1:
1040
1047
  objectLeft < activeObjectLeft
1041
1048
  ? objectLeft -
1042
- objectWidth / 2 -
1043
- aligningLineOffset
1049
+ objectWidth / 2 -
1050
+ aligningLineOffset
1044
1051
  : objectLeft +
1045
- objectWidth / 2 +
1046
- aligningLineOffset,
1052
+ objectWidth / 2 +
1053
+ aligningLineOffset,
1047
1054
  x2:
1048
1055
  activeObjectLeft > objectLeft
1049
1056
  ? activeObjectLeft +
1050
- activeObjectWidth / 2 +
1051
- aligningLineOffset
1057
+ activeObjectWidth / 2 +
1058
+ aligningLineOffset
1052
1059
  : activeObjectLeft -
1053
- activeObjectWidth / 2 -
1054
- aligningLineOffset,
1060
+ activeObjectWidth / 2 -
1061
+ aligningLineOffset,
1055
1062
  });
1056
1063
 
1057
1064
  let bottomRight = new Map([
@@ -1065,8 +1072,8 @@ class AlignGuidLinePlugin implements IPluginTempl {
1065
1072
  new fabric.Point(
1066
1073
  activeObjectLeft,
1067
1074
  objectTop +
1068
- objectHeight / 2 +
1069
- activeObjectHeight / 2
1075
+ objectHeight / 2 +
1076
+ activeObjectHeight / 2
1070
1077
  ),
1071
1078
  'center',
1072
1079
  'center'
@@ -1078,7 +1085,7 @@ class AlignGuidLinePlugin implements IPluginTempl {
1078
1085
  activeHeight -
1079
1086
  (objectTop + objectHeight / 2)) *
1080
1087
  activeObject.scaleY) /
1081
- activeObject.getScaledHeight()
1088
+ activeObject.getScaledHeight()
1082
1089
  );
1083
1090
 
1084
1091
  break;
@@ -1100,12 +1107,12 @@ class AlignGuidLinePlugin implements IPluginTempl {
1100
1107
  ctx.lineWidth = This.defautOption.width;
1101
1108
  ctx.strokeStyle = This.defautOption.color;
1102
1109
 
1103
- for (let i = verticalLines.length; i--; ) {
1110
+ for (let i = verticalLines.length; i--;) {
1104
1111
  if (verticalLines[i]) {
1105
1112
  drawVerticalLine(verticalLines[i]);
1106
1113
  }
1107
1114
  }
1108
- for (let j = horizontalLines.length; j--; ) {
1115
+ for (let j = horizontalLines.length; j--;) {
1109
1116
  if (horizontalLines[j]) {
1110
1117
  drawHorizontalLine(horizontalLines[j]);
1111
1118
  }
@@ -1133,6 +1140,10 @@ class AlignGuidLinePlugin implements IPluginTempl {
1133
1140
  });
1134
1141
  }
1135
1142
 
1143
+ changeSwitch(switchStatus: boolean) {
1144
+ this.switch = switchStatus ?? !this.switch;
1145
+ }
1146
+
1136
1147
  destroy() {
1137
1148
  console.log('pluginDestroy');
1138
1149
  }