Using ext to store variants.

This commit is contained in:
tisilent
2023-08-21 20:54:16 +08:00
parent cb175e513d
commit c81dfee43c
7 changed files with 49 additions and 24 deletions
+13
View File
@@ -126,6 +126,11 @@ export class AttributeData implements IAttributeData {
? (this.bg & BgFlags.HAS_EXTENDED ? this.extended.underlineStyle : UnderlineStyle.SINGLE)
: UnderlineStyle.NONE;
}
public getUnderlineVarinatOffset(): number {
return this.fg & FgFlags.UNDERLINE
? (this.bg & BgFlags.HAS_EXTENDED ? this.extended.underlineVarinatOffset : 0)
: 0;
}
}
@@ -174,6 +179,14 @@ export class ExtendedAttrs implements IExtendedAttrs {
this._urlId = value;
}
public get underlineVarinatOffset(): number {
return (this._ext & ExtFlags.VARIANT_OFFSET) >> 29;
}
public set underlineVarinatOffset(value: number) {
this._ext &= ~ExtFlags.VARIANT_OFFSET;
this._ext |= (value << 29) & ExtFlags.VARIANT_OFFSET;
}
constructor(
ext: number = 0,
urlId: number = 0