@next2d/text 1.18.12 → 2.0.0

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 (181) hide show
  1. package/package.json +14 -18
  2. package/src/TextArea/service/TextAreaMovePositionService.d.ts +11 -0
  3. package/src/TextArea/service/TextAreaMovePositionService.js +42 -0
  4. package/src/TextArea/usecase/TextAreaCompositionEndUseCase.d.ts +9 -0
  5. package/src/TextArea/usecase/TextAreaCompositionEndUseCase.js +17 -0
  6. package/src/TextArea/usecase/TextAreaCompositionStartUseCase.d.ts +9 -0
  7. package/src/TextArea/usecase/TextAreaCompositionStartUseCase.js +17 -0
  8. package/src/TextArea/usecase/TextAreaCompositionUpdateUseCase.d.ts +10 -0
  9. package/src/TextArea/usecase/TextAreaCompositionUpdateUseCase.js +18 -0
  10. package/src/TextArea/usecase/TextAreaInputUseCase.d.ts +10 -0
  11. package/src/TextArea/usecase/TextAreaInputUseCase.js +25 -0
  12. package/src/TextArea/usecase/TextAreaRegisterEventUseCase.d.ts +10 -0
  13. package/src/TextArea/usecase/TextAreaRegisterEventUseCase.js +21 -0
  14. package/src/TextData.d.ts +103 -0
  15. package/src/TextData.js +183 -0
  16. package/src/TextField/service/TextFieldApplyChangesService.d.ts +11 -0
  17. package/src/TextField/service/TextFieldApplyChangesService.js +16 -0
  18. package/src/TextField/service/TextFieldBlinkingClearTimeoutService.d.ts +9 -0
  19. package/src/TextField/service/TextFieldBlinkingClearTimeoutService.js +16 -0
  20. package/src/TextField/service/TextFieldCompositionStartService.d.ts +11 -0
  21. package/src/TextField/service/TextFieldCompositionStartService.js +12 -0
  22. package/src/TextField/service/TextFieldPasteService.d.ts +11 -0
  23. package/src/TextField/service/TextFieldPasteService.js +16 -0
  24. package/src/TextField/usecase/TextFieldArrowDownUseCase.d.ts +12 -0
  25. package/src/TextField/usecase/TextFieldArrowDownUseCase.js +191 -0
  26. package/src/TextField/usecase/TextFieldArrowLeftUseCase.d.ts +12 -0
  27. package/src/TextField/usecase/TextFieldArrowLeftUseCase.js +98 -0
  28. package/src/TextField/usecase/TextFieldArrowRightUseCase.d.ts +12 -0
  29. package/src/TextField/usecase/TextFieldArrowRightUseCase.js +92 -0
  30. package/src/TextField/usecase/TextFieldArrowUpUseCase.d.ts +12 -0
  31. package/src/TextField/usecase/TextFieldArrowUpUseCase.js +156 -0
  32. package/src/TextField/usecase/TextFieldBlinkingUseCase.d.ts +11 -0
  33. package/src/TextField/usecase/TextFieldBlinkingUseCase.js +21 -0
  34. package/src/TextField/usecase/TextFieldBuildFromCharacterUseCase.d.ts +13 -0
  35. package/src/TextField/usecase/TextFieldBuildFromCharacterUseCase.js +58 -0
  36. package/src/TextField/usecase/TextFieldCompositionEndUseCase.d.ts +11 -0
  37. package/src/TextField/usecase/TextFieldCompositionEndUseCase.js +32 -0
  38. package/src/TextField/usecase/TextFieldCompositionUpdateUseCase.d.ts +12 -0
  39. package/src/TextField/usecase/TextFieldCompositionUpdateUseCase.js +109 -0
  40. package/src/TextField/usecase/TextFieldCopyUseCase.d.ts +11 -0
  41. package/src/TextField/usecase/TextFieldCopyUseCase.js +38 -0
  42. package/src/TextField/usecase/TextFieldDeleteTextUseCase.d.ts +11 -0
  43. package/src/TextField/usecase/TextFieldDeleteTextUseCase.js +108 -0
  44. package/src/TextField/usecase/TextFieldGetLineTextUseCase.d.ts +12 -0
  45. package/src/TextField/usecase/TextFieldGetLineTextUseCase.js +32 -0
  46. package/src/TextField/usecase/TextFieldGetTextDataUseCase.d.ts +15 -0
  47. package/src/TextField/usecase/TextFieldGetTextDataUseCase.js +26 -0
  48. package/src/TextField/usecase/TextFieldHtmlTextToRawTextUseCase.d.ts +11 -0
  49. package/src/TextField/usecase/TextFieldHtmlTextToRawTextUseCase.js +31 -0
  50. package/src/TextField/usecase/TextFieldInsertTextUseCase.d.ts +12 -0
  51. package/src/TextField/usecase/TextFieldInsertTextUseCase.js +79 -0
  52. package/src/TextField/usecase/TextFieldKeyDownEventUseCase.d.ts +12 -0
  53. package/src/TextField/usecase/TextFieldKeyDownEventUseCase.js +60 -0
  54. package/src/TextField/usecase/TextFieldReloadUseCase.d.ts +11 -0
  55. package/src/TextField/usecase/TextFieldReloadUseCase.js +25 -0
  56. package/src/TextField/usecase/TextFieldReplaceTextUseCase.d.ts +14 -0
  57. package/src/TextField/usecase/TextFieldReplaceTextUseCase.js +24 -0
  58. package/src/TextField/usecase/TextFieldResetUseCase.d.ts +11 -0
  59. package/src/TextField/usecase/TextFieldResetUseCase.js +20 -0
  60. package/src/TextField/usecase/TextFieldResizeAutoFontSizeUseCase.d.ts +11 -0
  61. package/src/TextField/usecase/TextFieldResizeAutoFontSizeUseCase.js +37 -0
  62. package/src/TextField/usecase/TextFieldResizeUseCase.d.ts +11 -0
  63. package/src/TextField/usecase/TextFieldResizeUseCase.js +49 -0
  64. package/src/TextField/usecase/TextFieldSelectAllUseCase.d.ts +11 -0
  65. package/src/TextField/usecase/TextFieldSelectAllUseCase.js +20 -0
  66. package/src/TextField/usecase/TextFieldSelectedFocusMoveUseCase.d.ts +11 -0
  67. package/src/TextField/usecase/TextFieldSelectedFocusMoveUseCase.js +90 -0
  68. package/src/TextField/usecase/TextFieldSetFocusIndexUseCase.d.ts +14 -0
  69. package/src/TextField/usecase/TextFieldSetFocusIndexUseCase.js +197 -0
  70. package/src/TextField/usecase/TextFieldSetFocusUseCase.d.ts +11 -0
  71. package/src/TextField/usecase/TextFieldSetFocusUseCase.js +43 -0
  72. package/src/TextField/usecase/TextFieldSetScrollXUseCase.d.ts +12 -0
  73. package/src/TextField/usecase/TextFieldSetScrollXUseCase.js +66 -0
  74. package/src/TextField/usecase/TextFieldSetScrollYUseCase.d.ts +12 -0
  75. package/src/TextField/usecase/TextFieldSetScrollYUseCase.js +66 -0
  76. package/src/TextField/usecase/TextFieldUpdateStopIndexUseCase.d.ts +12 -0
  77. package/src/TextField/usecase/TextFieldUpdateStopIndexUseCase.js +82 -0
  78. package/src/TextField.d.ts +602 -0
  79. package/src/TextField.js +1292 -0
  80. package/src/TextFormat/service/TextFormatGenerateFontStyleService.d.ts +11 -0
  81. package/src/TextFormat/service/TextFormatGenerateFontStyleService.js +19 -0
  82. package/src/TextFormat/service/TextFormatGetWidthMarginService.d.ts +11 -0
  83. package/src/TextFormat/service/TextFormatGetWidthMarginService.js +19 -0
  84. package/src/TextFormat/service/TextFormatHtmlTextGenerateStyleService.d.ts +11 -0
  85. package/src/TextFormat/service/TextFormatHtmlTextGenerateStyleService.js +51 -0
  86. package/src/TextFormat/service/TextFormatIsSameService.d.ts +12 -0
  87. package/src/TextFormat/service/TextFormatIsSameService.js +28 -0
  88. package/src/TextFormat/service/TextFormatSetDefaultService.d.ts +11 -0
  89. package/src/TextFormat/service/TextFormatSetDefaultService.js +22 -0
  90. package/{dist → src}/TextFormat.d.ts +42 -128
  91. package/src/TextFormat.js +233 -0
  92. package/src/TextParser/service/TextParserAdjustmentHeightService.d.ts +11 -0
  93. package/src/TextParser/service/TextParserAdjustmentHeightService.js +24 -0
  94. package/src/TextParser/service/TextParserParseStyleService.d.ts +11 -0
  95. package/src/TextParser/service/TextParserParseStyleService.js +80 -0
  96. package/src/TextParser/usecase/TextParserCreateNewLineUseCase.d.ts +13 -0
  97. package/src/TextParser/usecase/TextParserCreateNewLineUseCase.js +35 -0
  98. package/src/TextParser/usecase/TextParserParseHtmlTextUseCase.d.ts +15 -0
  99. package/src/TextParser/usecase/TextParserParseHtmlTextUseCase.js +37 -0
  100. package/src/TextParser/usecase/TextParserParseTagUseCase.d.ts +17 -0
  101. package/src/TextParser/usecase/TextParserParseTagUseCase.js +57 -0
  102. package/src/TextParser/usecase/TextParserParseTextUseCase.d.ts +16 -0
  103. package/src/TextParser/usecase/TextParserParseTextUseCase.js +140 -0
  104. package/src/TextParser/usecase/TextParserSetAttributesUseCase.d.ts +14 -0
  105. package/src/TextParser/usecase/TextParserSetAttributesUseCase.js +63 -0
  106. package/src/TextUtil.d.ts +114 -0
  107. package/src/TextUtil.js +186 -0
  108. package/src/index.d.ts +3 -0
  109. package/src/index.js +3 -0
  110. package/src/interface/IAttributeObject.d.ts +4 -0
  111. package/src/interface/IBlendMode.d.ts +1 -0
  112. package/src/interface/IBounds.d.ts +6 -0
  113. package/src/interface/ICharacter.d.ts +5 -0
  114. package/src/interface/ICharacter.js +1 -0
  115. package/src/interface/IDictionaryTag.d.ts +8 -0
  116. package/src/interface/IDictionaryTag.js +1 -0
  117. package/src/interface/IElementPosition.d.ts +4 -0
  118. package/src/interface/IElementPosition.js +1 -0
  119. package/src/interface/IFilterArray.d.ts +2 -0
  120. package/src/interface/IFilterArray.js +1 -0
  121. package/src/interface/IGrid.d.ts +6 -0
  122. package/src/interface/IGrid.js +1 -0
  123. package/src/interface/ILoopConfig.d.ts +8 -0
  124. package/src/interface/ILoopConfig.js +1 -0
  125. package/src/interface/ILoopType.d.ts +1 -0
  126. package/src/interface/ILoopType.js +1 -0
  127. package/src/interface/IMovieClipActionObject.d.ts +5 -0
  128. package/src/interface/IMovieClipActionObject.js +1 -0
  129. package/src/interface/IMovieClipCharacter.d.ts +17 -0
  130. package/src/interface/IMovieClipCharacter.js +1 -0
  131. package/src/interface/IMovieClipLabelObject.d.ts +4 -0
  132. package/src/interface/IMovieClipLabelObject.js +1 -0
  133. package/src/interface/IMovieClipSoundObject.d.ts +5 -0
  134. package/src/interface/IMovieClipSoundObject.js +1 -0
  135. package/src/interface/IOptions.d.ts +8 -0
  136. package/src/interface/IOptions.js +1 -0
  137. package/src/interface/IPlaceObject.d.ts +14 -0
  138. package/src/interface/IPlaceObject.js +1 -0
  139. package/src/interface/IRGBA.d.ts +6 -0
  140. package/src/interface/IRGBA.js +1 -0
  141. package/src/interface/IShapeCharacter.d.ts +14 -0
  142. package/src/interface/IShapeCharacter.js +1 -0
  143. package/src/interface/ISoundTag.d.ts +6 -0
  144. package/src/interface/ISoundTag.js +1 -0
  145. package/src/interface/ISurfaceFilter.d.ts +6 -0
  146. package/src/interface/ISurfaceFilter.js +1 -0
  147. package/src/interface/ITextFieldAutoSize.d.ts +1 -0
  148. package/src/interface/ITextFieldAutoSize.js +1 -0
  149. package/src/interface/ITextFieldCharacter copy.d.ts +26 -0
  150. package/src/interface/ITextFieldCharacter copy.js +1 -0
  151. package/src/interface/ITextFieldCharacter.d.ts +26 -0
  152. package/src/interface/ITextFieldCharacter.js +1 -0
  153. package/src/interface/ITextFieldType copy.d.ts +1 -0
  154. package/src/interface/ITextFieldType copy.js +1 -0
  155. package/src/interface/ITextFieldType.d.ts +1 -0
  156. package/src/interface/ITextFieldType.js +1 -0
  157. package/src/interface/ITextFormatAlign copy.d.ts +1 -0
  158. package/src/interface/ITextFormatAlign copy.js +1 -0
  159. package/src/interface/ITextFormatAlign.d.ts +1 -0
  160. package/src/interface/ITextFormatAlign.js +1 -0
  161. package/src/interface/ITextFormatObject.d.ts +14 -0
  162. package/src/interface/ITextFormatObject.js +1 -0
  163. package/src/interface/ITextObject.d.ts +12 -0
  164. package/src/interface/ITextObject.js +1 -0
  165. package/src/interface/ITextObjectMode.d.ts +1 -0
  166. package/src/interface/ITextObjectMode.js +1 -0
  167. package/src/interface/IVideoCharacter.d.ts +11 -0
  168. package/src/interface/IVideoCharacter.js +1 -0
  169. package/dist/TextData.d.ts +0 -74
  170. package/dist/TextData.js +0 -132
  171. package/dist/TextFormat.js +0 -493
  172. package/dist/TextParser.d.ts +0 -23
  173. package/dist/TextParser.js +0 -459
  174. package/dist/index.d.ts +0 -3
  175. package/dist/index.js +0 -3
  176. package/dist/interface/OptionsImpl.d.ts +0 -8
  177. package/dist/interface/TextObjectImpl.d.ts +0 -12
  178. package/dist/interface/TextObjectModeImpl.d.ts +0 -1
  179. /package/{dist/interface/OptionsImpl.js → src/interface/IAttributeObject.js} +0 -0
  180. /package/{dist/interface/TextObjectImpl.js → src/interface/IBlendMode.js} +0 -0
  181. /package/{dist/interface/TextObjectModeImpl.js → src/interface/IBounds.js} +0 -0
