sdfsdfs
This commit is contained in:
105
node_modules/pixi.js/lib/scene/text-html/HtmlTextStyle.mjs
generated
vendored
Normal file
105
node_modules/pixi.js/lib/scene/text-html/HtmlTextStyle.mjs
generated
vendored
Normal file
@@ -0,0 +1,105 @@
|
||||
import { warn } from '../../utils/logging/warn.mjs';
|
||||
import { TextStyle } from '../text/TextStyle.mjs';
|
||||
import { generateTextStyleKey } from '../text/utils/generateTextStyleKey.mjs';
|
||||
import { textStyleToCSS } from './utils/textStyleToCSS.mjs';
|
||||
|
||||
"use strict";
|
||||
class HTMLTextStyle extends TextStyle {
|
||||
constructor(options = {}) {
|
||||
super(options);
|
||||
this._cssOverrides = [];
|
||||
this.cssOverrides ?? (this.cssOverrides = options.cssOverrides);
|
||||
this.tagStyles = options.tagStyles ?? {};
|
||||
}
|
||||
/** List of style overrides that will be applied to the HTML text. */
|
||||
set cssOverrides(value) {
|
||||
this._cssOverrides = value instanceof Array ? value : [value];
|
||||
this.update();
|
||||
}
|
||||
get cssOverrides() {
|
||||
return this._cssOverrides;
|
||||
}
|
||||
_generateKey() {
|
||||
this._styleKey = generateTextStyleKey(this) + this._cssOverrides.join("-");
|
||||
return this._styleKey;
|
||||
}
|
||||
update() {
|
||||
this._cssStyle = null;
|
||||
super.update();
|
||||
}
|
||||
/**
|
||||
* Creates a new HTMLTextStyle object with the same values as this one.
|
||||
* @returns New cloned HTMLTextStyle object
|
||||
*/
|
||||
clone() {
|
||||
return new HTMLTextStyle({
|
||||
align: this.align,
|
||||
breakWords: this.breakWords,
|
||||
dropShadow: this.dropShadow ? { ...this.dropShadow } : null,
|
||||
fill: this._fill,
|
||||
fontFamily: this.fontFamily,
|
||||
fontSize: this.fontSize,
|
||||
fontStyle: this.fontStyle,
|
||||
fontVariant: this.fontVariant,
|
||||
fontWeight: this.fontWeight,
|
||||
letterSpacing: this.letterSpacing,
|
||||
lineHeight: this.lineHeight,
|
||||
padding: this.padding,
|
||||
stroke: this._stroke,
|
||||
whiteSpace: this.whiteSpace,
|
||||
wordWrap: this.wordWrap,
|
||||
wordWrapWidth: this.wordWrapWidth,
|
||||
cssOverrides: this.cssOverrides
|
||||
});
|
||||
}
|
||||
get cssStyle() {
|
||||
if (!this._cssStyle) {
|
||||
this._cssStyle = textStyleToCSS(this);
|
||||
}
|
||||
return this._cssStyle;
|
||||
}
|
||||
/**
|
||||
* Add a style override, this can be any CSS property
|
||||
* it will override any built-in style. This is the
|
||||
* property and the value as a string (e.g., `color: red`).
|
||||
* This will override any other internal style.
|
||||
* @param {string} value - CSS style(s) to add.
|
||||
* @example
|
||||
* style.addOverride('background-color: red');
|
||||
*/
|
||||
addOverride(...value) {
|
||||
const toAdd = value.filter((v) => !this.cssOverrides.includes(v));
|
||||
if (toAdd.length > 0) {
|
||||
this.cssOverrides.push(...toAdd);
|
||||
this.update();
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Remove any overrides that match the value.
|
||||
* @param {string} value - CSS style to remove.
|
||||
* @example
|
||||
* style.removeOverride('background-color: red');
|
||||
*/
|
||||
removeOverride(...value) {
|
||||
const toRemove = value.filter((v) => this.cssOverrides.includes(v));
|
||||
if (toRemove.length > 0) {
|
||||
this.cssOverrides = this.cssOverrides.filter((v) => !toRemove.includes(v));
|
||||
this.update();
|
||||
}
|
||||
}
|
||||
set fill(value) {
|
||||
if (typeof value !== "string" && typeof value !== "number") {
|
||||
warn("[HTMLTextStyle] only color fill is not supported by HTMLText");
|
||||
}
|
||||
super.fill = value;
|
||||
}
|
||||
set stroke(value) {
|
||||
if (value && typeof value !== "string" && typeof value !== "number") {
|
||||
warn("[HTMLTextStyle] only color stroke is not supported by HTMLText");
|
||||
}
|
||||
super.stroke = value;
|
||||
}
|
||||
}
|
||||
|
||||
export { HTMLTextStyle };
|
||||
//# sourceMappingURL=HtmlTextStyle.mjs.map
|
Reference in New Issue
Block a user