site/node_modules/mathjax-full/js/output/common/Wrappers/mmultiscripts.d.ts
2024-10-14 08:09:33 +02:00

38 lines
1.4 KiB
TypeScript

import { AnyWrapper, Constructor } from '../Wrapper.js';
import { CommonMsubsup, MsubsupConstructor } from './msubsup.js';
import { BBox } from '../../../util/BBox.js';
export declare type ScriptData = {
base: BBox;
sub: BBox;
sup: BBox;
psub: BBox;
psup: BBox;
numPrescripts: number;
numScripts: number;
};
export declare type ScriptDataName = keyof ScriptData;
export declare type ScriptLists = {
base: BBox[];
subList: BBox[];
supList: BBox[];
psubList: BBox[];
psupList: BBox[];
};
export declare type ScriptListName = keyof ScriptLists;
export declare const NextScript: {
[key: string]: ScriptListName;
};
export declare const ScriptNames: (keyof ScriptData)[];
export interface CommonMmultiscripts<W extends AnyWrapper> extends CommonMsubsup<W> {
scriptData: ScriptData;
firstPrescript: number;
combinePrePost(pre: BBox, post: BBox): BBox;
getScriptData(): void;
getScriptBBoxLists(): ScriptLists;
padLists(list1: BBox[], list2: BBox[]): void;
combineBBoxLists(bbox1: BBox, bbox2: BBox, list1: BBox[], list2: BBox[]): void;
getScaledWHD(bbox: BBox): void;
}
export declare type MmultiscriptsConstructor<W extends AnyWrapper> = Constructor<CommonMmultiscripts<W>>;
export declare function CommonMmultiscriptsMixin<W extends AnyWrapper, T extends MsubsupConstructor<W>>(Base: T): MmultiscriptsConstructor<W> & T;