@mediaclip/library 1.1.0 → 12.0.2

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.
Files changed (125) hide show
  1. package/README.md +8 -0
  2. package/dist/LayoutInterface.d.ts +4 -0
  3. package/dist/ThemeInterface.d.ts +9 -0
  4. package/dist/index.d.ts +4 -0
  5. package/dist/layouts/index.d.ts +1 -0
  6. package/dist/shared/CollageBuilder.d.ts +23 -0
  7. package/dist/shared/Modules.d.ts +1 -0
  8. package/dist/shared/Rect.d.ts +16 -0
  9. package/dist/shared/arguments/AddClipartElementArgument.d.ts +8 -0
  10. package/dist/shared/arguments/AddPhotoElementArgument.d.ts +8 -0
  11. package/dist/shared/arguments/AddStaticImageElementArgument.d.ts +7 -0
  12. package/dist/shared/arguments/AddStaticTextElementArgument.d.ts +17 -0
  13. package/dist/shared/arguments/AddTextElementArgument.d.ts +22 -0
  14. package/dist/shared/arguments/AddVisualElementArgumentBase.d.ts +10 -0
  15. package/dist/shared/arguments/index.d.ts +6 -0
  16. package/dist/shared/elements/BackgroundElement.d.ts +10 -0
  17. package/dist/shared/elements/ClipartElement.d.ts +11 -0
  18. package/dist/shared/elements/ElementBackground.d.ts +6 -0
  19. package/dist/shared/elements/ElementBorder.d.ts +6 -0
  20. package/dist/shared/elements/HAlign.d.ts +1 -0
  21. package/dist/shared/elements/PhotoElement.d.ts +12 -0
  22. package/dist/shared/elements/PhotoFitting.d.ts +1 -0
  23. package/dist/shared/elements/StaticImageElement.d.ts +10 -0
  24. package/dist/shared/elements/StaticTextElement.d.ts +21 -0
  25. package/dist/shared/elements/TextElement.d.ts +27 -0
  26. package/dist/shared/elements/TextElementMode.d.ts +1 -0
  27. package/dist/shared/elements/VAlign.d.ts +1 -0
  28. package/dist/shared/elements/VisualElement.d.ts +12 -0
  29. package/dist/shared/elements/index.d.ts +13 -0
  30. package/dist/shared/index.d.ts +3 -0
  31. package/dist/shared/resources/Anchor.d.ts +11 -0
  32. package/dist/shared/resources/ClipartResource.d.ts +5 -0
  33. package/dist/shared/resources/ImageBackgroundResource.d.ts +10 -0
  34. package/dist/shared/resources/ImageResourceBase.d.ts +5 -0
  35. package/dist/shared/resources/PhotoResource.d.ts +6 -0
  36. package/dist/shared/resources/ResourceBase.d.ts +3 -0
  37. package/dist/shared/resources/index.d.ts +2 -0
  38. package/dist/themes/AutofillData.d.ts +7 -0
  39. package/dist/themes/Format.d.ts +19 -0
  40. package/dist/themes/PhotosContainer.d.ts +6 -0
  41. package/dist/themes/ResourcesLoader.d.ts +6 -0
  42. package/dist/themes/ThemeCollageBuilder.d.ts +14 -0
  43. package/dist/themes/ThemeContext.d.ts +8 -0
  44. package/dist/themes/arguments/AddClipartElementArgument.d.ts +4 -0
  45. package/dist/themes/arguments/AddPhotoElementArgument.d.ts +5 -0
  46. package/dist/themes/arguments/AddStaticImageElementArgument.d.ts +4 -0
  47. package/dist/themes/arguments/AddStaticTextElementArgument.d.ts +3 -0
  48. package/dist/themes/arguments/AddTextElementArgument.d.ts +3 -0
  49. package/dist/themes/arguments/SetBackgroundElementArgument.d.ts +7 -0
  50. package/dist/themes/arguments/index.d.ts +6 -0
  51. package/dist/themes/clustering/BlankAlgorithmSettings.d.ts +3 -0
  52. package/dist/themes/clustering/ClusteringAlgorithmSelector.d.ts +8 -0
  53. package/dist/themes/clustering/ClusteringAlgorithmSettingsBase.d.ts +7 -0
  54. package/dist/themes/clustering/FixedGroupAlgorithmSettings.d.ts +4 -0
  55. package/dist/themes/clustering/GroupByDateAlgorithmSettings.d.ts +4 -0
  56. package/dist/themes/clustering/index.d.ts +1 -0
  57. package/dist/themes/index.d.ts +8 -0
  58. package/dist/themes/selector/CreateSelector.d.ts +5 -0
  59. package/dist/themes/selector/SelectorEntry.d.ts +13 -0
  60. package/dist/themes/selector/SelectorRule.d.ts +7 -0
  61. package/dist/themes/selector/index.d.ts +1 -0
  62. package/dist/themes/styles/StyleEntry.d.ts +43 -0
  63. package/dist/themes/styles/StylesContainer.d.ts +4 -0
  64. package/dist/themes/styles/index.d.ts +2 -0
  65. package/package.json +26 -29
  66. package/lib/Layout.d.ts +0 -24
  67. package/lib/Layout.js +0 -61
  68. package/lib/autofill-options.d.ts +0 -3
  69. package/lib/autofill-options.js +0 -3
  70. package/lib/autofill-photo.d.ts +0 -9
  71. package/lib/autofill-photo.js +0 -12
  72. package/lib/autofill-photos-enumerator.d.ts +0 -10
  73. package/lib/autofill-photos-enumerator.js +0 -22
  74. package/lib/autofill-specifications.d.ts +0 -12
  75. package/lib/autofill-specifications.js +0 -18
  76. package/lib/background-element.d.ts +0 -6
  77. package/lib/background-element.js +0 -17
  78. package/lib/border.d.ts +0 -2
  79. package/lib/border.js +0 -6
  80. package/lib/clipart-element.d.ts +0 -5
  81. package/lib/clipart-element.js +0 -15
  82. package/lib/collage.d.ts +0 -23
  83. package/lib/collage.js +0 -45
  84. package/lib/container.d.ts +0 -5
  85. package/lib/container.js +0 -10
  86. package/lib/format.d.ts +0 -50
  87. package/lib/format.js +0 -71
  88. package/lib/frame-border.d.ts +0 -4
  89. package/lib/frame-border.js +0 -11
  90. package/lib/grid-element.d.ts +0 -13
  91. package/lib/grid-element.js +0 -40
  92. package/lib/h-align.d.ts +0 -5
  93. package/lib/h-align.js +0 -9
  94. package/lib/image-element.d.ts +0 -9
  95. package/lib/image-element.js +0 -19
  96. package/lib/index.d.ts +0 -25
  97. package/lib/index.js +0 -30
  98. package/lib/layout-functions.d.ts +0 -2
  99. package/lib/layout-functions.js +0 -8
  100. package/lib/mask-border.d.ts +0 -4
  101. package/lib/mask-border.js +0 -11
  102. package/lib/modules.d.ts +0 -4
  103. package/lib/modules.js +0 -8
  104. package/lib/photo-element.d.ts +0 -19
  105. package/lib/photo-element.js +0 -43
  106. package/lib/photo-fitting.d.ts +0 -5
  107. package/lib/photo-fitting.js +0 -9
  108. package/lib/straight-border.d.ts +0 -5
  109. package/lib/straight-border.js +0 -12
  110. package/lib/text-element-mode.d.ts +0 -5
  111. package/lib/text-element-mode.js +0 -9
  112. package/lib/text-element.d.ts +0 -27
  113. package/lib/text-element.js +0 -64
  114. package/lib/text-style-effect.d.ts +0 -2
  115. package/lib/text-style-effect.js +0 -6
  116. package/lib/text-style-embossing-effect.d.ts +0 -5
  117. package/lib/text-style-embossing-effect.js +0 -12
  118. package/lib/text-style-stroke-effect.d.ts +0 -5
  119. package/lib/text-style-stroke-effect.js +0 -12
  120. package/lib/theme-functions.d.ts +0 -6
  121. package/lib/theme-functions.js +0 -57
  122. package/lib/visual-element-with-border.d.ts +0 -9
  123. package/lib/visual-element-with-border.js +0 -26
  124. package/lib/visual-element.d.ts +0 -17
  125. package/lib/visual-element.js +0 -101