@@ -0,0 +1,66 @@
1
+ import { Event } from "@next2d/events";
2
+ import { Tween, Easing } from "@next2d/ui";
3
+ import { $clamp } from "../../TextUtil";
4
+ import { execute as textFieldApplyChangesService } from "../service/TextFieldApplyChangesService";
5
+ /**
6
+ * @description xスクロール位置を設定します
7
+ * x Sets the scroll position.
8
+ *
9
+ * @param {TextField} text_field
10
+ * @param {number} scroll_x
11
+ * @return {void}
12
+ * @method
13
+ * @protected
14
+ */
15
+ export const execute = (text_field, scroll_x) => {
16
+ if (!text_field.scrollEnabled
17
+ || text_field.autoSize !== "none") {
18
+ return;
19
+ }
20
+ // check y animation
21
+ if (text_field.yScrollShape.hasLocalVariable("job")) {
22
+ return;
23
+ }
24
+ const width = text_field.width;
25
+ scroll_x = $clamp(scroll_x, 0, width, 0);
26
+ if (text_field.scrollX === scroll_x) {
27
+ return;
28
+ }
29
+ if (text_field.textWidth > width) {
30
+ textFieldApplyChangesService(text_field);
31
+ const xScrollShape = text_field.xScrollShape;
32
+ xScrollShape.width = width * width / text_field.textWidth;
33
+ const parent = text_field.parent;
34
+ if (parent) {
35
+ // start animation
36
+ if (xScrollShape.hasLocalVariable("job")) {
37
+ xScrollShape.getLocalVariable("job").stop();
38
+ }
39
+ // view start
40
+ xScrollShape.alpha = 0.9;
41
+ // set position
42
+ xScrollShape.x = text_field.x + 1
43
+ + (width - 1 - xScrollShape.width)
44
+ / (width - 1)
45
+ * (scroll_x - 1);
46
+ xScrollShape.y = text_field.y + text_field.height
47
+ - xScrollShape.height - 0.5;
48
+ // added sprite
49
+ parent.addChildAt(xScrollShape, parent.getChildIndex(text_field) + 1);
50
+ const job = Tween.add(xScrollShape, { "alpha": 0.9 }, { "alpha": 0 }, 0.5, 0.2, Easing.outQuad);
51
+ job.addEventListener(Event.COMPLETE, (event) => {
52
+ const shape = event.target.target;
53
+ shape.deleteLocalVariable("job");
54
+ if (shape.parent) {
55
+ shape.parent.removeChild(shape);
56
+ }
57
+ });
58
+ job.start();
59
+ xScrollShape.setLocalVariable("job", job);
60
+ }
61
+ text_field.$scrollX = scroll_x;
62
+ }
63
+ if (text_field.willTrigger(Event.SCROLL)) {
64
+ text_field.dispatchEvent(new Event(Event.SCROLL, true));
65
+ }
66
+ };
@@ -0,0 +1,12 @@
1
+ import type { TextField } from "../../TextField";
2
+ /**
3
+ * @description yスクロール位置を設定します
4
+ * y Sets the scroll position.
5
+ *
6
+ * @param {TextField} text_field
7
+ * @param {number} scroll_y
8
+ * @return {void}
9
+ * @method
10
+ * @protected
11
+ */
12
+ export declare const execute: (text_field: TextField, scroll_y: number) => void;
@@ -0,0 +1,66 @@
1
+ import { Event } from "@next2d/events";
2
+ import { Tween, Easing } from "@next2d/ui";
3
+ import { $clamp } from "../../TextUtil";
4
+ import { execute as textFieldApplyChangesService } from "../service/TextFieldApplyChangesService";
5
+ /**
6
+ * @description yスクロール位置を設定します
7
+ * y Sets the scroll position.
8
+ *
9
+ * @param {TextField} text_field
10
+ * @param {number} scroll_y
11
+ * @return {void}
12
+ * @method
13
+ * @protected
14
+ */
15
+ export const execute = (text_field, scroll_y) => {
16
+ if (!text_field.scrollEnabled
17
+ || text_field.autoSize !== "none"
18
+ || !text_field.multiline && !text_field.wordWrap) {
19
+ return;
20
+ }
21
+ // check x animation
22
+ if (text_field.xScrollShape.hasLocalVariable("job")) {
23
+ return;
24
+ }
25
+ const height = text_field.height;
26
+ scroll_y = $clamp(scroll_y, 0, height, 0);
27
+ if (text_field.scrollY === scroll_y) {
28
+ return;
29
+ }
30
+ if (text_field.textHeight > height) {
31
+ textFieldApplyChangesService(text_field);
32
+ const yScrollShape = text_field.yScrollShape;
33
+ yScrollShape.height = height * height / text_field.textHeight;
34
+ const parent = text_field.parent;
35
+ if (parent) {
36
+ // start animation
37
+ if (yScrollShape.hasLocalVariable("job")) {
38
+ yScrollShape.getLocalVariable("job").stop();
39
+ }
40
+ // view start
41
+ yScrollShape.alpha = 0.9;
42
+ // set position
43
+ yScrollShape.x = text_field.x + text_field.width - yScrollShape.width - 0.5;
44
+ yScrollShape.y = text_field.y + 0.5
45
+ + (height - 1 - yScrollShape.height)
46
+ / (height - 1)
47
+ * (scroll_y - 1);
48
+ // added sprite
49
+ parent.addChildAt(yScrollShape, parent.getChildIndex(text_field) + 1);
50
+ const job = Tween.add(yScrollShape, { "alpha": 0.9 }, { "alpha": 0 }, 0.5, 0.2, Easing.outQuad);
51
+ job.addEventListener(Event.COMPLETE, (event) => {
52
+ const shape = event.target.target;
53
+ shape.deleteLocalVariable("job");
54
+ if (shape.parent) {
55
+ shape.parent.removeChild(shape);
56
+ }
57
+ });
58
+ job.start();
59
+ yScrollShape.setLocalVariable("job", job);
60
+ text_field.$scrollY = scroll_y;
61
+ }
62
+ }
63
+ if (text_field.willTrigger(Event.SCROLL)) {
64
+ text_field.dispatchEvent(new Event(Event.SCROLL, true));
65
+ }
66
+ };
@@ -0,0 +1,12 @@
1
+ import type { TextField } from "../../TextField";
2
+ /**
3
+ * @description テキストの任意の表示終了位置の設定
4
+ * Setting an arbitrary display end position for text.
5
+ *
6
+ * @param {TextField} text_field
7
+ * @param {number} stop_index
8
+ * @return {void}
9
+ * @method
10
+ * @protected
11
+ */
12
+ export declare const execute: (text_field: TextField, stop_index: number) => void;
@@ -0,0 +1,82 @@
1
+ import { execute as textFieldGetTextDataUseCase } from "./TextFieldGetTextDataUseCase";
2
+ import { execute as textFieldApplyChangesService } from "../service/TextFieldApplyChangesService";
3
+ /**
4
+ * @description テキストの任意の表示終了位置の設定
5
+ * Setting an arbitrary display end position for text.
6
+ *
7
+ * @param {TextField} text_field
8
+ * @param {number} stop_index
9
+ * @return {void}
10
+ * @method
11
+ * @protected
12
+ */
13
+ export const execute = (text_field, stop_index) => {
14
+ const textData = textFieldGetTextDataUseCase(text_field);
15
+ if (2 > textData.textTable.length) {
16
+ return;
17
+ }
18
+ let currentTextWidth = 2;
19
+ let targetIndex = 0;
20
+ for (let idx = 1; idx < textData.textTable.length; ++idx) {
21
+ const textObject = textData.textTable[idx];
22
+ if (!textObject) {
23
+ continue;
24
+ }
25
+ let countUp = false;
26
+ if (textObject.mode === "text") {
27
+ countUp = true;
28
+ currentTextWidth += textObject.w;
29
+ }
30
+ if (targetIndex >= stop_index) {
31
+ targetIndex = idx;
32
+ break;
33
+ }
34
+ if (textObject.mode === "break") {
35
+ countUp = true;
36
+ currentTextWidth = 2;
37
+ }
38
+ if (countUp) {
39
+ targetIndex++;
40
+ }
41
+ }
42
+ const textObject = textData.textTable[targetIndex];
43
+ if (!textObject) {
44
+ return;
45
+ }
46
+ text_field.$scrollX = text_field.$scrollY = 0;
47
+ const line = textObject.line;
48
+ let currentTextHeight = 0;
49
+ for (let idx = 0; idx <= line; ++idx) {
50
+ currentTextHeight += textData.heightTable[idx];
51
+ }
52
+ const rawHeight = Math.abs(text_field.yMax - text_field.yMin);
53
+ let viewTextHeight = 0;
54
+ for (let idx = line; idx > -1; --idx) {
55
+ const lineHeight = textData.heightTable[idx];
56
+ if (rawHeight < viewTextHeight + lineHeight) {
57
+ break;
58
+ }
59
+ viewTextHeight += lineHeight;
60
+ }
61
+ if (currentTextHeight > rawHeight) {
62
+ const scaleY = (text_field.textHeight - rawHeight) / rawHeight;
63
+ text_field.$scrollY = Math.max(0, Math.min((currentTextHeight - viewTextHeight) / scaleY, rawHeight));
64
+ }
65
+ const rawWidth = Math.abs(text_field.xMax - text_field.xMin);
66
+ let viewTextWidth = 0;
67
+ for (let idx = targetIndex; idx > 0; --idx) {
68
+ const textObject = textData.textTable[idx];
69
+ if (textObject.mode !== "text") {
70
+ continue;
71
+ }
72
+ if (rawWidth < viewTextWidth + textObject.w) {
73
+ break;
74
+ }
75
+ viewTextWidth += textObject.w;
76
+ }
77
+ if (currentTextWidth > rawWidth) {
78
+ const scaleX = (text_field.textWidth - rawWidth) / rawWidth;
79
+ text_field.$scrollX = Math.max(0, Math.min((currentTextWidth - viewTextWidth) / scaleX, rawWidth + 0.5));
80
+ }
81
+ textFieldApplyChangesService(text_field);
82
+ };