babylonjs-gui 5.10.0 → 5.12.1
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.
- package/babylon.gui.d.ts +193 -36
- package/babylon.gui.js +1359 -249
- package/babylon.gui.js.map +1 -1
- package/babylon.gui.min.js +1 -2
- package/babylon.gui.min.js.map +1 -1
- package/babylon.gui.module.d.ts +402 -73
- package/package.json +5 -5
- package/babylon.gui.min.js.LICENSE.txt +0 -14
package/babylon.gui.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
exports["babylonjs-gui"] = factory(require("babylonjs"));
|
|
8
8
|
else
|
|
9
9
|
root["BABYLON"] = root["BABYLON"] || {}, root["BABYLON"]["GUI"] = factory(root["BABYLON"]);
|
|
10
|
-
})((typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this),
|
|
10
|
+
})((typeof self !== "undefined" ? self : typeof global !== "undefined" ? global : this), (__WEBPACK_EXTERNAL_MODULE_core_Misc_observable__) => {
|
|
11
11
|
return /******/ (() => { // webpackBootstrap
|
|
12
12
|
/******/ "use strict";
|
|
13
13
|
/******/ var __webpack_modules__ = ({
|
|
@@ -27,6 +27,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
27
27
|
/* harmony export */ "__await": () => (/* binding */ __await),
|
|
28
28
|
/* harmony export */ "__awaiter": () => (/* binding */ __awaiter),
|
|
29
29
|
/* harmony export */ "__classPrivateFieldGet": () => (/* binding */ __classPrivateFieldGet),
|
|
30
|
+
/* harmony export */ "__classPrivateFieldIn": () => (/* binding */ __classPrivateFieldIn),
|
|
30
31
|
/* harmony export */ "__classPrivateFieldSet": () => (/* binding */ __classPrivateFieldSet),
|
|
31
32
|
/* harmony export */ "__createBinding": () => (/* binding */ __createBinding),
|
|
32
33
|
/* harmony export */ "__decorate": () => (/* binding */ __decorate),
|
|
@@ -45,7 +46,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
45
46
|
/* harmony export */ "__spreadArrays": () => (/* binding */ __spreadArrays),
|
|
46
47
|
/* harmony export */ "__values": () => (/* binding */ __values)
|
|
47
48
|
/* harmony export */ });
|
|
48
|
-
|
|
49
|
+
/******************************************************************************
|
|
49
50
|
Copyright (c) Microsoft Corporation.
|
|
50
51
|
|
|
51
52
|
Permission to use, copy, modify, and/or distribute this software for any
|
|
@@ -154,7 +155,11 @@ function __generator(thisArg, body) {
|
|
|
154
155
|
|
|
155
156
|
var __createBinding = Object.create ? (function(o, m, k, k2) {
|
|
156
157
|
if (k2 === undefined) k2 = k;
|
|
157
|
-
Object.
|
|
158
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
159
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
160
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
161
|
+
}
|
|
162
|
+
Object.defineProperty(o, k2, desc);
|
|
158
163
|
}) : (function(o, m, k, k2) {
|
|
159
164
|
if (k2 === undefined) k2 = k;
|
|
160
165
|
o[k2] = m[k];
|
|
@@ -284,6 +289,11 @@ function __classPrivateFieldSet(receiver, state, value, kind, f) {
|
|
|
284
289
|
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
285
290
|
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
286
291
|
}
|
|
292
|
+
|
|
293
|
+
function __classPrivateFieldIn(state, receiver) {
|
|
294
|
+
if (receiver === null || (typeof receiver !== "object" && typeof receiver !== "function")) throw new TypeError("Cannot use 'in' operator on non-object");
|
|
295
|
+
return typeof state === "function" ? receiver === state : state.has(receiver);
|
|
296
|
+
}
|
|
287
297
|
|
|
288
298
|
|
|
289
299
|
/***/ }),
|
|
@@ -8311,6 +8321,7 @@ var Image = /** @class */ (function (_super) {
|
|
|
8311
8321
|
};
|
|
8312
8322
|
if (value) {
|
|
8313
8323
|
core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__.Tools.SetCorsBehavior(value, this._domImage);
|
|
8324
|
+
core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__.Tools.SetReferrerPolicyBehavior(this.referrerPolicy, this._domImage);
|
|
8314
8325
|
this._domImage.src = value;
|
|
8315
8326
|
}
|
|
8316
8327
|
},
|
|
@@ -8727,41 +8738,42 @@ var Image = /** @class */ (function (_super) {
|
|
|
8727
8738
|
|
|
8728
8739
|
__webpack_require__.r(__webpack_exports__);
|
|
8729
8740
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
8730
|
-
/* harmony export */ "BaseSlider": () => (/* reexport safe */
|
|
8741
|
+
/* harmony export */ "BaseSlider": () => (/* reexport safe */ _sliders_baseSlider__WEBPACK_IMPORTED_MODULE_25__.BaseSlider),
|
|
8731
8742
|
/* harmony export */ "Button": () => (/* reexport safe */ _button__WEBPACK_IMPORTED_MODULE_0__.Button),
|
|
8732
8743
|
/* harmony export */ "Checkbox": () => (/* reexport safe */ _checkbox__WEBPACK_IMPORTED_MODULE_1__.Checkbox),
|
|
8733
|
-
/* harmony export */ "CheckboxGroup": () => (/* reexport safe */
|
|
8744
|
+
/* harmony export */ "CheckboxGroup": () => (/* reexport safe */ _selector__WEBPACK_IMPORTED_MODULE_17__.CheckboxGroup),
|
|
8734
8745
|
/* harmony export */ "ColorPicker": () => (/* reexport safe */ _colorpicker__WEBPACK_IMPORTED_MODULE_2__.ColorPicker),
|
|
8735
8746
|
/* harmony export */ "Container": () => (/* reexport safe */ _container__WEBPACK_IMPORTED_MODULE_3__.Container),
|
|
8736
8747
|
/* harmony export */ "Control": () => (/* reexport safe */ _control__WEBPACK_IMPORTED_MODULE_4__.Control),
|
|
8737
|
-
/* harmony export */ "DisplayGrid": () => (/* reexport safe */
|
|
8748
|
+
/* harmony export */ "DisplayGrid": () => (/* reexport safe */ _displayGrid__WEBPACK_IMPORTED_MODULE_24__.DisplayGrid),
|
|
8738
8749
|
/* harmony export */ "Ellipse": () => (/* reexport safe */ _ellipse__WEBPACK_IMPORTED_MODULE_5__.Ellipse),
|
|
8739
8750
|
/* harmony export */ "FocusableButton": () => (/* reexport safe */ _focusableButton__WEBPACK_IMPORTED_MODULE_6__.FocusableButton),
|
|
8740
8751
|
/* harmony export */ "Grid": () => (/* reexport safe */ _grid__WEBPACK_IMPORTED_MODULE_8__.Grid),
|
|
8741
8752
|
/* harmony export */ "Image": () => (/* reexport safe */ _image__WEBPACK_IMPORTED_MODULE_9__.Image),
|
|
8742
|
-
/* harmony export */ "ImageBasedSlider": () => (/* reexport safe */
|
|
8743
|
-
/* harmony export */ "ImageScrollBar": () => (/* reexport safe */
|
|
8744
|
-
/* harmony export */ "InputPassword": () => (/* reexport safe */
|
|
8753
|
+
/* harmony export */ "ImageBasedSlider": () => (/* reexport safe */ _sliders_imageBasedSlider__WEBPACK_IMPORTED_MODULE_27__.ImageBasedSlider),
|
|
8754
|
+
/* harmony export */ "ImageScrollBar": () => (/* reexport safe */ _sliders_imageScrollBar__WEBPACK_IMPORTED_MODULE_29__.ImageScrollBar),
|
|
8755
|
+
/* harmony export */ "InputPassword": () => (/* reexport safe */ _inputPassword__WEBPACK_IMPORTED_MODULE_12__.InputPassword),
|
|
8745
8756
|
/* harmony export */ "InputText": () => (/* reexport safe */ _inputText__WEBPACK_IMPORTED_MODULE_10__.InputText),
|
|
8746
|
-
/* harmony export */ "
|
|
8747
|
-
/* harmony export */ "
|
|
8748
|
-
/* harmony export */ "
|
|
8749
|
-
/* harmony export */ "
|
|
8750
|
-
/* harmony export */ "
|
|
8751
|
-
/* harmony export */ "
|
|
8752
|
-
/* harmony export */ "
|
|
8753
|
-
/* harmony export */ "
|
|
8754
|
-
/* harmony export */ "
|
|
8755
|
-
/* harmony export */ "
|
|
8756
|
-
/* harmony export */ "
|
|
8757
|
-
/* harmony export */ "
|
|
8758
|
-
/* harmony export */ "
|
|
8759
|
-
/* harmony export */ "
|
|
8760
|
-
/* harmony export */ "
|
|
8761
|
-
/* harmony export */ "
|
|
8762
|
-
/* harmony export */ "
|
|
8763
|
-
/* harmony export */ "
|
|
8764
|
-
/* harmony export */ "
|
|
8757
|
+
/* harmony export */ "InputTextArea": () => (/* reexport safe */ _inputTextArea__WEBPACK_IMPORTED_MODULE_11__.InputTextArea),
|
|
8758
|
+
/* harmony export */ "KeyPropertySet": () => (/* reexport safe */ _virtualKeyboard__WEBPACK_IMPORTED_MODULE_22__.KeyPropertySet),
|
|
8759
|
+
/* harmony export */ "Line": () => (/* reexport safe */ _line__WEBPACK_IMPORTED_MODULE_13__.Line),
|
|
8760
|
+
/* harmony export */ "MultiLine": () => (/* reexport safe */ _multiLine__WEBPACK_IMPORTED_MODULE_14__.MultiLine),
|
|
8761
|
+
/* harmony export */ "RadioButton": () => (/* reexport safe */ _radioButton__WEBPACK_IMPORTED_MODULE_15__.RadioButton),
|
|
8762
|
+
/* harmony export */ "RadioGroup": () => (/* reexport safe */ _selector__WEBPACK_IMPORTED_MODULE_17__.RadioGroup),
|
|
8763
|
+
/* harmony export */ "Rectangle": () => (/* reexport safe */ _rectangle__WEBPACK_IMPORTED_MODULE_23__.Rectangle),
|
|
8764
|
+
/* harmony export */ "ScrollBar": () => (/* reexport safe */ _sliders_scrollBar__WEBPACK_IMPORTED_MODULE_28__.ScrollBar),
|
|
8765
|
+
/* harmony export */ "ScrollViewer": () => (/* reexport safe */ _scrollViewers_scrollViewer__WEBPACK_IMPORTED_MODULE_18__.ScrollViewer),
|
|
8766
|
+
/* harmony export */ "SelectionPanel": () => (/* reexport safe */ _selector__WEBPACK_IMPORTED_MODULE_17__.SelectionPanel),
|
|
8767
|
+
/* harmony export */ "SelectorGroup": () => (/* reexport safe */ _selector__WEBPACK_IMPORTED_MODULE_17__.SelectorGroup),
|
|
8768
|
+
/* harmony export */ "Slider": () => (/* reexport safe */ _sliders_slider__WEBPACK_IMPORTED_MODULE_26__.Slider),
|
|
8769
|
+
/* harmony export */ "SliderGroup": () => (/* reexport safe */ _selector__WEBPACK_IMPORTED_MODULE_17__.SliderGroup),
|
|
8770
|
+
/* harmony export */ "StackPanel": () => (/* reexport safe */ _stackPanel__WEBPACK_IMPORTED_MODULE_16__.StackPanel),
|
|
8771
|
+
/* harmony export */ "TextBlock": () => (/* reexport safe */ _textBlock__WEBPACK_IMPORTED_MODULE_19__.TextBlock),
|
|
8772
|
+
/* harmony export */ "TextWrapper": () => (/* reexport safe */ _textWrapper__WEBPACK_IMPORTED_MODULE_20__.TextWrapper),
|
|
8773
|
+
/* harmony export */ "TextWrapping": () => (/* reexport safe */ _textBlock__WEBPACK_IMPORTED_MODULE_19__.TextWrapping),
|
|
8774
|
+
/* harmony export */ "ToggleButton": () => (/* reexport safe */ _toggleButton__WEBPACK_IMPORTED_MODULE_21__.ToggleButton),
|
|
8775
|
+
/* harmony export */ "VirtualKeyboard": () => (/* reexport safe */ _virtualKeyboard__WEBPACK_IMPORTED_MODULE_22__.VirtualKeyboard),
|
|
8776
|
+
/* harmony export */ "name": () => (/* reexport safe */ _statics__WEBPACK_IMPORTED_MODULE_30__.name)
|
|
8765
8777
|
/* harmony export */ });
|
|
8766
8778
|
/* harmony import */ var _button__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./button */ "../../../lts/gui/dist/2D/controls/button.js");
|
|
8767
8779
|
/* harmony import */ var _checkbox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./checkbox */ "../../../lts/gui/dist/2D/controls/checkbox.js");
|
|
@@ -8774,25 +8786,27 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
8774
8786
|
/* harmony import */ var _grid__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./grid */ "../../../lts/gui/dist/2D/controls/grid.js");
|
|
8775
8787
|
/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./image */ "../../../lts/gui/dist/2D/controls/image.js");
|
|
8776
8788
|
/* harmony import */ var _inputText__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./inputText */ "../../../lts/gui/dist/2D/controls/inputText.js");
|
|
8777
|
-
/* harmony import */ var
|
|
8778
|
-
/* harmony import */ var
|
|
8779
|
-
/* harmony import */ var
|
|
8780
|
-
/* harmony import */ var
|
|
8781
|
-
/* harmony import */ var
|
|
8782
|
-
/* harmony import */ var
|
|
8783
|
-
/* harmony import */ var
|
|
8784
|
-
/* harmony import */ var
|
|
8785
|
-
/* harmony import */ var
|
|
8786
|
-
/* harmony import */ var
|
|
8787
|
-
/* harmony import */ var
|
|
8788
|
-
/* harmony import */ var
|
|
8789
|
-
/* harmony import */ var
|
|
8790
|
-
/* harmony import */ var
|
|
8791
|
-
/* harmony import */ var
|
|
8792
|
-
/* harmony import */ var
|
|
8793
|
-
/* harmony import */ var
|
|
8794
|
-
/* harmony import */ var
|
|
8795
|
-
/* harmony import */ var
|
|
8789
|
+
/* harmony import */ var _inputTextArea__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./inputTextArea */ "../../../lts/gui/dist/2D/controls/inputTextArea.js");
|
|
8790
|
+
/* harmony import */ var _inputPassword__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./inputPassword */ "../../../lts/gui/dist/2D/controls/inputPassword.js");
|
|
8791
|
+
/* harmony import */ var _line__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./line */ "../../../lts/gui/dist/2D/controls/line.js");
|
|
8792
|
+
/* harmony import */ var _multiLine__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./multiLine */ "../../../lts/gui/dist/2D/controls/multiLine.js");
|
|
8793
|
+
/* harmony import */ var _radioButton__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./radioButton */ "../../../lts/gui/dist/2D/controls/radioButton.js");
|
|
8794
|
+
/* harmony import */ var _stackPanel__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./stackPanel */ "../../../lts/gui/dist/2D/controls/stackPanel.js");
|
|
8795
|
+
/* harmony import */ var _selector__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./selector */ "../../../lts/gui/dist/2D/controls/selector.js");
|
|
8796
|
+
/* harmony import */ var _scrollViewers_scrollViewer__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./scrollViewers/scrollViewer */ "../../../lts/gui/dist/2D/controls/scrollViewers/scrollViewer.js");
|
|
8797
|
+
/* harmony import */ var _textBlock__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./textBlock */ "../../../lts/gui/dist/2D/controls/textBlock.js");
|
|
8798
|
+
/* harmony import */ var _textWrapper__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./textWrapper */ "../../../lts/gui/dist/2D/controls/textWrapper.js");
|
|
8799
|
+
/* harmony import */ var _toggleButton__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./toggleButton */ "../../../lts/gui/dist/2D/controls/toggleButton.js");
|
|
8800
|
+
/* harmony import */ var _virtualKeyboard__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./virtualKeyboard */ "../../../lts/gui/dist/2D/controls/virtualKeyboard.js");
|
|
8801
|
+
/* harmony import */ var _rectangle__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./rectangle */ "../../../lts/gui/dist/2D/controls/rectangle.js");
|
|
8802
|
+
/* harmony import */ var _displayGrid__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./displayGrid */ "../../../lts/gui/dist/2D/controls/displayGrid.js");
|
|
8803
|
+
/* harmony import */ var _sliders_baseSlider__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./sliders/baseSlider */ "../../../lts/gui/dist/2D/controls/sliders/baseSlider.js");
|
|
8804
|
+
/* harmony import */ var _sliders_slider__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./sliders/slider */ "../../../lts/gui/dist/2D/controls/sliders/slider.js");
|
|
8805
|
+
/* harmony import */ var _sliders_imageBasedSlider__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./sliders/imageBasedSlider */ "../../../lts/gui/dist/2D/controls/sliders/imageBasedSlider.js");
|
|
8806
|
+
/* harmony import */ var _sliders_scrollBar__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./sliders/scrollBar */ "../../../lts/gui/dist/2D/controls/sliders/scrollBar.js");
|
|
8807
|
+
/* harmony import */ var _sliders_imageScrollBar__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./sliders/imageScrollBar */ "../../../lts/gui/dist/2D/controls/sliders/imageScrollBar.js");
|
|
8808
|
+
/* harmony import */ var _statics__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./statics */ "../../../lts/gui/dist/2D/controls/statics.js");
|
|
8809
|
+
|
|
8796
8810
|
|
|
8797
8811
|
|
|
8798
8812
|
|
|
@@ -10013,21 +10027,22 @@ var InputText = /** @class */ (function (_super) {
|
|
|
10013
10027
|
|
|
10014
10028
|
/***/ }),
|
|
10015
10029
|
|
|
10016
|
-
/***/ "../../../lts/gui/dist/2D/controls/
|
|
10017
|
-
|
|
10018
|
-
!*** ../../../lts/gui/dist/2D/controls/
|
|
10019
|
-
|
|
10030
|
+
/***/ "../../../lts/gui/dist/2D/controls/inputTextArea.js":
|
|
10031
|
+
/*!**********************************************************!*\
|
|
10032
|
+
!*** ../../../lts/gui/dist/2D/controls/inputTextArea.js ***!
|
|
10033
|
+
\**********************************************************/
|
|
10020
10034
|
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
10021
10035
|
|
|
10022
10036
|
__webpack_require__.r(__webpack_exports__);
|
|
10023
10037
|
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
10024
|
-
/* harmony export */ "
|
|
10038
|
+
/* harmony export */ "InputTextArea": () => (/* binding */ InputTextArea)
|
|
10025
10039
|
/* harmony export */ });
|
|
10026
10040
|
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
|
|
10027
|
-
/* harmony import */ var
|
|
10028
|
-
/* harmony import */ var
|
|
10041
|
+
/* harmony import */ var core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/Misc/decorators */ "core/Misc/observable");
|
|
10042
|
+
/* harmony import */ var core_Misc_observable__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__);
|
|
10029
10043
|
/* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "../../../lts/gui/dist/2D/controls/control.js");
|
|
10030
10044
|
/* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../valueAndUnit */ "../../../lts/gui/dist/2D/valueAndUnit.js");
|
|
10045
|
+
/* harmony import */ var _inputText__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./inputText */ "../../../lts/gui/dist/2D/controls/inputText.js");
|
|
10031
10046
|
|
|
10032
10047
|
|
|
10033
10048
|
|
|
@@ -10035,269 +10050,1358 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
10035
10050
|
|
|
10036
10051
|
|
|
10037
10052
|
|
|
10038
|
-
/**
|
|
10039
|
-
|
|
10040
|
-
|
|
10053
|
+
/**
|
|
10054
|
+
* Class used to create input text control
|
|
10055
|
+
*/
|
|
10056
|
+
var InputTextArea = /** @class */ (function (_super) {
|
|
10057
|
+
(0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(InputTextArea, _super);
|
|
10041
10058
|
/**
|
|
10042
|
-
* Creates a new
|
|
10059
|
+
* Creates a new InputTextArea
|
|
10043
10060
|
* @param name defines the control name
|
|
10061
|
+
* @param text defines the text of the control
|
|
10044
10062
|
*/
|
|
10045
|
-
function
|
|
10063
|
+
function InputTextArea(name, text) {
|
|
10064
|
+
if (text === void 0) { text = ""; }
|
|
10046
10065
|
var _this = _super.call(this, name) || this;
|
|
10047
10066
|
_this.name = name;
|
|
10048
|
-
_this.
|
|
10049
|
-
_this.
|
|
10050
|
-
_this.
|
|
10051
|
-
_this.
|
|
10052
|
-
_this.
|
|
10053
|
-
_this.
|
|
10054
|
-
|
|
10055
|
-
|
|
10056
|
-
|
|
10057
|
-
_this.
|
|
10067
|
+
_this._textHorizontalAlignment = _control__WEBPACK_IMPORTED_MODULE_2__.Control.HORIZONTAL_ALIGNMENT_LEFT;
|
|
10068
|
+
_this._textVerticalAlignment = _control__WEBPACK_IMPORTED_MODULE_2__.Control.VERTICAL_ALIGNMENT_TOP;
|
|
10069
|
+
_this._lineSpacing = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__.ValueAndUnit(0);
|
|
10070
|
+
_this._outlineWidth = 0;
|
|
10071
|
+
_this._outlineColor = "white";
|
|
10072
|
+
_this._maxHeight = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__.ValueAndUnit(1, _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__.ValueAndUnit.UNITMODE_PERCENTAGE, false);
|
|
10073
|
+
/**
|
|
10074
|
+
* An event triggered after the text was broken up into lines
|
|
10075
|
+
*/
|
|
10076
|
+
_this.onLinesReadyObservable = new core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__.Observable();
|
|
10077
|
+
_this.text = text;
|
|
10078
|
+
_this.isPointerBlocker = true;
|
|
10079
|
+
_this.onLinesReadyObservable.add(function () { return _this._updateCursorPosition(); });
|
|
10080
|
+
_this._highlightCursorInfo = {
|
|
10081
|
+
initialStartIndex: -1,
|
|
10082
|
+
initialRelativeStartIndex: -1,
|
|
10083
|
+
initialLineIndex: -1,
|
|
10084
|
+
};
|
|
10085
|
+
_this._cursorInfo = {
|
|
10086
|
+
globalStartIndex: 0,
|
|
10087
|
+
globalEndIndex: 0,
|
|
10088
|
+
relativeEndIndex: 0,
|
|
10089
|
+
relativeStartIndex: 0,
|
|
10090
|
+
currentLineIndex: 0,
|
|
10091
|
+
};
|
|
10058
10092
|
return _this;
|
|
10059
10093
|
}
|
|
10060
|
-
Object.defineProperty(
|
|
10061
|
-
/**
|
|
10094
|
+
Object.defineProperty(InputTextArea.prototype, "outlineWidth", {
|
|
10095
|
+
/**
|
|
10096
|
+
* Gets or sets outlineWidth of the text to display
|
|
10097
|
+
*/
|
|
10062
10098
|
get: function () {
|
|
10063
|
-
return this.
|
|
10099
|
+
return this._outlineWidth;
|
|
10064
10100
|
},
|
|
10101
|
+
/**
|
|
10102
|
+
* Gets or sets outlineWidth of the text to display
|
|
10103
|
+
*/
|
|
10065
10104
|
set: function (value) {
|
|
10066
|
-
if (this.
|
|
10105
|
+
if (this._outlineWidth === value) {
|
|
10067
10106
|
return;
|
|
10068
10107
|
}
|
|
10069
|
-
this.
|
|
10108
|
+
this._outlineWidth = value;
|
|
10070
10109
|
this._markAsDirty();
|
|
10071
10110
|
},
|
|
10072
10111
|
enumerable: false,
|
|
10073
10112
|
configurable: true
|
|
10074
10113
|
});
|
|
10075
|
-
Object.defineProperty(
|
|
10076
|
-
/**
|
|
10114
|
+
Object.defineProperty(InputTextArea.prototype, "outlineColor", {
|
|
10115
|
+
/**
|
|
10116
|
+
* Gets or sets outlineColor of the text to display
|
|
10117
|
+
*/
|
|
10077
10118
|
get: function () {
|
|
10078
|
-
return this.
|
|
10119
|
+
return this._outlineColor;
|
|
10079
10120
|
},
|
|
10121
|
+
/**
|
|
10122
|
+
* Gets or sets outlineColor of the text to display
|
|
10123
|
+
*/
|
|
10080
10124
|
set: function (value) {
|
|
10081
|
-
|
|
10082
|
-
if (this._connectedControl === value) {
|
|
10125
|
+
if (this._outlineColor === value) {
|
|
10083
10126
|
return;
|
|
10084
10127
|
}
|
|
10085
|
-
|
|
10086
|
-
this._connectedControl.onDirtyObservable.remove(this._connectedControlDirtyObserver);
|
|
10087
|
-
this._connectedControlDirtyObserver = null;
|
|
10088
|
-
}
|
|
10089
|
-
if (value) {
|
|
10090
|
-
this._connectedControlDirtyObserver = value.onDirtyObservable.add(function () { return _this._markAsDirty(); });
|
|
10091
|
-
}
|
|
10092
|
-
this._connectedControl = value;
|
|
10128
|
+
this._outlineColor = value;
|
|
10093
10129
|
this._markAsDirty();
|
|
10094
10130
|
},
|
|
10095
10131
|
enumerable: false,
|
|
10096
10132
|
configurable: true
|
|
10097
10133
|
});
|
|
10098
|
-
Object.defineProperty(
|
|
10099
|
-
/** Gets or sets
|
|
10100
|
-
get: function () {
|
|
10101
|
-
return this._x1.toString(this._host);
|
|
10102
|
-
},
|
|
10103
|
-
set: function (value) {
|
|
10104
|
-
if (this._x1.toString(this._host) === value) {
|
|
10105
|
-
return;
|
|
10106
|
-
}
|
|
10107
|
-
if (this._x1.fromString(value)) {
|
|
10108
|
-
this._markAsDirty();
|
|
10109
|
-
}
|
|
10110
|
-
},
|
|
10111
|
-
enumerable: false,
|
|
10112
|
-
configurable: true
|
|
10113
|
-
});
|
|
10114
|
-
Object.defineProperty(Line.prototype, "y1", {
|
|
10115
|
-
/** Gets or sets start coordinates on Y axis */
|
|
10134
|
+
Object.defineProperty(InputTextArea.prototype, "autoStretchHeight", {
|
|
10135
|
+
/** Gets or sets a boolean indicating if the control can auto stretch its height to adapt to the text */
|
|
10116
10136
|
get: function () {
|
|
10117
|
-
return this.
|
|
10137
|
+
return this._autoStretchHeight;
|
|
10118
10138
|
},
|
|
10119
10139
|
set: function (value) {
|
|
10120
|
-
if (this.
|
|
10140
|
+
if (this._autoStretchHeight === value) {
|
|
10121
10141
|
return;
|
|
10122
10142
|
}
|
|
10123
|
-
|
|
10124
|
-
|
|
10125
|
-
}
|
|
10143
|
+
this._autoStretchHeight = value;
|
|
10144
|
+
this._markAsDirty();
|
|
10126
10145
|
},
|
|
10127
10146
|
enumerable: false,
|
|
10128
10147
|
configurable: true
|
|
10129
10148
|
});
|
|
10130
|
-
Object.defineProperty(
|
|
10131
|
-
/** Gets or sets end coordinates on X axis */
|
|
10132
|
-
get: function () {
|
|
10133
|
-
return this._x2.toString(this._host);
|
|
10134
|
-
},
|
|
10149
|
+
Object.defineProperty(InputTextArea.prototype, "height", {
|
|
10135
10150
|
set: function (value) {
|
|
10136
|
-
|
|
10151
|
+
this._fixedRatioMasterIsWidth = false;
|
|
10152
|
+
if (this._height.toString(this._host) === value) {
|
|
10137
10153
|
return;
|
|
10138
10154
|
}
|
|
10139
|
-
if (this.
|
|
10155
|
+
if (this._height.fromString(value)) {
|
|
10140
10156
|
this._markAsDirty();
|
|
10141
10157
|
}
|
|
10158
|
+
this._autoStretchHeight = false;
|
|
10142
10159
|
},
|
|
10143
10160
|
enumerable: false,
|
|
10144
10161
|
configurable: true
|
|
10145
10162
|
});
|
|
10146
|
-
Object.defineProperty(
|
|
10147
|
-
/** Gets or sets end coordinates on Y axis */
|
|
10163
|
+
Object.defineProperty(InputTextArea.prototype, "maxHeight", {
|
|
10148
10164
|
get: function () {
|
|
10149
|
-
return this.
|
|
10165
|
+
return this._maxHeight.toString(this._host);
|
|
10150
10166
|
},
|
|
10151
10167
|
set: function (value) {
|
|
10152
|
-
if (this.
|
|
10168
|
+
if (this._maxHeight.toString(this._host) === value) {
|
|
10153
10169
|
return;
|
|
10154
10170
|
}
|
|
10155
|
-
if (this.
|
|
10171
|
+
if (this._maxHeight.fromString(value)) {
|
|
10156
10172
|
this._markAsDirty();
|
|
10157
10173
|
}
|
|
10158
10174
|
},
|
|
10159
10175
|
enumerable: false,
|
|
10160
10176
|
configurable: true
|
|
10161
10177
|
});
|
|
10162
|
-
Object.defineProperty(
|
|
10163
|
-
/** Gets
|
|
10164
|
-
get: function () {
|
|
10165
|
-
return this._lineWidth;
|
|
10166
|
-
},
|
|
10167
|
-
set: function (value) {
|
|
10168
|
-
if (this._lineWidth === value) {
|
|
10169
|
-
return;
|
|
10170
|
-
}
|
|
10171
|
-
this._lineWidth = value;
|
|
10172
|
-
this._markAsDirty();
|
|
10173
|
-
},
|
|
10174
|
-
enumerable: false,
|
|
10175
|
-
configurable: true
|
|
10176
|
-
});
|
|
10177
|
-
Object.defineProperty(Line.prototype, "horizontalAlignment", {
|
|
10178
|
-
/** Gets or sets horizontal alignment */
|
|
10179
|
-
set: function (value) {
|
|
10180
|
-
return;
|
|
10181
|
-
},
|
|
10182
|
-
enumerable: false,
|
|
10183
|
-
configurable: true
|
|
10184
|
-
});
|
|
10185
|
-
Object.defineProperty(Line.prototype, "verticalAlignment", {
|
|
10186
|
-
/** Gets or sets vertical alignment */
|
|
10187
|
-
set: function (value) {
|
|
10188
|
-
return;
|
|
10189
|
-
},
|
|
10190
|
-
enumerable: false,
|
|
10191
|
-
configurable: true
|
|
10192
|
-
});
|
|
10193
|
-
Object.defineProperty(Line.prototype, "_effectiveX2", {
|
|
10194
|
-
get: function () {
|
|
10195
|
-
return (this._connectedControl ? this._connectedControl.centerX : 0) + this._x2.getValue(this._host);
|
|
10196
|
-
},
|
|
10197
|
-
enumerable: false,
|
|
10198
|
-
configurable: true
|
|
10199
|
-
});
|
|
10200
|
-
Object.defineProperty(Line.prototype, "_effectiveY2", {
|
|
10178
|
+
Object.defineProperty(InputTextArea.prototype, "maxHeightInPixels", {
|
|
10179
|
+
/** Gets the maximum width allowed by the control in pixels */
|
|
10201
10180
|
get: function () {
|
|
10202
|
-
return
|
|
10181
|
+
return this._maxHeight.getValueInPixel(this._host, this._cachedParentMeasure.height);
|
|
10203
10182
|
},
|
|
10204
10183
|
enumerable: false,
|
|
10205
10184
|
configurable: true
|
|
10206
10185
|
});
|
|
10207
|
-
|
|
10208
|
-
return "
|
|
10209
|
-
};
|
|
10210
|
-
Line.prototype._draw = function (context) {
|
|
10211
|
-
context.save();
|
|
10212
|
-
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
10213
|
-
context.shadowColor = this.shadowColor;
|
|
10214
|
-
context.shadowBlur = this.shadowBlur;
|
|
10215
|
-
context.shadowOffsetX = this.shadowOffsetX;
|
|
10216
|
-
context.shadowOffsetY = this.shadowOffsetY;
|
|
10217
|
-
}
|
|
10218
|
-
this._applyStates(context);
|
|
10219
|
-
context.strokeStyle = this.color;
|
|
10220
|
-
context.lineWidth = this._lineWidth;
|
|
10221
|
-
context.setLineDash(this._dash);
|
|
10222
|
-
context.beginPath();
|
|
10223
|
-
context.moveTo(this._cachedParentMeasure.left + this._x1.getValue(this._host), this._cachedParentMeasure.top + this._y1.getValue(this._host));
|
|
10224
|
-
context.lineTo(this._cachedParentMeasure.left + this._effectiveX2, this._cachedParentMeasure.top + this._effectiveY2);
|
|
10225
|
-
context.stroke();
|
|
10226
|
-
context.restore();
|
|
10227
|
-
};
|
|
10228
|
-
Line.prototype._measure = function () {
|
|
10229
|
-
// Width / Height
|
|
10230
|
-
this._currentMeasure.width = Math.abs(this._x1.getValue(this._host) - this._effectiveX2) + this._lineWidth;
|
|
10231
|
-
this._currentMeasure.height = Math.abs(this._y1.getValue(this._host) - this._effectiveY2) + this._lineWidth;
|
|
10232
|
-
};
|
|
10233
|
-
Line.prototype._computeAlignment = function (parentMeasure) {
|
|
10234
|
-
this._currentMeasure.left = parentMeasure.left + Math.min(this._x1.getValue(this._host), this._effectiveX2) - this._lineWidth / 2;
|
|
10235
|
-
this._currentMeasure.top = parentMeasure.top + Math.min(this._y1.getValue(this._host), this._effectiveY2) - this._lineWidth / 2;
|
|
10186
|
+
InputTextArea.prototype._getTypeName = function () {
|
|
10187
|
+
return "InputTextArea";
|
|
10236
10188
|
};
|
|
10237
10189
|
/**
|
|
10238
|
-
*
|
|
10239
|
-
* @param
|
|
10240
|
-
* @param scene Scene
|
|
10241
|
-
* @param end (opt) Set to true to assign x2 and y2 coordinates of the line. Default assign to x1 and y1.
|
|
10190
|
+
* Handles the keyboard event
|
|
10191
|
+
* @param evt Defines the KeyboardEvent
|
|
10242
10192
|
*/
|
|
10243
|
-
|
|
10244
|
-
|
|
10245
|
-
|
|
10246
|
-
|
|
10247
|
-
return;
|
|
10248
|
-
}
|
|
10249
|
-
var globalViewport = this._host._getGlobalViewport();
|
|
10250
|
-
var projectedPosition = core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.Vector3.Project(position, core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.Matrix.Identity(), scene.getTransformMatrix(), globalViewport);
|
|
10251
|
-
this._moveToProjectedPosition(projectedPosition, end);
|
|
10252
|
-
if (projectedPosition.z < 0 || projectedPosition.z > 1) {
|
|
10253
|
-
this.notRenderable = true;
|
|
10254
|
-
return;
|
|
10255
|
-
}
|
|
10256
|
-
this.notRenderable = false;
|
|
10193
|
+
InputTextArea.prototype.processKeyboard = function (evt) {
|
|
10194
|
+
// process pressed key
|
|
10195
|
+
this.alternativeProcessKey(evt.code, evt.key, evt);
|
|
10196
|
+
this.onKeyboardEventProcessedObservable.notifyObservers(evt);
|
|
10257
10197
|
};
|
|
10258
10198
|
/**
|
|
10259
|
-
*
|
|
10260
|
-
*
|
|
10261
|
-
* @param
|
|
10199
|
+
* Process the last keyboard input
|
|
10200
|
+
*
|
|
10201
|
+
* @param code The ascii input number
|
|
10202
|
+
* @param key The key string representation
|
|
10203
|
+
* @param evt The keyboard event emits with input
|
|
10204
|
+
* @hidden
|
|
10262
10205
|
*/
|
|
10263
|
-
|
|
10264
|
-
if
|
|
10265
|
-
|
|
10266
|
-
|
|
10267
|
-
if (end) {
|
|
10268
|
-
this.x2 = x;
|
|
10269
|
-
this.y2 = y;
|
|
10270
|
-
this._x2.ignoreAdaptiveScaling = true;
|
|
10271
|
-
this._y2.ignoreAdaptiveScaling = true;
|
|
10272
|
-
}
|
|
10273
|
-
else {
|
|
10274
|
-
this.x1 = x;
|
|
10275
|
-
this.y1 = y;
|
|
10276
|
-
this._x1.ignoreAdaptiveScaling = true;
|
|
10277
|
-
this._y1.ignoreAdaptiveScaling = true;
|
|
10206
|
+
InputTextArea.prototype.alternativeProcessKey = function (code, key, evt) {
|
|
10207
|
+
//return if clipboard event keys (i.e -ctr/cmd + c,v,x)
|
|
10208
|
+
if (evt && (evt.ctrlKey || evt.metaKey) && (code === "KeyC" || code === "KeyV" || code === "KeyX")) {
|
|
10209
|
+
return;
|
|
10278
10210
|
}
|
|
10279
|
-
|
|
10280
|
-
|
|
10281
|
-
|
|
10282
|
-
|
|
10283
|
-
|
|
10284
|
-
|
|
10285
|
-
|
|
10286
|
-
|
|
10287
|
-
|
|
10288
|
-
|
|
10289
|
-
|
|
10290
|
-
|
|
10291
|
-
|
|
10292
|
-
|
|
10293
|
-
|
|
10294
|
-
|
|
10295
|
-
|
|
10296
|
-
|
|
10297
|
-
|
|
10298
|
-
|
|
10299
|
-
|
|
10300
|
-
|
|
10211
|
+
// Specific cases
|
|
10212
|
+
switch (code) {
|
|
10213
|
+
case "KeyA": // A - select all
|
|
10214
|
+
if (evt && (evt.ctrlKey || evt.metaKey)) {
|
|
10215
|
+
this._selectAllText();
|
|
10216
|
+
evt.preventDefault();
|
|
10217
|
+
return;
|
|
10218
|
+
}
|
|
10219
|
+
break;
|
|
10220
|
+
case "Period": //SLASH
|
|
10221
|
+
if (evt && evt.shiftKey) {
|
|
10222
|
+
evt.preventDefault();
|
|
10223
|
+
}
|
|
10224
|
+
break;
|
|
10225
|
+
case "Backspace": // BACKSPACE
|
|
10226
|
+
if (!this._isTextHighlightOn && this._cursorInfo.globalStartIndex > 0) {
|
|
10227
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex;
|
|
10228
|
+
this._cursorInfo.globalStartIndex--;
|
|
10229
|
+
}
|
|
10230
|
+
this._textWrapper.removePart(this._cursorInfo.globalStartIndex, this._cursorInfo.globalEndIndex);
|
|
10231
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex;
|
|
10232
|
+
if (evt) {
|
|
10233
|
+
evt.preventDefault();
|
|
10234
|
+
}
|
|
10235
|
+
this._blinkIsEven = false;
|
|
10236
|
+
this._isTextHighlightOn = false;
|
|
10237
|
+
this._textHasChanged();
|
|
10238
|
+
break;
|
|
10239
|
+
case "Delete": // DELETE
|
|
10240
|
+
if (!this._isTextHighlightOn && this._cursorInfo.globalEndIndex < this.text.length) {
|
|
10241
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex + 1;
|
|
10242
|
+
}
|
|
10243
|
+
this._textWrapper.removePart(this._cursorInfo.globalStartIndex, this._cursorInfo.globalEndIndex);
|
|
10244
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex;
|
|
10245
|
+
if (evt) {
|
|
10246
|
+
evt.preventDefault();
|
|
10247
|
+
}
|
|
10248
|
+
this._blinkIsEven = false;
|
|
10249
|
+
this._isTextHighlightOn = false;
|
|
10250
|
+
this._textHasChanged();
|
|
10251
|
+
break;
|
|
10252
|
+
case "Enter": // RETURN
|
|
10253
|
+
this._textWrapper.removePart(this._cursorInfo.globalStartIndex, this._cursorInfo.globalEndIndex, "\n");
|
|
10254
|
+
this._cursorInfo.globalStartIndex++;
|
|
10255
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex;
|
|
10256
|
+
this._blinkIsEven = false;
|
|
10257
|
+
this._isTextHighlightOn = false;
|
|
10258
|
+
this._textHasChanged();
|
|
10259
|
+
return;
|
|
10260
|
+
case "End": // END
|
|
10261
|
+
this._cursorInfo.globalStartIndex = this.text.length;
|
|
10262
|
+
this._blinkIsEven = false;
|
|
10263
|
+
this._isTextHighlightOn = false;
|
|
10264
|
+
this._markAsDirty();
|
|
10265
|
+
return;
|
|
10266
|
+
case "Home": // HOME
|
|
10267
|
+
this._cursorInfo.globalStartIndex = 0;
|
|
10268
|
+
this._blinkIsEven = false;
|
|
10269
|
+
this._isTextHighlightOn = false;
|
|
10270
|
+
this._markAsDirty();
|
|
10271
|
+
return;
|
|
10272
|
+
case "ArrowLeft": // LEFT
|
|
10273
|
+
this._markAsDirty();
|
|
10274
|
+
if (evt && evt.shiftKey) {
|
|
10275
|
+
// shift + ctrl/cmd + <-
|
|
10276
|
+
if (evt.ctrlKey || evt.metaKey) {
|
|
10277
|
+
// Go to line's start by substract the relativeStartIndex to the globalStartIndex
|
|
10278
|
+
this._cursorInfo.globalStartIndex -= this._cursorInfo.relativeStartIndex;
|
|
10279
|
+
this._cursorInfo.globalEndIndex = this._highlightCursorInfo.initialStartIndex;
|
|
10280
|
+
}
|
|
10281
|
+
// store the starting point
|
|
10282
|
+
if (!this._isTextHighlightOn) {
|
|
10283
|
+
this._highlightCursorInfo.initialLineIndex = this._cursorInfo.currentLineIndex;
|
|
10284
|
+
this._highlightCursorInfo.initialStartIndex = this._cursorInfo.globalStartIndex;
|
|
10285
|
+
this._highlightCursorInfo.initialRelativeStartIndex = this._cursorInfo.relativeStartIndex;
|
|
10286
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex;
|
|
10287
|
+
this._cursorInfo.globalStartIndex--;
|
|
10288
|
+
this._isTextHighlightOn = true;
|
|
10289
|
+
}
|
|
10290
|
+
else {
|
|
10291
|
+
if (this._cursorInfo.globalEndIndex > this._highlightCursorInfo.initialStartIndex) {
|
|
10292
|
+
this._cursorInfo.globalEndIndex--;
|
|
10293
|
+
}
|
|
10294
|
+
else {
|
|
10295
|
+
this._cursorInfo.globalStartIndex--;
|
|
10296
|
+
}
|
|
10297
|
+
}
|
|
10298
|
+
this._blinkIsEven = true;
|
|
10299
|
+
evt.preventDefault();
|
|
10300
|
+
return;
|
|
10301
|
+
}
|
|
10302
|
+
if (this._isTextHighlightOn) {
|
|
10303
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex;
|
|
10304
|
+
}
|
|
10305
|
+
else if (evt && (evt.ctrlKey || evt.metaKey)) {
|
|
10306
|
+
// ctr + <-
|
|
10307
|
+
this._cursorInfo.globalStartIndex -= this._cursorInfo.relativeStartIndex;
|
|
10308
|
+
evt.preventDefault();
|
|
10309
|
+
}
|
|
10310
|
+
else if (this._cursorInfo.globalStartIndex > 0) {
|
|
10311
|
+
this._cursorInfo.globalStartIndex--;
|
|
10312
|
+
}
|
|
10313
|
+
// update the cursor
|
|
10314
|
+
this._blinkIsEven = false;
|
|
10315
|
+
this._isTextHighlightOn = false;
|
|
10316
|
+
return;
|
|
10317
|
+
case "ArrowRight": // RIGHT
|
|
10318
|
+
this._markAsDirty();
|
|
10319
|
+
if (evt && evt.shiftKey) {
|
|
10320
|
+
// shift + ctrl/cmd + ->
|
|
10321
|
+
if (evt.ctrlKey || evt.metaKey) {
|
|
10322
|
+
var rightDelta = this._lines[this._cursorInfo.currentLineIndex].text.length - this._cursorInfo.relativeEndIndex - 1;
|
|
10323
|
+
this._cursorInfo.globalEndIndex += rightDelta;
|
|
10324
|
+
this._cursorInfo.globalStartIndex = this._highlightCursorInfo.initialStartIndex;
|
|
10325
|
+
}
|
|
10326
|
+
// store the starting point
|
|
10327
|
+
if (!this._isTextHighlightOn) {
|
|
10328
|
+
this._highlightCursorInfo.initialLineIndex = this._cursorInfo.currentLineIndex;
|
|
10329
|
+
this._highlightCursorInfo.initialStartIndex = this._cursorInfo.globalStartIndex;
|
|
10330
|
+
this._highlightCursorInfo.initialRelativeStartIndex = this._cursorInfo.relativeStartIndex;
|
|
10331
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex;
|
|
10332
|
+
this._cursorInfo.globalEndIndex++;
|
|
10333
|
+
this._isTextHighlightOn = true;
|
|
10334
|
+
}
|
|
10335
|
+
else {
|
|
10336
|
+
if (this._cursorInfo.globalStartIndex < this._highlightCursorInfo.initialStartIndex) {
|
|
10337
|
+
this._cursorInfo.globalStartIndex++;
|
|
10338
|
+
}
|
|
10339
|
+
else {
|
|
10340
|
+
this._cursorInfo.globalEndIndex++;
|
|
10341
|
+
}
|
|
10342
|
+
}
|
|
10343
|
+
this._blinkIsEven = true;
|
|
10344
|
+
evt.preventDefault();
|
|
10345
|
+
return;
|
|
10346
|
+
}
|
|
10347
|
+
if (this._isTextHighlightOn) {
|
|
10348
|
+
this._cursorInfo.globalStartIndex = this._cursorInfo.globalEndIndex;
|
|
10349
|
+
}
|
|
10350
|
+
else if (evt && (evt.ctrlKey || evt.metaKey)) {
|
|
10351
|
+
//ctr + ->
|
|
10352
|
+
var rightDelta = this._lines[this._cursorInfo.currentLineIndex].text.length - this._cursorInfo.relativeEndIndex;
|
|
10353
|
+
this._cursorInfo.globalStartIndex += rightDelta;
|
|
10354
|
+
}
|
|
10355
|
+
else if (this._cursorInfo.globalStartIndex < this.text.length) {
|
|
10356
|
+
this._cursorInfo.globalStartIndex++;
|
|
10357
|
+
}
|
|
10358
|
+
// update the cursor
|
|
10359
|
+
this._blinkIsEven = false;
|
|
10360
|
+
this._isTextHighlightOn = false;
|
|
10361
|
+
return;
|
|
10362
|
+
case "ArrowUp": // UP
|
|
10363
|
+
// update the cursor
|
|
10364
|
+
this._blinkIsEven = false;
|
|
10365
|
+
if (evt) {
|
|
10366
|
+
if (evt.shiftKey) {
|
|
10367
|
+
if (!this._isTextHighlightOn) {
|
|
10368
|
+
this._highlightCursorInfo.initialLineIndex = this._cursorInfo.currentLineIndex;
|
|
10369
|
+
this._highlightCursorInfo.initialStartIndex = this._cursorInfo.globalStartIndex;
|
|
10370
|
+
this._highlightCursorInfo.initialRelativeStartIndex = this._cursorInfo.relativeStartIndex;
|
|
10371
|
+
}
|
|
10372
|
+
this._isTextHighlightOn = true;
|
|
10373
|
+
this._blinkIsEven = true;
|
|
10374
|
+
}
|
|
10375
|
+
else {
|
|
10376
|
+
this._isTextHighlightOn = false;
|
|
10377
|
+
}
|
|
10378
|
+
evt.preventDefault();
|
|
10379
|
+
}
|
|
10380
|
+
if (this._cursorInfo.currentLineIndex === 0) {
|
|
10381
|
+
// First line
|
|
10382
|
+
this._cursorInfo.globalStartIndex = 0;
|
|
10383
|
+
}
|
|
10384
|
+
else {
|
|
10385
|
+
var currentLine = this._lines[this._cursorInfo.currentLineIndex];
|
|
10386
|
+
var upperLine = this._lines[this._cursorInfo.currentLineIndex - 1];
|
|
10387
|
+
var tmpIndex = 0;
|
|
10388
|
+
var relativeIndex = 0;
|
|
10389
|
+
if (!this._isTextHighlightOn || this._cursorInfo.currentLineIndex < this._highlightCursorInfo.initialLineIndex) {
|
|
10390
|
+
tmpIndex = this._cursorInfo.globalStartIndex;
|
|
10391
|
+
relativeIndex = this._cursorInfo.relativeStartIndex;
|
|
10392
|
+
}
|
|
10393
|
+
else {
|
|
10394
|
+
tmpIndex = this._cursorInfo.globalEndIndex;
|
|
10395
|
+
relativeIndex = this._cursorInfo.relativeEndIndex;
|
|
10396
|
+
}
|
|
10397
|
+
var currentText = currentLine.text.substr(0, relativeIndex);
|
|
10398
|
+
var currentWidth = this._contextForBreakLines.measureText(currentText).width;
|
|
10399
|
+
var upperWidth = 0;
|
|
10400
|
+
var previousWidth = 0;
|
|
10401
|
+
tmpIndex -= relativeIndex; // Start of current line
|
|
10402
|
+
tmpIndex -= upperLine.text.length + upperLine.lineEnding.length; // Start of upper line
|
|
10403
|
+
var upperLineRelativeIndex = 0;
|
|
10404
|
+
while (upperWidth < currentWidth && upperLineRelativeIndex < upperLine.text.length) {
|
|
10405
|
+
tmpIndex++;
|
|
10406
|
+
upperLineRelativeIndex++;
|
|
10407
|
+
previousWidth = Math.abs(currentWidth - upperWidth);
|
|
10408
|
+
upperWidth = this._contextForBreakLines.measureText(upperLine.text.substr(0, upperLineRelativeIndex)).width;
|
|
10409
|
+
}
|
|
10410
|
+
// Find closest move
|
|
10411
|
+
if (Math.abs(currentWidth - upperWidth) > previousWidth && upperLineRelativeIndex > 0) {
|
|
10412
|
+
tmpIndex--;
|
|
10413
|
+
}
|
|
10414
|
+
if (!this._isTextHighlightOn) {
|
|
10415
|
+
this._cursorInfo.globalStartIndex = tmpIndex;
|
|
10416
|
+
}
|
|
10417
|
+
else if (this._cursorInfo.currentLineIndex <= this._highlightCursorInfo.initialLineIndex) {
|
|
10418
|
+
this._cursorInfo.globalStartIndex = tmpIndex;
|
|
10419
|
+
this._cursorInfo.globalEndIndex = this._highlightCursorInfo.initialStartIndex;
|
|
10420
|
+
this._cursorInfo.relativeEndIndex = this._highlightCursorInfo.initialRelativeStartIndex;
|
|
10421
|
+
}
|
|
10422
|
+
else {
|
|
10423
|
+
this._cursorInfo.globalEndIndex = tmpIndex;
|
|
10424
|
+
}
|
|
10425
|
+
}
|
|
10426
|
+
this._markAsDirty();
|
|
10427
|
+
return;
|
|
10428
|
+
case "ArrowDown": // DOWN
|
|
10429
|
+
// update the cursor
|
|
10430
|
+
this._blinkIsEven = false;
|
|
10431
|
+
if (evt) {
|
|
10432
|
+
if (evt.shiftKey) {
|
|
10433
|
+
if (!this._isTextHighlightOn) {
|
|
10434
|
+
this._highlightCursorInfo.initialLineIndex = this._cursorInfo.currentLineIndex;
|
|
10435
|
+
this._highlightCursorInfo.initialStartIndex = this._cursorInfo.globalStartIndex;
|
|
10436
|
+
this._highlightCursorInfo.initialRelativeStartIndex = this._cursorInfo.relativeStartIndex;
|
|
10437
|
+
}
|
|
10438
|
+
this._isTextHighlightOn = true;
|
|
10439
|
+
this._blinkIsEven = true;
|
|
10440
|
+
}
|
|
10441
|
+
else {
|
|
10442
|
+
this._isTextHighlightOn = false;
|
|
10443
|
+
}
|
|
10444
|
+
evt.preventDefault();
|
|
10445
|
+
}
|
|
10446
|
+
if (this._cursorInfo.currentLineIndex === this._lines.length - 1) {
|
|
10447
|
+
// Last line
|
|
10448
|
+
this._cursorInfo.globalStartIndex = this.text.length;
|
|
10449
|
+
}
|
|
10450
|
+
else {
|
|
10451
|
+
var currentLine = this._lines[this._cursorInfo.currentLineIndex];
|
|
10452
|
+
var underLine = this._lines[this._cursorInfo.currentLineIndex + 1];
|
|
10453
|
+
var tmpIndex = 0;
|
|
10454
|
+
var relativeIndex = 0;
|
|
10455
|
+
if (!this._isTextHighlightOn || this._cursorInfo.currentLineIndex < this._highlightCursorInfo.initialLineIndex) {
|
|
10456
|
+
tmpIndex = this._cursorInfo.globalStartIndex;
|
|
10457
|
+
relativeIndex = this._cursorInfo.relativeStartIndex;
|
|
10458
|
+
}
|
|
10459
|
+
else {
|
|
10460
|
+
tmpIndex = this._cursorInfo.globalEndIndex;
|
|
10461
|
+
relativeIndex = this._cursorInfo.relativeEndIndex;
|
|
10462
|
+
}
|
|
10463
|
+
var currentText = currentLine.text.substr(0, relativeIndex);
|
|
10464
|
+
var currentWidth = this._contextForBreakLines.measureText(currentText).width;
|
|
10465
|
+
var underWidth = 0;
|
|
10466
|
+
var previousWidth = 0;
|
|
10467
|
+
tmpIndex += currentLine.text.length - relativeIndex + currentLine.lineEnding.length; // Start of current line
|
|
10468
|
+
var underLineRelativeIndex = 0;
|
|
10469
|
+
while (underWidth < currentWidth && underLineRelativeIndex < underLine.text.length) {
|
|
10470
|
+
tmpIndex++;
|
|
10471
|
+
underLineRelativeIndex++;
|
|
10472
|
+
previousWidth = Math.abs(currentWidth - underWidth);
|
|
10473
|
+
underWidth = this._contextForBreakLines.measureText(underLine.text.substr(0, underLineRelativeIndex)).width;
|
|
10474
|
+
}
|
|
10475
|
+
// Find closest move
|
|
10476
|
+
if (Math.abs(currentWidth - underWidth) > previousWidth && underLineRelativeIndex > 0) {
|
|
10477
|
+
tmpIndex--;
|
|
10478
|
+
}
|
|
10479
|
+
if (!this._isTextHighlightOn) {
|
|
10480
|
+
this._cursorInfo.globalStartIndex = tmpIndex;
|
|
10481
|
+
}
|
|
10482
|
+
else if (this._cursorInfo.currentLineIndex < this._highlightCursorInfo.initialLineIndex) {
|
|
10483
|
+
this._cursorInfo.globalStartIndex = tmpIndex;
|
|
10484
|
+
if (this._cursorInfo.globalStartIndex > this._cursorInfo.globalEndIndex) {
|
|
10485
|
+
this._cursorInfo.globalEndIndex += this._cursorInfo.globalStartIndex;
|
|
10486
|
+
this._cursorInfo.globalStartIndex = this._cursorInfo.globalEndIndex - this._cursorInfo.globalStartIndex;
|
|
10487
|
+
this._cursorInfo.globalEndIndex -= this._cursorInfo.globalStartIndex;
|
|
10488
|
+
}
|
|
10489
|
+
}
|
|
10490
|
+
else {
|
|
10491
|
+
this._cursorInfo.globalEndIndex = tmpIndex;
|
|
10492
|
+
this._cursorInfo.globalStartIndex = this._highlightCursorInfo.initialStartIndex;
|
|
10493
|
+
}
|
|
10494
|
+
}
|
|
10495
|
+
this._markAsDirty();
|
|
10496
|
+
return;
|
|
10497
|
+
}
|
|
10498
|
+
// Printable characters
|
|
10499
|
+
if ((key === null || key === void 0 ? void 0 : key.length) === 1) {
|
|
10500
|
+
evt === null || evt === void 0 ? void 0 : evt.preventDefault();
|
|
10501
|
+
this._currentKey = key;
|
|
10502
|
+
this.onBeforeKeyAddObservable.notifyObservers(this);
|
|
10503
|
+
key = this._currentKey;
|
|
10504
|
+
if (this._addKey) {
|
|
10505
|
+
this._isTextHighlightOn = false;
|
|
10506
|
+
this._blinkIsEven = false;
|
|
10507
|
+
this._textWrapper.removePart(this._cursorInfo.globalStartIndex, this._cursorInfo.globalEndIndex, key);
|
|
10508
|
+
this._cursorInfo.globalStartIndex += key.length;
|
|
10509
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex;
|
|
10510
|
+
this._textHasChanged();
|
|
10511
|
+
}
|
|
10512
|
+
}
|
|
10513
|
+
};
|
|
10514
|
+
InputTextArea.prototype._parseLineWordWrap = function (line, width, context) {
|
|
10515
|
+
if (line === void 0) { line = ""; }
|
|
10516
|
+
var lines = [];
|
|
10517
|
+
var words = line.split(" ");
|
|
10518
|
+
var lineWidth = 0;
|
|
10519
|
+
var _loop_1 = function (n) {
|
|
10520
|
+
var testLine = n > 0 ? line + " " + words[n] : words[0];
|
|
10521
|
+
var metrics = context.measureText(testLine);
|
|
10522
|
+
var testWidth = metrics.width;
|
|
10523
|
+
if (testWidth > width) {
|
|
10524
|
+
if (n > 0) {
|
|
10525
|
+
// Avoid first word duplication if of too long
|
|
10526
|
+
lineWidth = context.measureText(line).width;
|
|
10527
|
+
lines.push({ text: line, width: lineWidth, lineEnding: " " });
|
|
10528
|
+
}
|
|
10529
|
+
line = words[n];
|
|
10530
|
+
var flushedLine_1 = "";
|
|
10531
|
+
line.split("").map(function (char) {
|
|
10532
|
+
if (context.measureText(flushedLine_1 + char).width > width) {
|
|
10533
|
+
lines.push({ text: flushedLine_1, width: context.measureText(flushedLine_1).width, lineEnding: "\n" });
|
|
10534
|
+
flushedLine_1 = "";
|
|
10535
|
+
}
|
|
10536
|
+
flushedLine_1 += char;
|
|
10537
|
+
});
|
|
10538
|
+
line = flushedLine_1;
|
|
10539
|
+
// Measure remaining characters
|
|
10540
|
+
lineWidth = context.measureText(line).width;
|
|
10541
|
+
}
|
|
10542
|
+
else {
|
|
10543
|
+
lineWidth = testWidth;
|
|
10544
|
+
line = testLine;
|
|
10545
|
+
}
|
|
10546
|
+
};
|
|
10547
|
+
for (var n = 0; n < words.length; n++) {
|
|
10548
|
+
_loop_1(n);
|
|
10549
|
+
}
|
|
10550
|
+
lines.push({ text: line, width: lineWidth, lineEnding: " " });
|
|
10551
|
+
return lines;
|
|
10552
|
+
};
|
|
10553
|
+
InputTextArea.prototype._breakLines = function (refWidth, context) {
|
|
10554
|
+
var lines = [];
|
|
10555
|
+
var _lines = this.text.split("\n");
|
|
10556
|
+
if (this.clipContent) {
|
|
10557
|
+
for (var _i = 0, _lines_1 = _lines; _i < _lines_1.length; _i++) {
|
|
10558
|
+
var _line = _lines_1[_i];
|
|
10559
|
+
lines.push.apply(lines, this._parseLineWordWrap(_line, refWidth, context));
|
|
10560
|
+
}
|
|
10561
|
+
}
|
|
10562
|
+
else {
|
|
10563
|
+
for (var _a = 0, _lines_2 = _lines; _a < _lines_2.length; _a++) {
|
|
10564
|
+
var _line = _lines_2[_a];
|
|
10565
|
+
lines.push(this._parseLine(_line, context));
|
|
10566
|
+
}
|
|
10567
|
+
}
|
|
10568
|
+
lines[lines.length - 1].lineEnding = "\n";
|
|
10569
|
+
return lines;
|
|
10570
|
+
};
|
|
10571
|
+
InputTextArea.prototype._parseLine = function (line, context) {
|
|
10572
|
+
if (line === void 0) { line = ""; }
|
|
10573
|
+
return { text: line, width: context.measureText(line).width, lineEnding: " " };
|
|
10574
|
+
};
|
|
10575
|
+
/**
|
|
10576
|
+
* Processing of child right before the parent measurement update
|
|
10577
|
+
*
|
|
10578
|
+
* @param parentMeasure The parent measure
|
|
10579
|
+
* @param context The rendering canvas
|
|
10580
|
+
* @hidden
|
|
10581
|
+
*/
|
|
10582
|
+
InputTextArea.prototype._preMeasure = function (parentMeasure, context) {
|
|
10583
|
+
if (!this._fontOffset || this._wasDirty) {
|
|
10584
|
+
this._fontOffset = _control__WEBPACK_IMPORTED_MODULE_2__.Control._GetFontOffset(context.font);
|
|
10585
|
+
}
|
|
10586
|
+
var text = this._beforeRenderText(this._textWrapper).text;
|
|
10587
|
+
// placeholder conditions and color setting
|
|
10588
|
+
if (!this._isFocused && !this.text && this._placeholderText) {
|
|
10589
|
+
text = this._placeholderText;
|
|
10590
|
+
if (this._placeholderColor) {
|
|
10591
|
+
context.fillStyle = this._placeholderColor;
|
|
10592
|
+
}
|
|
10593
|
+
}
|
|
10594
|
+
// measures the textlength -> this.measure.width
|
|
10595
|
+
this._textWidth = context.measureText(text).width;
|
|
10596
|
+
// we double up the margin width
|
|
10597
|
+
var marginWidth = this._margin.getValueInPixel(this._host, parentMeasure.width) * 2;
|
|
10598
|
+
if (this._autoStretchWidth) {
|
|
10599
|
+
var tmpLines = text.split("\n");
|
|
10600
|
+
var longerString = tmpLines.reduce(function (acc, val) {
|
|
10601
|
+
var valueLength = context.measureText(val).width;
|
|
10602
|
+
var accLength = context.measureText(acc).width;
|
|
10603
|
+
return valueLength > accLength ? val : acc;
|
|
10604
|
+
}, "");
|
|
10605
|
+
var longerStringWidth = context.measureText(longerString).width;
|
|
10606
|
+
this.width = Math.min(this._maxWidth.getValueInPixel(this._host, parentMeasure.width), longerStringWidth + marginWidth) + "px";
|
|
10607
|
+
this.autoStretchWidth = true;
|
|
10608
|
+
}
|
|
10609
|
+
this._availableWidth = this._width.getValueInPixel(this._host, parentMeasure.width) - marginWidth;
|
|
10610
|
+
// Prepare lines
|
|
10611
|
+
this._lines = this._breakLines(this._availableWidth, context);
|
|
10612
|
+
// can we find a cleaner implementation here?
|
|
10613
|
+
this._contextForBreakLines = context;
|
|
10614
|
+
if (this._autoStretchHeight) {
|
|
10615
|
+
var textHeight = this._lines.length * this._fontOffset.height;
|
|
10616
|
+
var totalHeight = textHeight + this._margin.getValueInPixel(this._host, parentMeasure.height) * 2;
|
|
10617
|
+
this.height = Math.min(this._maxHeight.getValueInPixel(this._host, parentMeasure.height), totalHeight) + "px";
|
|
10618
|
+
this._autoStretchHeight = true;
|
|
10619
|
+
}
|
|
10620
|
+
this._availableHeight = this._height.getValueInPixel(this._host, parentMeasure.height) - marginWidth;
|
|
10621
|
+
if (this._isFocused) {
|
|
10622
|
+
this._cursorInfo.currentLineIndex = 0;
|
|
10623
|
+
var lineLength = this._lines[this._cursorInfo.currentLineIndex].text.length + this._lines[this._cursorInfo.currentLineIndex].lineEnding.length;
|
|
10624
|
+
var tmpLength = 0;
|
|
10625
|
+
while (tmpLength + lineLength <= this._cursorInfo.globalStartIndex) {
|
|
10626
|
+
tmpLength += lineLength;
|
|
10627
|
+
if (this._cursorInfo.currentLineIndex < this._lines.length - 1) {
|
|
10628
|
+
this._cursorInfo.currentLineIndex++;
|
|
10629
|
+
lineLength = this._lines[this._cursorInfo.currentLineIndex].text.length + this._lines[this._cursorInfo.currentLineIndex].lineEnding.length;
|
|
10630
|
+
}
|
|
10631
|
+
}
|
|
10632
|
+
}
|
|
10633
|
+
};
|
|
10634
|
+
/**
|
|
10635
|
+
* Processing of child after the parent measurement update
|
|
10636
|
+
*
|
|
10637
|
+
* @param parentMeasure The parent measure
|
|
10638
|
+
* @param context The rendering canvas
|
|
10639
|
+
* @hidden
|
|
10640
|
+
*/
|
|
10641
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
10642
|
+
InputTextArea.prototype._additionalProcessing = function (parentMeasure, context) {
|
|
10643
|
+
this._clipTextLeft = this._currentMeasure.left + this._margin.getValueInPixel(this._host, parentMeasure.width);
|
|
10644
|
+
this._clipTextTop = this._currentMeasure.top + this._margin.getValueInPixel(this._host, parentMeasure.height);
|
|
10645
|
+
if (this._isFocused && this._lines[this._cursorInfo.currentLineIndex].width > this._availableWidth) {
|
|
10646
|
+
var textLeft = this._clipTextLeft - this._lines[this._cursorInfo.currentLineIndex].width + this._availableWidth;
|
|
10647
|
+
if (!this._scrollLeft) {
|
|
10648
|
+
this._scrollLeft = textLeft;
|
|
10649
|
+
}
|
|
10650
|
+
}
|
|
10651
|
+
else {
|
|
10652
|
+
this._scrollLeft = this._clipTextLeft;
|
|
10653
|
+
}
|
|
10654
|
+
if (this._isFocused && !this._autoStretchHeight) {
|
|
10655
|
+
var selectedHeight = (this._cursorInfo.currentLineIndex + 1) * this._fontOffset.height;
|
|
10656
|
+
var textTop = this._clipTextTop - selectedHeight;
|
|
10657
|
+
if (!this._scrollTop) {
|
|
10658
|
+
this._scrollTop = textTop;
|
|
10659
|
+
}
|
|
10660
|
+
}
|
|
10661
|
+
else {
|
|
10662
|
+
this._scrollTop = this._clipTextTop;
|
|
10663
|
+
}
|
|
10664
|
+
// Flush the highlighted text each frame
|
|
10665
|
+
this.highlightedText = "";
|
|
10666
|
+
this.onLinesReadyObservable.notifyObservers(this);
|
|
10667
|
+
};
|
|
10668
|
+
InputTextArea.prototype._drawText = function (text, textWidth, y, context) {
|
|
10669
|
+
var width = this._currentMeasure.width;
|
|
10670
|
+
var x = this._scrollLeft;
|
|
10671
|
+
switch (this._textHorizontalAlignment) {
|
|
10672
|
+
case _control__WEBPACK_IMPORTED_MODULE_2__.Control.HORIZONTAL_ALIGNMENT_LEFT:
|
|
10673
|
+
x += 0;
|
|
10674
|
+
break;
|
|
10675
|
+
case _control__WEBPACK_IMPORTED_MODULE_2__.Control.HORIZONTAL_ALIGNMENT_RIGHT:
|
|
10676
|
+
x += width - textWidth;
|
|
10677
|
+
break;
|
|
10678
|
+
case _control__WEBPACK_IMPORTED_MODULE_2__.Control.HORIZONTAL_ALIGNMENT_CENTER:
|
|
10679
|
+
x += (width - textWidth) / 2;
|
|
10680
|
+
break;
|
|
10681
|
+
}
|
|
10682
|
+
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
10683
|
+
context.shadowColor = this.shadowColor;
|
|
10684
|
+
context.shadowBlur = this.shadowBlur;
|
|
10685
|
+
context.shadowOffsetX = this.shadowOffsetX;
|
|
10686
|
+
context.shadowOffsetY = this.shadowOffsetY;
|
|
10687
|
+
}
|
|
10688
|
+
if (this.outlineWidth) {
|
|
10689
|
+
context.strokeText(text, this._currentMeasure.left + x, y);
|
|
10690
|
+
}
|
|
10691
|
+
context.fillText(text, x, y);
|
|
10692
|
+
};
|
|
10693
|
+
/**
|
|
10694
|
+
* Copy the text in the clipboard
|
|
10695
|
+
*
|
|
10696
|
+
* @param ev The clipboard event
|
|
10697
|
+
* @hidden
|
|
10698
|
+
*/
|
|
10699
|
+
InputTextArea.prototype._onCopyText = function (ev) {
|
|
10700
|
+
this._isTextHighlightOn = false;
|
|
10701
|
+
//when write permission to clipbaord data is denied
|
|
10702
|
+
try {
|
|
10703
|
+
ev.clipboardData && ev.clipboardData.setData("text/plain", this._highlightedText);
|
|
10704
|
+
}
|
|
10705
|
+
catch (_a) { } //pass
|
|
10706
|
+
this._host.clipboardData = this._highlightedText;
|
|
10707
|
+
};
|
|
10708
|
+
/**
|
|
10709
|
+
* Cut the text and copy it in the clipboard
|
|
10710
|
+
*
|
|
10711
|
+
* @param ev The clipboard event
|
|
10712
|
+
* @hidden
|
|
10713
|
+
*/
|
|
10714
|
+
InputTextArea.prototype._onCutText = function (ev) {
|
|
10715
|
+
if (!this._highlightedText) {
|
|
10716
|
+
return;
|
|
10717
|
+
}
|
|
10718
|
+
//when write permission to clipbaord data is denied
|
|
10719
|
+
try {
|
|
10720
|
+
ev.clipboardData && ev.clipboardData.setData("text/plain", this._highlightedText);
|
|
10721
|
+
}
|
|
10722
|
+
catch (_a) { } //pass
|
|
10723
|
+
this._host.clipboardData = this._highlightedText;
|
|
10724
|
+
this._textWrapper.removePart(this._cursorInfo.globalStartIndex, this._cursorInfo.globalEndIndex);
|
|
10725
|
+
this._textHasChanged();
|
|
10726
|
+
};
|
|
10727
|
+
/**
|
|
10728
|
+
* Paste the copied text from the clipboard
|
|
10729
|
+
*
|
|
10730
|
+
* @param ev The clipboard event
|
|
10731
|
+
* @hidden
|
|
10732
|
+
*/
|
|
10733
|
+
InputTextArea.prototype._onPasteText = function (ev) {
|
|
10734
|
+
var data = "";
|
|
10735
|
+
if (ev.clipboardData && ev.clipboardData.types.indexOf("text/plain") !== -1) {
|
|
10736
|
+
data = ev.clipboardData.getData("text/plain");
|
|
10737
|
+
}
|
|
10738
|
+
else {
|
|
10739
|
+
//get the cached data; returns blank string by default
|
|
10740
|
+
data = this._host.clipboardData;
|
|
10741
|
+
}
|
|
10742
|
+
this._isTextHighlightOn = false;
|
|
10743
|
+
this._textWrapper.removePart(this._cursorInfo.globalStartIndex, this._cursorInfo.globalEndIndex, data);
|
|
10744
|
+
var deltaIndex = data.length - (this._cursorInfo.globalEndIndex - this._cursorInfo.globalStartIndex);
|
|
10745
|
+
this._cursorInfo.globalStartIndex += deltaIndex;
|
|
10746
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex;
|
|
10747
|
+
this._textHasChanged();
|
|
10748
|
+
};
|
|
10749
|
+
InputTextArea.prototype._draw = function (context) {
|
|
10750
|
+
var _a, _b;
|
|
10751
|
+
this._scrollLeft = (_a = this._scrollLeft) !== null && _a !== void 0 ? _a : 0;
|
|
10752
|
+
this._scrollTop = (_b = this._scrollTop) !== null && _b !== void 0 ? _b : 0;
|
|
10753
|
+
context.save();
|
|
10754
|
+
this._applyStates(context);
|
|
10755
|
+
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
10756
|
+
context.shadowColor = this.shadowColor;
|
|
10757
|
+
context.shadowBlur = this.shadowBlur;
|
|
10758
|
+
context.shadowOffsetX = this.shadowOffsetX;
|
|
10759
|
+
context.shadowOffsetY = this.shadowOffsetY;
|
|
10760
|
+
}
|
|
10761
|
+
// Background
|
|
10762
|
+
if (this._isFocused) {
|
|
10763
|
+
if (this._focusedBackground) {
|
|
10764
|
+
context.fillStyle = this._isEnabled ? this._focusedBackground : this._disabledColor;
|
|
10765
|
+
context.fillRect(this._currentMeasure.left, this._currentMeasure.top, this._currentMeasure.width, this._currentMeasure.height);
|
|
10766
|
+
}
|
|
10767
|
+
}
|
|
10768
|
+
else if (this._background) {
|
|
10769
|
+
context.fillStyle = this._isEnabled ? this._background : this._disabledColor;
|
|
10770
|
+
context.fillRect(this._currentMeasure.left, this._currentMeasure.top, this._currentMeasure.width, this._currentMeasure.height);
|
|
10771
|
+
}
|
|
10772
|
+
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
10773
|
+
context.shadowBlur = 0;
|
|
10774
|
+
context.shadowOffsetX = 0;
|
|
10775
|
+
context.shadowOffsetY = 0;
|
|
10776
|
+
}
|
|
10777
|
+
// sets the color of the rectangle (border if background available)
|
|
10778
|
+
if (this.color) {
|
|
10779
|
+
context.fillStyle = this.color;
|
|
10780
|
+
}
|
|
10781
|
+
var height = this._currentMeasure.height;
|
|
10782
|
+
var width = this._currentMeasure.width;
|
|
10783
|
+
var rootY = 0;
|
|
10784
|
+
switch (this._textVerticalAlignment) {
|
|
10785
|
+
case _control__WEBPACK_IMPORTED_MODULE_2__.Control.VERTICAL_ALIGNMENT_TOP:
|
|
10786
|
+
rootY = this._fontOffset.ascent;
|
|
10787
|
+
break;
|
|
10788
|
+
case _control__WEBPACK_IMPORTED_MODULE_2__.Control.VERTICAL_ALIGNMENT_BOTTOM:
|
|
10789
|
+
rootY = height - this._fontOffset.height * (this._lines.length - 1) - this._fontOffset.descent;
|
|
10790
|
+
break;
|
|
10791
|
+
case _control__WEBPACK_IMPORTED_MODULE_2__.Control.VERTICAL_ALIGNMENT_CENTER:
|
|
10792
|
+
rootY = this._fontOffset.ascent + (height - this._fontOffset.height * this._lines.length) / 2;
|
|
10793
|
+
break;
|
|
10794
|
+
}
|
|
10795
|
+
context.save();
|
|
10796
|
+
context.beginPath();
|
|
10797
|
+
context.fillStyle = this.fontStyle;
|
|
10798
|
+
// here we define the visible reactangle to clip it in next line
|
|
10799
|
+
context.rect(this._clipTextLeft, this._clipTextTop, this._availableWidth + 2, this._availableHeight + 2);
|
|
10800
|
+
context.clip();
|
|
10801
|
+
// Text
|
|
10802
|
+
rootY += this._scrollTop;
|
|
10803
|
+
for (var i = 0; i < this._lines.length; i++) {
|
|
10804
|
+
var line = this._lines[i];
|
|
10805
|
+
if (i !== 0 && this._lineSpacing.internalValue !== 0) {
|
|
10806
|
+
if (this._lineSpacing.isPixel) {
|
|
10807
|
+
rootY += this._lineSpacing.getValue(this._host);
|
|
10808
|
+
}
|
|
10809
|
+
else {
|
|
10810
|
+
rootY = rootY + this._lineSpacing.getValue(this._host) * this._height.getValueInPixel(this._host, this._cachedParentMeasure.height);
|
|
10811
|
+
}
|
|
10812
|
+
}
|
|
10813
|
+
this._drawText(line.text, line.width, rootY, context);
|
|
10814
|
+
rootY += this._fontOffset.height;
|
|
10815
|
+
}
|
|
10816
|
+
context.restore();
|
|
10817
|
+
// Cursor
|
|
10818
|
+
if (this._isFocused) {
|
|
10819
|
+
// Render cursor
|
|
10820
|
+
if (!this._blinkIsEven || this._isTextHighlightOn) {
|
|
10821
|
+
var cursorLeft = this._scrollLeft + context.measureText(this._lines[this._cursorInfo.currentLineIndex].text.substr(0, this._cursorInfo.relativeStartIndex)).width;
|
|
10822
|
+
if (cursorLeft < this._clipTextLeft) {
|
|
10823
|
+
this._scrollLeft += this._clipTextLeft - cursorLeft;
|
|
10824
|
+
cursorLeft = this._clipTextLeft;
|
|
10825
|
+
this._markAsDirty();
|
|
10826
|
+
}
|
|
10827
|
+
else if (cursorLeft > this._clipTextLeft + this._availableWidth) {
|
|
10828
|
+
this._scrollLeft += this._clipTextLeft + this._availableWidth - cursorLeft;
|
|
10829
|
+
cursorLeft = this._clipTextLeft + this._availableWidth;
|
|
10830
|
+
this._markAsDirty();
|
|
10831
|
+
}
|
|
10832
|
+
var cursorTop = this._scrollTop + this._cursorInfo.currentLineIndex * this._fontOffset.height; //cursorTop distance from top to cursor start
|
|
10833
|
+
if (cursorTop < this._clipTextTop) {
|
|
10834
|
+
this._scrollTop += this._clipTextTop - cursorTop;
|
|
10835
|
+
cursorTop = this._clipTextTop;
|
|
10836
|
+
this._markAsDirty();
|
|
10837
|
+
}
|
|
10838
|
+
else if (cursorTop + this._fontOffset.height > this._clipTextTop + this._availableHeight) {
|
|
10839
|
+
this._scrollTop += this._clipTextTop + this._availableHeight - cursorTop - this._fontOffset.height;
|
|
10840
|
+
cursorTop = this._clipTextTop + this._availableHeight - this._fontOffset.height;
|
|
10841
|
+
this._markAsDirty();
|
|
10842
|
+
}
|
|
10843
|
+
if (!this._isTextHighlightOn) {
|
|
10844
|
+
context.fillRect(cursorLeft, cursorTop, 2, this._fontOffset.height);
|
|
10845
|
+
}
|
|
10846
|
+
}
|
|
10847
|
+
this._resetBlinking();
|
|
10848
|
+
//show the highlighted text
|
|
10849
|
+
if (this._isTextHighlightOn) {
|
|
10850
|
+
clearTimeout(this._blinkTimeout);
|
|
10851
|
+
this._highlightedText = this.text.substring(this._cursorInfo.globalStartIndex, this._cursorInfo.globalEndIndex);
|
|
10852
|
+
context.globalAlpha = this._highligherOpacity;
|
|
10853
|
+
context.fillStyle = this._textHighlightColor;
|
|
10854
|
+
var startLineIndex = Math.min(this._cursorInfo.currentLineIndex, this._highlightCursorInfo.initialLineIndex);
|
|
10855
|
+
var endLineIndex = Math.max(this._cursorInfo.currentLineIndex, this._highlightCursorInfo.initialLineIndex);
|
|
10856
|
+
var highlightRootY = this._scrollTop + startLineIndex * this._fontOffset.height;
|
|
10857
|
+
for (var i = startLineIndex; i <= endLineIndex; i++) {
|
|
10858
|
+
var line = this._lines[i];
|
|
10859
|
+
var highlightRootX = this._scrollLeft;
|
|
10860
|
+
switch (this._textHorizontalAlignment) {
|
|
10861
|
+
case _control__WEBPACK_IMPORTED_MODULE_2__.Control.HORIZONTAL_ALIGNMENT_LEFT:
|
|
10862
|
+
highlightRootX += 0;
|
|
10863
|
+
break;
|
|
10864
|
+
case _control__WEBPACK_IMPORTED_MODULE_2__.Control.HORIZONTAL_ALIGNMENT_RIGHT:
|
|
10865
|
+
highlightRootX += width - line.width;
|
|
10866
|
+
break;
|
|
10867
|
+
case _control__WEBPACK_IMPORTED_MODULE_2__.Control.HORIZONTAL_ALIGNMENT_CENTER:
|
|
10868
|
+
highlightRootX += (width - line.width) / 2;
|
|
10869
|
+
break;
|
|
10870
|
+
}
|
|
10871
|
+
var begin = i === startLineIndex ? this._cursorInfo.relativeStartIndex : 0;
|
|
10872
|
+
var end = i === endLineIndex ? this._cursorInfo.relativeEndIndex : line.text.length;
|
|
10873
|
+
var leftOffsetWidth = context.measureText(line.text.substr(0, begin)).width;
|
|
10874
|
+
var selectedText = line.text.substring(begin, end);
|
|
10875
|
+
var hightlightWidth = context.measureText(selectedText).width;
|
|
10876
|
+
context.fillRect(highlightRootX + leftOffsetWidth, highlightRootY, hightlightWidth, this._fontOffset.height);
|
|
10877
|
+
highlightRootY += this._fontOffset.height;
|
|
10878
|
+
}
|
|
10879
|
+
if (this._cursorInfo.globalEndIndex === this._cursorInfo.globalStartIndex) {
|
|
10880
|
+
this._resetBlinking();
|
|
10881
|
+
}
|
|
10882
|
+
}
|
|
10883
|
+
}
|
|
10884
|
+
context.restore();
|
|
10885
|
+
// Border
|
|
10886
|
+
if (this._thickness) {
|
|
10887
|
+
if (this._isFocused) {
|
|
10888
|
+
if (this.focusedColor) {
|
|
10889
|
+
context.strokeStyle = this.focusedColor;
|
|
10890
|
+
}
|
|
10891
|
+
}
|
|
10892
|
+
else {
|
|
10893
|
+
if (this.color) {
|
|
10894
|
+
context.strokeStyle = this.color;
|
|
10895
|
+
}
|
|
10896
|
+
}
|
|
10897
|
+
context.lineWidth = this._thickness;
|
|
10898
|
+
context.strokeRect(this._currentMeasure.left + this._thickness / 2, this._currentMeasure.top + this._thickness / 2, this._currentMeasure.width - this._thickness, this._currentMeasure.height - this._thickness);
|
|
10899
|
+
}
|
|
10900
|
+
};
|
|
10901
|
+
InputTextArea.prototype._resetBlinking = function () {
|
|
10902
|
+
var _this = this;
|
|
10903
|
+
clearTimeout(this._blinkTimeout);
|
|
10904
|
+
this._blinkTimeout = setTimeout(function () {
|
|
10905
|
+
_this._blinkIsEven = !_this._blinkIsEven;
|
|
10906
|
+
_this._markAsDirty();
|
|
10907
|
+
}, 500);
|
|
10908
|
+
};
|
|
10909
|
+
InputTextArea.prototype._applyStates = function (context) {
|
|
10910
|
+
_super.prototype._applyStates.call(this, context);
|
|
10911
|
+
if (this.outlineWidth) {
|
|
10912
|
+
context.lineWidth = this.outlineWidth;
|
|
10913
|
+
context.strokeStyle = this.outlineColor;
|
|
10914
|
+
}
|
|
10915
|
+
};
|
|
10916
|
+
InputTextArea.prototype._onPointerDown = function (target, coordinates, pointerId, buttonIndex, pi) {
|
|
10917
|
+
if (!_super.prototype._onPointerDown.call(this, target, coordinates, pointerId, buttonIndex, pi)) {
|
|
10918
|
+
return false;
|
|
10919
|
+
}
|
|
10920
|
+
this._clickedCoordinateX = coordinates.x;
|
|
10921
|
+
this._clickedCoordinateY = coordinates.y;
|
|
10922
|
+
this._isTextHighlightOn = false;
|
|
10923
|
+
this._highlightedText = "";
|
|
10924
|
+
this._isPointerDown = true;
|
|
10925
|
+
this._host._capturingControl[pointerId] = this;
|
|
10926
|
+
if (this._host.focusedControl === this) {
|
|
10927
|
+
// Move cursor
|
|
10928
|
+
clearTimeout(this._blinkTimeout);
|
|
10929
|
+
this._markAsDirty();
|
|
10930
|
+
return true;
|
|
10931
|
+
}
|
|
10932
|
+
if (!this._isEnabled) {
|
|
10933
|
+
return false;
|
|
10934
|
+
}
|
|
10935
|
+
this._host.focusedControl = this;
|
|
10936
|
+
return true;
|
|
10937
|
+
};
|
|
10938
|
+
// for textselection
|
|
10939
|
+
InputTextArea.prototype._onPointerMove = function (target, coordinates, pointerId, pi) {
|
|
10940
|
+
// Avoid Chromium-like beahavior when this event is fired right after onPointerDown
|
|
10941
|
+
if (pi.event.movementX === 0 && pi.event.movementY === 0) {
|
|
10942
|
+
return;
|
|
10943
|
+
}
|
|
10944
|
+
if (this._host.focusedControl === this && this._isPointerDown) {
|
|
10945
|
+
this._clickedCoordinateX = coordinates.x;
|
|
10946
|
+
this._clickedCoordinateY = coordinates.y;
|
|
10947
|
+
if (!this._isTextHighlightOn) {
|
|
10948
|
+
this._highlightCursorInfo.initialLineIndex = this._cursorInfo.currentLineIndex;
|
|
10949
|
+
this._highlightCursorInfo.initialStartIndex = this._cursorInfo.globalStartIndex;
|
|
10950
|
+
this._highlightCursorInfo.initialRelativeStartIndex = this._cursorInfo.relativeStartIndex;
|
|
10951
|
+
this._isTextHighlightOn = true;
|
|
10952
|
+
}
|
|
10953
|
+
this._markAsDirty();
|
|
10954
|
+
}
|
|
10955
|
+
_super.prototype._onPointerMove.call(this, target, coordinates, pointerId, pi);
|
|
10956
|
+
};
|
|
10957
|
+
/**
|
|
10958
|
+
* Apply the correct position of cursor according to current modification
|
|
10959
|
+
*/
|
|
10960
|
+
InputTextArea.prototype._updateCursorPosition = function () {
|
|
10961
|
+
var _a;
|
|
10962
|
+
if (!this._isFocused) {
|
|
10963
|
+
return;
|
|
10964
|
+
}
|
|
10965
|
+
if (this._clickedCoordinateX && this._clickedCoordinateY) {
|
|
10966
|
+
if (!this._isTextHighlightOn) {
|
|
10967
|
+
this._cursorInfo = {
|
|
10968
|
+
globalStartIndex: 0,
|
|
10969
|
+
globalEndIndex: 0,
|
|
10970
|
+
relativeStartIndex: 0,
|
|
10971
|
+
relativeEndIndex: 0,
|
|
10972
|
+
currentLineIndex: 0,
|
|
10973
|
+
};
|
|
10974
|
+
}
|
|
10975
|
+
var globalIndex = 0;
|
|
10976
|
+
var relativeIndex = 0;
|
|
10977
|
+
var lastClickedCoordinateY = this._clickedCoordinateY - this._scrollTop;
|
|
10978
|
+
var relativeCoordinateY = Math.floor(lastClickedCoordinateY / this._fontOffset.height);
|
|
10979
|
+
this._cursorInfo.currentLineIndex = Math.min(Math.max(relativeCoordinateY, 0), this._lines.length - 1);
|
|
10980
|
+
var currentSize = 0;
|
|
10981
|
+
var relativeXPosition = this._clickedCoordinateX - ((_a = this._scrollLeft) !== null && _a !== void 0 ? _a : 0);
|
|
10982
|
+
var previousDist = 0;
|
|
10983
|
+
for (var index = 0; index < this._cursorInfo.currentLineIndex; index++) {
|
|
10984
|
+
var line = this._lines[index];
|
|
10985
|
+
globalIndex += line.text.length + line.lineEnding.length;
|
|
10986
|
+
}
|
|
10987
|
+
while (currentSize < relativeXPosition && this._lines[this._cursorInfo.currentLineIndex].text.length > relativeIndex) {
|
|
10988
|
+
relativeIndex++;
|
|
10989
|
+
previousDist = Math.abs(relativeXPosition - currentSize);
|
|
10990
|
+
currentSize = this._contextForBreakLines.measureText(this._lines[this._cursorInfo.currentLineIndex].text.substr(0, relativeIndex)).width;
|
|
10991
|
+
}
|
|
10992
|
+
// Find closest move
|
|
10993
|
+
if (Math.abs(relativeXPosition - currentSize) > previousDist && relativeIndex > 0) {
|
|
10994
|
+
relativeIndex--;
|
|
10995
|
+
}
|
|
10996
|
+
globalIndex += relativeIndex;
|
|
10997
|
+
if (!this._isTextHighlightOn) {
|
|
10998
|
+
this._cursorInfo.globalStartIndex = globalIndex;
|
|
10999
|
+
this._cursorInfo.relativeStartIndex = relativeIndex;
|
|
11000
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex;
|
|
11001
|
+
this._cursorInfo.relativeEndIndex = this._cursorInfo.relativeStartIndex;
|
|
11002
|
+
}
|
|
11003
|
+
else {
|
|
11004
|
+
if (globalIndex < this._highlightCursorInfo.initialStartIndex) {
|
|
11005
|
+
this._cursorInfo.globalStartIndex = globalIndex;
|
|
11006
|
+
this._cursorInfo.relativeStartIndex = relativeIndex;
|
|
11007
|
+
this._cursorInfo.globalEndIndex = this._highlightCursorInfo.initialStartIndex;
|
|
11008
|
+
this._cursorInfo.relativeEndIndex = this._highlightCursorInfo.initialRelativeStartIndex;
|
|
11009
|
+
}
|
|
11010
|
+
else {
|
|
11011
|
+
this._cursorInfo.globalStartIndex = this._highlightCursorInfo.initialStartIndex;
|
|
11012
|
+
this._cursorInfo.relativeStartIndex = this._highlightCursorInfo.initialRelativeStartIndex;
|
|
11013
|
+
this._cursorInfo.globalEndIndex = globalIndex;
|
|
11014
|
+
this._cursorInfo.relativeEndIndex = relativeIndex;
|
|
11015
|
+
}
|
|
11016
|
+
}
|
|
11017
|
+
// Avoid the caret during highlighting
|
|
11018
|
+
this._blinkIsEven = this._isTextHighlightOn;
|
|
11019
|
+
this._clickedCoordinateX = null;
|
|
11020
|
+
this._clickedCoordinateY = null;
|
|
11021
|
+
}
|
|
11022
|
+
else {
|
|
11023
|
+
// Standard behavior same as Current line is at least above the initial highlight index
|
|
11024
|
+
this._cursorInfo.relativeStartIndex = 0;
|
|
11025
|
+
this._cursorInfo.currentLineIndex = 0;
|
|
11026
|
+
var lineLength = this._lines[this._cursorInfo.currentLineIndex].text.length + this._lines[this._cursorInfo.currentLineIndex].lineEnding.length;
|
|
11027
|
+
var tmpLength = 0;
|
|
11028
|
+
while (tmpLength + lineLength <= this._cursorInfo.globalStartIndex) {
|
|
11029
|
+
tmpLength += lineLength;
|
|
11030
|
+
if (this._cursorInfo.currentLineIndex < this._lines.length - 1) {
|
|
11031
|
+
this._cursorInfo.currentLineIndex++;
|
|
11032
|
+
lineLength = this._lines[this._cursorInfo.currentLineIndex].text.length + this._lines[this._cursorInfo.currentLineIndex].lineEnding.length;
|
|
11033
|
+
}
|
|
11034
|
+
}
|
|
11035
|
+
this._cursorInfo.relativeStartIndex = this._cursorInfo.globalStartIndex - tmpLength;
|
|
11036
|
+
if (this._highlightCursorInfo.initialStartIndex !== -1 && this._cursorInfo.globalStartIndex >= this._highlightCursorInfo.initialStartIndex) {
|
|
11037
|
+
// Current line is at least below the initial highlight index
|
|
11038
|
+
while (tmpLength + lineLength <= this._cursorInfo.globalEndIndex) {
|
|
11039
|
+
tmpLength += lineLength;
|
|
11040
|
+
if (this._cursorInfo.currentLineIndex < this._lines.length - 1) {
|
|
11041
|
+
this._cursorInfo.currentLineIndex++;
|
|
11042
|
+
lineLength = this._lines[this._cursorInfo.currentLineIndex].text.length + this._lines[this._cursorInfo.currentLineIndex].lineEnding.length;
|
|
11043
|
+
}
|
|
11044
|
+
}
|
|
11045
|
+
this._cursorInfo.relativeEndIndex = this._cursorInfo.globalEndIndex - tmpLength;
|
|
11046
|
+
}
|
|
11047
|
+
else if (!this._isTextHighlightOn) {
|
|
11048
|
+
this._cursorInfo.relativeEndIndex = this._cursorInfo.relativeStartIndex;
|
|
11049
|
+
this._cursorInfo.globalEndIndex = this._cursorInfo.globalStartIndex;
|
|
11050
|
+
}
|
|
11051
|
+
}
|
|
11052
|
+
};
|
|
11053
|
+
/**
|
|
11054
|
+
* Update all values of cursor information based on cursorIndex value
|
|
11055
|
+
*
|
|
11056
|
+
* @param offset The index to take care of
|
|
11057
|
+
* @hidden
|
|
11058
|
+
*/
|
|
11059
|
+
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
11060
|
+
InputTextArea.prototype._updateValueFromCursorIndex = function (offset) {
|
|
11061
|
+
// Override to avoid parent behavior during _onPointerMove
|
|
11062
|
+
};
|
|
11063
|
+
/**
|
|
11064
|
+
* Select the word immediatly under the cursor on double click
|
|
11065
|
+
*
|
|
11066
|
+
* @param _evt Pointer informations of double click
|
|
11067
|
+
* @hidden
|
|
11068
|
+
*/
|
|
11069
|
+
InputTextArea.prototype._processDblClick = function (_evt) {
|
|
11070
|
+
//pre-find the start and end index of the word under cursor, speeds up the rendering
|
|
11071
|
+
var moveLeft, moveRight;
|
|
11072
|
+
do {
|
|
11073
|
+
moveLeft = this._cursorInfo.globalStartIndex > 0 && this._textWrapper.isWord(this._cursorInfo.globalStartIndex - 1) ? --this._cursorInfo.globalStartIndex : 0;
|
|
11074
|
+
moveRight =
|
|
11075
|
+
this._cursorInfo.globalEndIndex < this._textWrapper.length && this._textWrapper.isWord(this._cursorInfo.globalEndIndex) ? ++this._cursorInfo.globalEndIndex : 0;
|
|
11076
|
+
} while (moveLeft || moveRight);
|
|
11077
|
+
this._highlightCursorInfo.initialLineIndex = this._cursorInfo.currentLineIndex;
|
|
11078
|
+
this._highlightCursorInfo.initialStartIndex = this._cursorInfo.globalStartIndex;
|
|
11079
|
+
this.onTextHighlightObservable.notifyObservers(this);
|
|
11080
|
+
this._isTextHighlightOn = true;
|
|
11081
|
+
this._blinkIsEven = true;
|
|
11082
|
+
this._markAsDirty();
|
|
11083
|
+
};
|
|
11084
|
+
/** @hidden */
|
|
11085
|
+
InputTextArea.prototype._selectAllText = function () {
|
|
11086
|
+
this._isTextHighlightOn = true;
|
|
11087
|
+
this._blinkIsEven = true;
|
|
11088
|
+
this._highlightCursorInfo = {
|
|
11089
|
+
initialStartIndex: 0,
|
|
11090
|
+
initialRelativeStartIndex: 0,
|
|
11091
|
+
initialLineIndex: 0,
|
|
11092
|
+
};
|
|
11093
|
+
this._cursorInfo = {
|
|
11094
|
+
globalStartIndex: 0,
|
|
11095
|
+
globalEndIndex: this._textWrapper.length,
|
|
11096
|
+
relativeEndIndex: this._lines[this._lines.length - 1].text.length,
|
|
11097
|
+
relativeStartIndex: 0,
|
|
11098
|
+
currentLineIndex: this._lines.length - 1,
|
|
11099
|
+
};
|
|
11100
|
+
this._markAsDirty();
|
|
11101
|
+
};
|
|
11102
|
+
InputTextArea.prototype.dipose = function () {
|
|
11103
|
+
_super.prototype.dispose.call(this);
|
|
11104
|
+
this.onLinesReadyObservable.clear();
|
|
11105
|
+
};
|
|
11106
|
+
(0,tslib__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
|
|
11107
|
+
(0,core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__.serialize)()
|
|
11108
|
+
], InputTextArea.prototype, "autoStretchHeight", null);
|
|
11109
|
+
(0,tslib__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
|
|
11110
|
+
(0,core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__.serialize)()
|
|
11111
|
+
], InputTextArea.prototype, "maxHeight", null);
|
|
11112
|
+
return InputTextArea;
|
|
11113
|
+
}(_inputText__WEBPACK_IMPORTED_MODULE_4__.InputText));
|
|
11114
|
+
|
|
11115
|
+
(0,core_Misc_observable__WEBPACK_IMPORTED_MODULE_1__.RegisterClass)("BABYLON.GUI.InputTextArea", InputTextArea);
|
|
11116
|
+
|
|
11117
|
+
|
|
11118
|
+
/***/ }),
|
|
11119
|
+
|
|
11120
|
+
/***/ "../../../lts/gui/dist/2D/controls/line.js":
|
|
11121
|
+
/*!*************************************************!*\
|
|
11122
|
+
!*** ../../../lts/gui/dist/2D/controls/line.js ***!
|
|
11123
|
+
\*************************************************/
|
|
11124
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
11125
|
+
|
|
11126
|
+
__webpack_require__.r(__webpack_exports__);
|
|
11127
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
11128
|
+
/* harmony export */ "Line": () => (/* binding */ Line)
|
|
11129
|
+
/* harmony export */ });
|
|
11130
|
+
/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ "../../../../node_modules/tslib/tslib.es6.js");
|
|
11131
|
+
/* harmony import */ var core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core/Misc/decorators */ "core/Misc/observable");
|
|
11132
|
+
/* harmony import */ var core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__);
|
|
11133
|
+
/* harmony import */ var _control__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./control */ "../../../lts/gui/dist/2D/controls/control.js");
|
|
11134
|
+
/* harmony import */ var _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../valueAndUnit */ "../../../lts/gui/dist/2D/valueAndUnit.js");
|
|
11135
|
+
|
|
11136
|
+
|
|
11137
|
+
|
|
11138
|
+
|
|
11139
|
+
|
|
11140
|
+
|
|
11141
|
+
|
|
11142
|
+
/** Class used to render 2D lines */
|
|
11143
|
+
var Line = /** @class */ (function (_super) {
|
|
11144
|
+
(0,tslib__WEBPACK_IMPORTED_MODULE_0__.__extends)(Line, _super);
|
|
11145
|
+
/**
|
|
11146
|
+
* Creates a new Line
|
|
11147
|
+
* @param name defines the control name
|
|
11148
|
+
*/
|
|
11149
|
+
function Line(name) {
|
|
11150
|
+
var _this = _super.call(this, name) || this;
|
|
11151
|
+
_this.name = name;
|
|
11152
|
+
_this._lineWidth = 1;
|
|
11153
|
+
_this._x1 = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__.ValueAndUnit(0);
|
|
11154
|
+
_this._y1 = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__.ValueAndUnit(0);
|
|
11155
|
+
_this._x2 = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__.ValueAndUnit(0);
|
|
11156
|
+
_this._y2 = new _valueAndUnit__WEBPACK_IMPORTED_MODULE_3__.ValueAndUnit(0);
|
|
11157
|
+
_this._dash = new Array();
|
|
11158
|
+
_this._automaticSize = true;
|
|
11159
|
+
_this.isHitTestVisible = false;
|
|
11160
|
+
_this._horizontalAlignment = _control__WEBPACK_IMPORTED_MODULE_2__.Control.HORIZONTAL_ALIGNMENT_LEFT;
|
|
11161
|
+
_this._verticalAlignment = _control__WEBPACK_IMPORTED_MODULE_2__.Control.VERTICAL_ALIGNMENT_TOP;
|
|
11162
|
+
return _this;
|
|
11163
|
+
}
|
|
11164
|
+
Object.defineProperty(Line.prototype, "dash", {
|
|
11165
|
+
/** Gets or sets the dash pattern */
|
|
11166
|
+
get: function () {
|
|
11167
|
+
return this._dash;
|
|
11168
|
+
},
|
|
11169
|
+
set: function (value) {
|
|
11170
|
+
if (this._dash === value) {
|
|
11171
|
+
return;
|
|
11172
|
+
}
|
|
11173
|
+
this._dash = value;
|
|
11174
|
+
this._markAsDirty();
|
|
11175
|
+
},
|
|
11176
|
+
enumerable: false,
|
|
11177
|
+
configurable: true
|
|
11178
|
+
});
|
|
11179
|
+
Object.defineProperty(Line.prototype, "connectedControl", {
|
|
11180
|
+
/** Gets or sets the control connected with the line end */
|
|
11181
|
+
get: function () {
|
|
11182
|
+
return this._connectedControl;
|
|
11183
|
+
},
|
|
11184
|
+
set: function (value) {
|
|
11185
|
+
var _this = this;
|
|
11186
|
+
if (this._connectedControl === value) {
|
|
11187
|
+
return;
|
|
11188
|
+
}
|
|
11189
|
+
if (this._connectedControlDirtyObserver && this._connectedControl) {
|
|
11190
|
+
this._connectedControl.onDirtyObservable.remove(this._connectedControlDirtyObserver);
|
|
11191
|
+
this._connectedControlDirtyObserver = null;
|
|
11192
|
+
}
|
|
11193
|
+
if (value) {
|
|
11194
|
+
this._connectedControlDirtyObserver = value.onDirtyObservable.add(function () { return _this._markAsDirty(); });
|
|
11195
|
+
}
|
|
11196
|
+
this._connectedControl = value;
|
|
11197
|
+
this._markAsDirty();
|
|
11198
|
+
},
|
|
11199
|
+
enumerable: false,
|
|
11200
|
+
configurable: true
|
|
11201
|
+
});
|
|
11202
|
+
Object.defineProperty(Line.prototype, "x1", {
|
|
11203
|
+
/** Gets or sets start coordinates on X axis */
|
|
11204
|
+
get: function () {
|
|
11205
|
+
return this._x1.toString(this._host);
|
|
11206
|
+
},
|
|
11207
|
+
set: function (value) {
|
|
11208
|
+
if (this._x1.toString(this._host) === value) {
|
|
11209
|
+
return;
|
|
11210
|
+
}
|
|
11211
|
+
if (this._x1.fromString(value)) {
|
|
11212
|
+
this._markAsDirty();
|
|
11213
|
+
}
|
|
11214
|
+
},
|
|
11215
|
+
enumerable: false,
|
|
11216
|
+
configurable: true
|
|
11217
|
+
});
|
|
11218
|
+
Object.defineProperty(Line.prototype, "y1", {
|
|
11219
|
+
/** Gets or sets start coordinates on Y axis */
|
|
11220
|
+
get: function () {
|
|
11221
|
+
return this._y1.toString(this._host);
|
|
11222
|
+
},
|
|
11223
|
+
set: function (value) {
|
|
11224
|
+
if (this._y1.toString(this._host) === value) {
|
|
11225
|
+
return;
|
|
11226
|
+
}
|
|
11227
|
+
if (this._y1.fromString(value)) {
|
|
11228
|
+
this._markAsDirty();
|
|
11229
|
+
}
|
|
11230
|
+
},
|
|
11231
|
+
enumerable: false,
|
|
11232
|
+
configurable: true
|
|
11233
|
+
});
|
|
11234
|
+
Object.defineProperty(Line.prototype, "x2", {
|
|
11235
|
+
/** Gets or sets end coordinates on X axis */
|
|
11236
|
+
get: function () {
|
|
11237
|
+
return this._x2.toString(this._host);
|
|
11238
|
+
},
|
|
11239
|
+
set: function (value) {
|
|
11240
|
+
if (this._x2.toString(this._host) === value) {
|
|
11241
|
+
return;
|
|
11242
|
+
}
|
|
11243
|
+
if (this._x2.fromString(value)) {
|
|
11244
|
+
this._markAsDirty();
|
|
11245
|
+
}
|
|
11246
|
+
},
|
|
11247
|
+
enumerable: false,
|
|
11248
|
+
configurable: true
|
|
11249
|
+
});
|
|
11250
|
+
Object.defineProperty(Line.prototype, "y2", {
|
|
11251
|
+
/** Gets or sets end coordinates on Y axis */
|
|
11252
|
+
get: function () {
|
|
11253
|
+
return this._y2.toString(this._host);
|
|
11254
|
+
},
|
|
11255
|
+
set: function (value) {
|
|
11256
|
+
if (this._y2.toString(this._host) === value) {
|
|
11257
|
+
return;
|
|
11258
|
+
}
|
|
11259
|
+
if (this._y2.fromString(value)) {
|
|
11260
|
+
this._markAsDirty();
|
|
11261
|
+
}
|
|
11262
|
+
},
|
|
11263
|
+
enumerable: false,
|
|
11264
|
+
configurable: true
|
|
11265
|
+
});
|
|
11266
|
+
Object.defineProperty(Line.prototype, "lineWidth", {
|
|
11267
|
+
/** Gets or sets line width */
|
|
11268
|
+
get: function () {
|
|
11269
|
+
return this._lineWidth;
|
|
11270
|
+
},
|
|
11271
|
+
set: function (value) {
|
|
11272
|
+
if (this._lineWidth === value) {
|
|
11273
|
+
return;
|
|
11274
|
+
}
|
|
11275
|
+
this._lineWidth = value;
|
|
11276
|
+
this._markAsDirty();
|
|
11277
|
+
},
|
|
11278
|
+
enumerable: false,
|
|
11279
|
+
configurable: true
|
|
11280
|
+
});
|
|
11281
|
+
Object.defineProperty(Line.prototype, "horizontalAlignment", {
|
|
11282
|
+
/** Gets or sets horizontal alignment */
|
|
11283
|
+
set: function (value) {
|
|
11284
|
+
return;
|
|
11285
|
+
},
|
|
11286
|
+
enumerable: false,
|
|
11287
|
+
configurable: true
|
|
11288
|
+
});
|
|
11289
|
+
Object.defineProperty(Line.prototype, "verticalAlignment", {
|
|
11290
|
+
/** Gets or sets vertical alignment */
|
|
11291
|
+
set: function (value) {
|
|
11292
|
+
return;
|
|
11293
|
+
},
|
|
11294
|
+
enumerable: false,
|
|
11295
|
+
configurable: true
|
|
11296
|
+
});
|
|
11297
|
+
Object.defineProperty(Line.prototype, "_effectiveX2", {
|
|
11298
|
+
get: function () {
|
|
11299
|
+
return (this._connectedControl ? this._connectedControl.centerX : 0) + this._x2.getValue(this._host);
|
|
11300
|
+
},
|
|
11301
|
+
enumerable: false,
|
|
11302
|
+
configurable: true
|
|
11303
|
+
});
|
|
11304
|
+
Object.defineProperty(Line.prototype, "_effectiveY2", {
|
|
11305
|
+
get: function () {
|
|
11306
|
+
return (this._connectedControl ? this._connectedControl.centerY : 0) + this._y2.getValue(this._host);
|
|
11307
|
+
},
|
|
11308
|
+
enumerable: false,
|
|
11309
|
+
configurable: true
|
|
11310
|
+
});
|
|
11311
|
+
Line.prototype._getTypeName = function () {
|
|
11312
|
+
return "Line";
|
|
11313
|
+
};
|
|
11314
|
+
Line.prototype._draw = function (context) {
|
|
11315
|
+
context.save();
|
|
11316
|
+
if (this.shadowBlur || this.shadowOffsetX || this.shadowOffsetY) {
|
|
11317
|
+
context.shadowColor = this.shadowColor;
|
|
11318
|
+
context.shadowBlur = this.shadowBlur;
|
|
11319
|
+
context.shadowOffsetX = this.shadowOffsetX;
|
|
11320
|
+
context.shadowOffsetY = this.shadowOffsetY;
|
|
11321
|
+
}
|
|
11322
|
+
this._applyStates(context);
|
|
11323
|
+
context.strokeStyle = this.color;
|
|
11324
|
+
context.lineWidth = this._lineWidth;
|
|
11325
|
+
context.setLineDash(this._dash);
|
|
11326
|
+
context.beginPath();
|
|
11327
|
+
context.moveTo(this._cachedParentMeasure.left + this._x1.getValue(this._host), this._cachedParentMeasure.top + this._y1.getValue(this._host));
|
|
11328
|
+
context.lineTo(this._cachedParentMeasure.left + this._effectiveX2, this._cachedParentMeasure.top + this._effectiveY2);
|
|
11329
|
+
context.stroke();
|
|
11330
|
+
context.restore();
|
|
11331
|
+
};
|
|
11332
|
+
Line.prototype._measure = function () {
|
|
11333
|
+
// Width / Height
|
|
11334
|
+
this._currentMeasure.width = Math.abs(this._x1.getValue(this._host) - this._effectiveX2) + this._lineWidth;
|
|
11335
|
+
this._currentMeasure.height = Math.abs(this._y1.getValue(this._host) - this._effectiveY2) + this._lineWidth;
|
|
11336
|
+
};
|
|
11337
|
+
Line.prototype._computeAlignment = function (parentMeasure) {
|
|
11338
|
+
this._currentMeasure.left = parentMeasure.left + Math.min(this._x1.getValue(this._host), this._effectiveX2) - this._lineWidth / 2;
|
|
11339
|
+
this._currentMeasure.top = parentMeasure.top + Math.min(this._y1.getValue(this._host), this._effectiveY2) - this._lineWidth / 2;
|
|
11340
|
+
};
|
|
11341
|
+
/**
|
|
11342
|
+
* Move one end of the line given 3D cartesian coordinates.
|
|
11343
|
+
* @param position Targeted world position
|
|
11344
|
+
* @param scene Scene
|
|
11345
|
+
* @param end (opt) Set to true to assign x2 and y2 coordinates of the line. Default assign to x1 and y1.
|
|
11346
|
+
*/
|
|
11347
|
+
Line.prototype.moveToVector3 = function (position, scene, end) {
|
|
11348
|
+
if (end === void 0) { end = false; }
|
|
11349
|
+
if (!this._host || this.parent !== this._host._rootContainer) {
|
|
11350
|
+
core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.Tools.Error("Cannot move a control to a vector3 if the control is not at root level");
|
|
11351
|
+
return;
|
|
11352
|
+
}
|
|
11353
|
+
var globalViewport = this._host._getGlobalViewport();
|
|
11354
|
+
var projectedPosition = core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.Vector3.Project(position, core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.Matrix.Identity(), scene.getTransformMatrix(), globalViewport);
|
|
11355
|
+
this._moveToProjectedPosition(projectedPosition, end);
|
|
11356
|
+
if (projectedPosition.z < 0 || projectedPosition.z > 1) {
|
|
11357
|
+
this.notRenderable = true;
|
|
11358
|
+
return;
|
|
11359
|
+
}
|
|
11360
|
+
this.notRenderable = false;
|
|
11361
|
+
};
|
|
11362
|
+
/**
|
|
11363
|
+
* Move one end of the line to a position in screen absolute space.
|
|
11364
|
+
* @param projectedPosition Position in screen absolute space (X, Y)
|
|
11365
|
+
* @param end (opt) Set to true to assign x2 and y2 coordinates of the line. Default assign to x1 and y1.
|
|
11366
|
+
*/
|
|
11367
|
+
Line.prototype._moveToProjectedPosition = function (projectedPosition, end) {
|
|
11368
|
+
if (end === void 0) { end = false; }
|
|
11369
|
+
var x = projectedPosition.x + this._linkOffsetX.getValue(this._host) + "px";
|
|
11370
|
+
var y = projectedPosition.y + this._linkOffsetY.getValue(this._host) + "px";
|
|
11371
|
+
if (end) {
|
|
11372
|
+
this.x2 = x;
|
|
11373
|
+
this.y2 = y;
|
|
11374
|
+
this._x2.ignoreAdaptiveScaling = true;
|
|
11375
|
+
this._y2.ignoreAdaptiveScaling = true;
|
|
11376
|
+
}
|
|
11377
|
+
else {
|
|
11378
|
+
this.x1 = x;
|
|
11379
|
+
this.y1 = y;
|
|
11380
|
+
this._x1.ignoreAdaptiveScaling = true;
|
|
11381
|
+
this._y1.ignoreAdaptiveScaling = true;
|
|
11382
|
+
}
|
|
11383
|
+
};
|
|
11384
|
+
(0,tslib__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
|
|
11385
|
+
(0,core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.serialize)()
|
|
11386
|
+
], Line.prototype, "dash", null);
|
|
11387
|
+
(0,tslib__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
|
|
11388
|
+
(0,core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.serialize)()
|
|
11389
|
+
], Line.prototype, "x1", null);
|
|
11390
|
+
(0,tslib__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
|
|
11391
|
+
(0,core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.serialize)()
|
|
11392
|
+
], Line.prototype, "y1", null);
|
|
11393
|
+
(0,tslib__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
|
|
11394
|
+
(0,core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.serialize)()
|
|
11395
|
+
], Line.prototype, "x2", null);
|
|
11396
|
+
(0,tslib__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
|
|
11397
|
+
(0,core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.serialize)()
|
|
11398
|
+
], Line.prototype, "y2", null);
|
|
11399
|
+
(0,tslib__WEBPACK_IMPORTED_MODULE_0__.__decorate)([
|
|
11400
|
+
(0,core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.serialize)()
|
|
11401
|
+
], Line.prototype, "lineWidth", null);
|
|
11402
|
+
return Line;
|
|
11403
|
+
}(_control__WEBPACK_IMPORTED_MODULE_2__.Control));
|
|
11404
|
+
|
|
10301
11405
|
(0,core_Maths_math_vector__WEBPACK_IMPORTED_MODULE_1__.RegisterClass)("BABYLON.GUI.Line", Line);
|
|
10302
11406
|
|
|
10303
11407
|
|
|
@@ -14871,6 +15975,9 @@ var TextBlock = /** @class */ (function (_super) {
|
|
|
14871
15975
|
return lines;
|
|
14872
15976
|
};
|
|
14873
15977
|
TextBlock.prototype._renderLines = function (context) {
|
|
15978
|
+
if (!this._fontOffset || !this._lines) {
|
|
15979
|
+
return;
|
|
15980
|
+
}
|
|
14874
15981
|
var height = this._currentMeasure.height;
|
|
14875
15982
|
var rootY = 0;
|
|
14876
15983
|
switch (this._textVerticalAlignment) {
|
|
@@ -15710,6 +16817,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
15710
16817
|
/* harmony export */ "ImageScrollBar": () => (/* reexport safe */ _controls_index__WEBPACK_IMPORTED_MODULE_0__.ImageScrollBar),
|
|
15711
16818
|
/* harmony export */ "InputPassword": () => (/* reexport safe */ _controls_index__WEBPACK_IMPORTED_MODULE_0__.InputPassword),
|
|
15712
16819
|
/* harmony export */ "InputText": () => (/* reexport safe */ _controls_index__WEBPACK_IMPORTED_MODULE_0__.InputText),
|
|
16820
|
+
/* harmony export */ "InputTextArea": () => (/* reexport safe */ _controls_index__WEBPACK_IMPORTED_MODULE_0__.InputTextArea),
|
|
15713
16821
|
/* harmony export */ "KeyPropertySet": () => (/* reexport safe */ _controls_index__WEBPACK_IMPORTED_MODULE_0__.KeyPropertySet),
|
|
15714
16822
|
/* harmony export */ "Line": () => (/* reexport safe */ _controls_index__WEBPACK_IMPORTED_MODULE_0__.Line),
|
|
15715
16823
|
/* harmony export */ "Matrix2D": () => (/* reexport safe */ _math2D__WEBPACK_IMPORTED_MODULE_3__.Matrix2D),
|
|
@@ -26471,6 +27579,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
26471
27579
|
/* harmony export */ "ImageScrollBar": () => (/* reexport safe */ _2D_index__WEBPACK_IMPORTED_MODULE_0__.ImageScrollBar),
|
|
26472
27580
|
/* harmony export */ "InputPassword": () => (/* reexport safe */ _2D_index__WEBPACK_IMPORTED_MODULE_0__.InputPassword),
|
|
26473
27581
|
/* harmony export */ "InputText": () => (/* reexport safe */ _2D_index__WEBPACK_IMPORTED_MODULE_0__.InputText),
|
|
27582
|
+
/* harmony export */ "InputTextArea": () => (/* reexport safe */ _2D_index__WEBPACK_IMPORTED_MODULE_0__.InputTextArea),
|
|
26474
27583
|
/* harmony export */ "KeyPropertySet": () => (/* reexport safe */ _2D_index__WEBPACK_IMPORTED_MODULE_0__.KeyPropertySet),
|
|
26475
27584
|
/* harmony export */ "Line": () => (/* reexport safe */ _2D_index__WEBPACK_IMPORTED_MODULE_0__.Line),
|
|
26476
27585
|
/* harmony export */ "MRDLBackplateMaterial": () => (/* reexport safe */ _3D_index__WEBPACK_IMPORTED_MODULE_1__.MRDLBackplateMaterial),
|
|
@@ -26569,6 +27678,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
26569
27678
|
/* harmony export */ "ImageScrollBar": () => (/* reexport safe */ _index__WEBPACK_IMPORTED_MODULE_0__.ImageScrollBar),
|
|
26570
27679
|
/* harmony export */ "InputPassword": () => (/* reexport safe */ _index__WEBPACK_IMPORTED_MODULE_0__.InputPassword),
|
|
26571
27680
|
/* harmony export */ "InputText": () => (/* reexport safe */ _index__WEBPACK_IMPORTED_MODULE_0__.InputText),
|
|
27681
|
+
/* harmony export */ "InputTextArea": () => (/* reexport safe */ _index__WEBPACK_IMPORTED_MODULE_0__.InputTextArea),
|
|
26572
27682
|
/* harmony export */ "KeyPropertySet": () => (/* reexport safe */ _index__WEBPACK_IMPORTED_MODULE_0__.KeyPropertySet),
|
|
26573
27683
|
/* harmony export */ "Line": () => (/* reexport safe */ _index__WEBPACK_IMPORTED_MODULE_0__.Line),
|
|
26574
27684
|
/* harmony export */ "MRDLBackplateMaterial": () => (/* reexport safe */ _index__WEBPACK_IMPORTED_MODULE_0__.MRDLBackplateMaterial),
|