package/lib/index.d.ts DELETED
@@ -1,25 +0,0 @@
1
- export * from "./autofill-options";
2
- export * from "./autofill-photo";
3
- export * from "./autofill-photos-enumerator";
4
- export * from "./autofill-specifications";
5
- export * from "./background-element";
6
- export * from "./border";
7
- export * from "./clipart-element";
8
- export * from "./collage";
9
- export * from "./container";
10
- export * from "./format";
11
- export * from "./frame-border";
12
- export * from "./grid-element";
13
- export * from "./index";
14
- export * from "./layout";
15
- export * from "./mask-border";
16
- export * from "./modules";
17
- export * from "./photo-element";
18
- export * from "./straight-border";
19
- export * from "./text-element";
20
- export * from "./text-style-effect";
21
- export * from "./text-style-embossing-effect";
22
- export * from "./text-style-stroke-effect";
23
- export * from "./theme-functions";
24
- export * from "./visual-element";
25
- export * from "./image-element";
package/lib/index.js DELETED
@@ -1,30 +0,0 @@
1
- "use strict";
2
- function __export(m) {
3
- for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];
4
- }
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- __export(require("./autofill-photo"));
7
- __export(require("./autofill-photos-enumerator"));
8
- __export(require("./autofill-specifications"));
9
- __export(require("./background-element"));
10
- __export(require("./border"));
11
- __export(require("./clipart-element"));
12
- __export(require("./collage"));
13
- __export(require("./container"));
14
- __export(require("./format"));
15
- __export(require("./frame-border"));
16
- __export(require("./grid-element"));
17
- __export(require("./index"));
18
- __export(require("./layout"));
19
- __export(require("./mask-border"));
20
- __export(require("./modules"));
21
- __export(require("./photo-element"));
22
- __export(require("./straight-border"));
23
- __export(require("./text-element"));
24
- __export(require("./text-style-effect"));
25
- __export(require("./text-style-embossing-effect"));
26
- __export(require("./text-style-stroke-effect"));
27
- __export(require("./theme-functions"));
28
- __export(require("./visual-element"));
29
- __export(require("./image-element"));
30
- //# sourceMappingURL=index.js.map
@@ -1,2 +0,0 @@
1
- import { VisualElement } from "./visual-element";
2
- export declare function align<T extends VisualElement>(element: T, vAlign: "top" | "center" | "bottom", hAlign: "left" | "center" | "bottom"): T;
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function align(element, vAlign, hAlign) {
4
- // TODO
5
- return element;
6
- }
7
- exports.align = align;
8
- //# sourceMappingURL=layout-functions.js.map
@@ -1,4 +0,0 @@
1
- import { Border } from "./border";
2
- export declare class MaskBorder extends Border {
3
- filename: string | null;
4
- }
@@ -1,11 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const border_1 = require("./border");
4
- class MaskBorder extends border_1.Border {
5
- constructor() {
6
- super(...arguments);
7
- this.filename = null;
8
- }
9
- }
10
- exports.MaskBorder = MaskBorder;
11
- //# sourceMappingURL=mask-border.js.map
package/lib/modules.d.ts DELETED
@@ -1,4 +0,0 @@
1
- export declare enum Modules {
2
- gifting = "gifting",
3
- photobook = "photobook"
4
- }
package/lib/modules.js DELETED
@@ -1,8 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var Modules;
4
- (function (Modules) {
5
- Modules["gifting"] = "gifting";
6
- Modules["photobook"] = "photobook";
7
- })(Modules = exports.Modules || (exports.Modules = {}));
8
- //# sourceMappingURL=modules.js.map
@@ -1,19 +0,0 @@
1
- import { AutofillPhoto } from "./autofill-photo";
2
- import { FrameBorder } from "./frame-border";
3
- import { ImageElement } from "./image-element";
4
- import { MaskBorder } from "./mask-border";
5
- import { StraightBorder } from "./straight-border";
6
- export declare class PhotoElement extends ImageElement {
7
- fitting: "fillIn" | "fitIn" | "fitFrame";
8
- cropWidth: number;
9
- cropHeight: number;
10
- cropX: number;
11
- cropY: number;
12
- cropRotation: number;
13
- filename: string | null;
14
- required: boolean;
15
- assign(autofillPhoto: AutofillPhoto | null): this;
16
- createStraightBorder(): StraightBorder;
17
- createMaskBorder(): MaskBorder;
18
- createFrameBorder(): FrameBorder;
19
- }
@@ -1,43 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const frame_border_1 = require("./frame-border");
4
- const image_element_1 = require("./image-element");
5
- const mask_border_1 = require("./mask-border");
6
- const straight_border_1 = require("./straight-border");
7
- class PhotoElement extends image_element_1.ImageElement {
8
- constructor() {
9
- super(...arguments);
10
- this.fitting = "fillIn";
11
- this.cropWidth = 0;
12
- this.cropHeight = 0;
13
- this.cropX = 0;
14
- this.cropY = 0;
15
- this.cropRotation = 0;
16
- this.filename = null;
17
- this.required = true;
18
- }
19
- assign(autofillPhoto) {
20
- if (!autofillPhoto) {
21
- return super.assignInternal(null);
22
- }
23
- return super.assignInternal(autofillPhoto.filename);
24
- }
25
- createStraightBorder(size, color) {
26
- var border = new straight_border_1.StraightBorder();
27
- if (size !== undefined) {
28
- border.size = size;
29
- }
30
- if (color !== undefined) {
31
- border.color = color;
32
- }
33
- return border;
34
- }
35
- createMaskBorder() {
36
- return new mask_border_1.MaskBorder();
37
- }
38
- createFrameBorder() {
39
- return new frame_border_1.FrameBorder();
40
- }
41
- }
42
- exports.PhotoElement = PhotoElement;
43
- //# sourceMappingURL=photo-element.js.map
@@ -1,5 +0,0 @@
1
- export declare enum PhotoFitting {
2
- fillIn = "fillIn",
3
- fitIn = "fitIn",
4
- fitFrame = "fitFrame"
5
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var PhotoFitting;
4
- (function (PhotoFitting) {
5
- PhotoFitting["fillIn"] = "fillIn";
6
- PhotoFitting["fitIn"] = "fitIn";
7
- PhotoFitting["fitFrame"] = "fitFrame";
8
- })(PhotoFitting = exports.PhotoFitting || (exports.PhotoFitting = {}));
9
- //# sourceMappingURL=photo-fitting.js.map
@@ -1,5 +0,0 @@
1
- import { Border } from "./border";
2
- export declare class StraightBorder extends Border {
3
- size: number;
4
- color: string;
5
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const border_1 = require("./border");
4
- class StraightBorder extends border_1.Border {
5
- constructor() {
6
- super(...arguments);
7
- this.size = 6;
8
- this.color = "#FFFFFF";
9
- }
10
- }
11
- exports.StraightBorder = StraightBorder;
12
- //# sourceMappingURL=straight-border.js.map
@@ -1,5 +0,0 @@
1
- export declare enum TextElementMode {
2
- dynamicHeight = "dynamicHeight",
3
- dynamicFontSize = "dynamicFontSize",
4
- fixed = "fixed"
5
- }
@@ -1,9 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- var TextElementMode;
4
- (function (TextElementMode) {
5
- TextElementMode["dynamicHeight"] = "dynamicHeight";
6
- TextElementMode["dynamicFontSize"] = "dynamicFontSize";
7
- TextElementMode["fixed"] = "fixed";
8
- })(TextElementMode = exports.TextElementMode || (exports.TextElementMode = {}));
9
- //# sourceMappingURL=text-element-mode.js.map
@@ -1,27 +0,0 @@
1
- import { FrameBorder } from "./frame-border";
2
- import { StraightBorder } from "./straight-border";
3
- import { TextStyleEffect } from "./text-style-effect";
4
- import { TextStyleEmbossingEffect } from "./text-style-embossing-effect";
5
- import { TextStyleStrokeEffect } from "./text-style-stroke-effect";
6
- import { VisualElement } from "./visual-element";
7
- export declare class TextElement extends VisualElement {
8
- mode: "dynamicHeight" | "dynamicFontSize" | "fixed";
9
- maxFontSize: number;
10
- fontSize: number;
11
- fontFamily: string | null;
12
- italic: boolean;
13
- bold: boolean;
14
- underline: boolean;
15
- hAlign: "left" | "middle" | "right";
16
- vAlign: "top" | "middle" | "bottom";
17
- text: string;
18
- color: string;
19
- required: boolean;
20
- maxCharacters: number;
21
- behavior: string | null;
22
- effects: TextStyleEffect[];
23
- createStraightBorder(): StraightBorder;
24
- createFrameBorder(): FrameBorder;
25
- addStroke(): TextStyleStrokeEffect;
26
- addEmbossing(size: number, opacity: number): TextStyleEmbossingEffect;
27
- }
@@ -1,64 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const frame_border_1 = require("./frame-border");
4
- const straight_border_1 = require("./straight-border");
5
- const text_style_embossing_effect_1 = require("./text-style-embossing-effect");
6
- const text_style_stroke_effect_1 = require("./text-style-stroke-effect");
7
- const visual_element_1 = require("./visual-element");
8
- class TextElement extends visual_element_1.VisualElement {
9
- constructor() {
10
- super(...arguments);
11
- this.mode = "dynamicHeight";
12
- this.maxFontSize = 90;
13
- this.fontSize = 12;
14
- this.fontFamily = null;
15
- this.italic = false;
16
- this.bold = false;
17
- this.underline = false;
18
- this.hAlign = "middle";
19
- this.vAlign = "top";
20
- this.text = "";
21
- this.color = "#000000";
22
- this.required = false;
23
- this.maxCharacters = 0;
24
- this.behavior = null;
25
- this.effects = [];
26
- }
27
- createStraightBorder(size, color) {
28
- var border = new straight_border_1.StraightBorder();
29
- if (size !== undefined) {
30
- border.size = size;
31
- }
32
- if (color !== undefined) {
33
- border.color = color;
34
- }
35
- return border;
36
- }
37
- createFrameBorder() {
38
- return new frame_border_1.FrameBorder();
39
- }
40
- addStroke(size, color) {
41
- const effect = new text_style_stroke_effect_1.TextStyleStrokeEffect();
42
- if (size !== undefined) {
43
- effect.size = size;
44
- }
45
- if (color !== undefined) {
46
- effect.color = color;
47
- }
48
- this.effects.push(effect);
49
- return effect;
50
- }
51
- addEmbossing(size, opacity) {
52
- const effect = new text_style_embossing_effect_1.TextStyleEmbossingEffect();
53
- if (size !== undefined) {
54
- effect.size = size;
55
- }
56
- if (opacity !== undefined) {
57
- effect.opacity = opacity;
58
- }
59
- this.effects.push(effect);
60
- return effect;
61
- }
62
- }
63
- exports.TextElement = TextElement;
64
- //# sourceMappingURL=text-element.js.map
@@ -1,2 +0,0 @@
1
- export declare class TextStyleEffect {
2
- }
@@ -1,6 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class TextStyleEffect {
4
- }
5
- exports.TextStyleEffect = TextStyleEffect;
6
- //# sourceMappingURL=text-style-effect.js.map
@@ -1,5 +0,0 @@
1
- import { TextStyleEffect } from "./text-style-effect";
2
- export declare class TextStyleEmbossingEffect extends TextStyleEffect {
3
- size: number;
4
- opacity: number;
5
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const text_style_effect_1 = require("./text-style-effect");
4
- class TextStyleEmbossingEffect extends text_style_effect_1.TextStyleEffect {
5
- constructor() {
6
- super(...arguments);
7
- this.size = 0;
8
- this.opacity = 0;
9
- }
10
- }
11
- exports.TextStyleEmbossingEffect = TextStyleEmbossingEffect;
12
- //# sourceMappingURL=text-style-embossing-effect.js.map
@@ -1,5 +0,0 @@
1
- import { TextStyleEffect } from "./text-style-effect";
2
- export declare class TextStyleStrokeEffect extends TextStyleEffect {
3
- color: string;
4
- size: number;
5
- }
@@ -1,12 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const text_style_effect_1 = require("./text-style-effect");
4
- class TextStyleStrokeEffect extends text_style_effect_1.TextStyleEffect {
5
- constructor() {
6
- super(...arguments);
7
- this.color = "#FFFFFF";
8
- this.size = 4;
9
- }
10
- }
11
- exports.TextStyleStrokeEffect = TextStyleStrokeEffect;
12
- //# sourceMappingURL=text-style-stroke-effect.js.map
@@ -1,6 +0,0 @@
1
- export declare function getPageIndex(collageId: string, high?: number): number;
2
- export declare function getPageIndexInRange(collageId: string, low: number, high: number): number;
3
- export declare function isLeftPage(collageId: string): boolean;
4
- export declare function isLastPage(collageId: string, photosToPlace: number): boolean;
5
- export declare function addAnotherCollage(addAnother: boolean): boolean;
6
- export declare function setLinked(shouldLink: boolean): boolean;
@@ -1,57 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- function getPageIndex(collageId, high = 0) {
4
- return getPageIndexInRange(collageId, -1, high);
5
- }
6
- exports.getPageIndex = getPageIndex;
7
- function getPageIndexInRange(collageId, low, high) {
8
- if (high == 0) {
9
- high = low;
10
- low = -1;
11
- }
12
- var pageNumber = getPageIndexInternal(collageId);
13
- if (low == -1) {
14
- if (pageNumber != 0)
15
- low = 0;
16
- else
17
- return 0;
18
- }
19
- if (low > 0)
20
- low--;
21
- if (pageNumber <= low)
22
- return -1;
23
- var pageIndex = (pageNumber - low) % (high - low);
24
- if (pageIndex == 0)
25
- pageIndex = high - low;
26
- return pageIndex + low;
27
- }
28
- exports.getPageIndexInRange = getPageIndexInRange;
29
- function isLeftPage(collageId) {
30
- var pageNumber = getPageIndexInternal(collageId);
31
- if (pageNumber == -1)
32
- return false;
33
- return pageNumber % 2 === 0;
34
- }
35
- exports.isLeftPage = isLeftPage;
36
- function isLastPage(collageId, photosToPlace) {
37
- // NOTE: The rules to do this are based on a non-global context, this method cannot easily be faked.
38
- return false;
39
- }
40
- exports.isLastPage = isLastPage;
41
- function addAnotherCollage(addAnother) {
42
- return addAnother;
43
- }
44
- exports.addAnotherCollage = addAnotherCollage;
45
- function setLinked(shouldLink) {
46
- return shouldLink;
47
- }
48
- exports.setLinked = setLinked;
49
- function getPageIndexInternal(collageId) {
50
- if (!collageId)
51
- return -1;
52
- var match = /^page(?:-(\w+))?-(\d+)$/.exec(collageId);
53
- if (!match || match.length < 2)
54
- return -1;
55
- return +match[2];
56
- }
57
- //# sourceMappingURL=theme-functions.js.map
@@ -1,9 +0,0 @@
1
- import { FrameBorder } from "./frame-border";
2
- import { MaskBorder } from "./mask-border";
3
- import { StraightBorder } from "./straight-border";
4
- import { VisualElement } from "./visual-element";
5
- export declare class VisualElementWithBorder extends VisualElement {
6
- createStraightBorder(): StraightBorder;
7
- createMaskBorder(): MaskBorder;
8
- createFrameBorder(): FrameBorder;
9
- }
@@ -1,26 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- const frame_border_1 = require("./frame-border");
4
- const mask_border_1 = require("./mask-border");
5
- const straight_border_1 = require("./straight-border");
6
- const visual_element_1 = require("./visual-element");
7
- class VisualElementWithBorder extends visual_element_1.VisualElement {
8
- createStraightBorder(size, color) {
9
- var border = new straight_border_1.StraightBorder();
10
- if (size !== undefined) {
11
- border.size = size;
12
- }
13
- if (color !== undefined) {
14
- border.color = color;
15
- }
16
- return border;
17
- }
18
- createMaskBorder() {
19
- return new mask_border_1.MaskBorder();
20
- }
21
- createFrameBorder() {
22
- return new frame_border_1.FrameBorder();
23
- }
24
- }
25
- exports.VisualElementWithBorder = VisualElementWithBorder;
26
- //# sourceMappingURL=visual-element-with-border.js.map
@@ -1,17 +0,0 @@
1
- export declare class VisualElement {
2
- x: number;
3
- y: number;
4
- width: number;
5
- height: number;
6
- rotation: number;
7
- tag: string | null;
8
- constructor();
9
- bottom(): number;
10
- right(): number;
11
- setSize(x?: number, y?: number, width?: number, height?: number, rotation?: number): this;
12
- fitIn(targetX: number, targetY: number, targetWidth: number, targetHeight: number): this;
13
- rotateAroundCenter(angle: number): this;
14
- private rotateRectangle;
15
- private rotate;
16
- private toRadians;
17
- }
@@ -1,101 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- class VisualElement {
4
- constructor() {
5
- this.x = 0;
6
- this.y = 0;
7
- this.width = 0;
8
- this.height = 0;
9
- this.rotation = 0;
10
- this.tag = null;
11
- }
12
- bottom() {
13
- return this.y + this.height;
14
- }
15
- right() {
16
- return this.x + this.width;
17
- }
18
- setSize(x, y, width, height, rotation) {
19
- if (x !== undefined) {
20
- this.x = x;
21
- }
22
- if (y !== undefined) {
23
- this.y = y;
24
- }
25
- if (width !== undefined) {
26
- this.width = width;
27
- }
28
- if (height !== undefined) {
29
- this.height = height;
30
- }
31
- if (rotation !== undefined) {
32
- this.rotation = rotation;
33
- }
34
- return this;
35
- }
36
- fitIn(targetX, targetY, targetWidth, targetHeight) {
37
- if (this.width == 0)
38
- throw new Error("Source height must be greater than zero");
39
- if (targetHeight == 0)
40
- throw new Error("Target height must be greater than zero");
41
- var srcWtoHRatio = this.width / this.height;
42
- var destWtoHRatio = targetWidth / targetHeight;
43
- // NOTE: C# Implementation uses MidpointRounding.ToEven
44
- var size = srcWtoHRatio >= destWtoHRatio
45
- ? { width: targetWidth, height: Math.round(targetWidth / srcWtoHRatio) }
46
- : {
47
- width: Math.round(srcWtoHRatio * targetHeight),
48
- height: targetHeight
49
- };
50
- this.x = targetX + Math.floor((targetWidth - size.width) / 2);
51
- this.y = targetY + Math.floor((targetHeight - size.height) / 2);
52
- this.width = size.width;
53
- this.height = size.height;
54
- return this;
55
- }
56
- rotateAroundCenter(angle) {
57
- var rect = {
58
- x: this.x,
59
- y: this.y,
60
- width: this.width,
61
- height: this.height
62
- };
63
- rect = this.rotateRectangle(rect, angle, Math.floor(this.x + this.width / 2), Math.floor(this.y + this.height / 2));
64
- this.setSize(rect.x, rect.y, rect.width, rect.height, rect.rotation);
65
- return this;
66
- }
67
- rotateRectangle(rectangle, angle, pinX, pinY) {
68
- angle = angle % 360;
69
- if (angle < 0)
70
- angle += 360;
71
- if (angle == 0)
72
- return rectangle;
73
- var origin = this.rotate({ x: rectangle.x, y: rectangle.y }, { x: pinX, y: pinY }, angle);
74
- var originX = Math.round(origin.x);
75
- var originY = Math.round(origin.y);
76
- return {
77
- x: originX,
78
- y: originY,
79
- width: rectangle.width,
80
- height: rectangle.height,
81
- rotation: (rectangle.rotation || 0) + angle,
82
- originX,
83
- originY
84
- };
85
- }
86
- rotate(point, origin, rotation) {
87
- var rotationInRadians = this.toRadians(rotation);
88
- var x = Math.cos(rotationInRadians) * (point.x - origin.x) -
89
- Math.sin(rotationInRadians) * (point.y - origin.y) +
90
- origin.x;
91
- var y = Math.sin(rotationInRadians) * (point.x - origin.x) +
92
- Math.cos(rotationInRadians) * (point.y - origin.y) +
93
- origin.y;
94
- return { x, y };
95
- }
96
- toRadians(angle) {
97
- return (Math.PI / 180) * angle;
98
- }
99
- }
100
- exports.VisualElement = VisualElement;
101
- //# sourceMappingURL=visual-element.js.map