mmultiscripts.d.ts 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import { AnyWrapper, Constructor } from '../Wrapper.js';
  2. import { CommonMsubsup, MsubsupConstructor } from './msubsup.js';
  3. import { BBox } from '../../../util/BBox.js';
  4. export declare type ScriptData = {
  5. base: BBox;
  6. sub: BBox;
  7. sup: BBox;
  8. psub: BBox;
  9. psup: BBox;
  10. numPrescripts: number;
  11. numScripts: number;
  12. };
  13. export declare type ScriptDataName = keyof ScriptData;
  14. export declare type ScriptLists = {
  15. base: BBox[];
  16. subList: BBox[];
  17. supList: BBox[];
  18. psubList: BBox[];
  19. psupList: BBox[];
  20. };
  21. export declare type ScriptListName = keyof ScriptLists;
  22. export declare const NextScript: {
  23. [key: string]: ScriptListName;
  24. };
  25. export declare const ScriptNames: (keyof ScriptData)[];
  26. export interface CommonMmultiscripts<W extends AnyWrapper> extends CommonMsubsup<W> {
  27. scriptData: ScriptData;
  28. firstPrescript: number;
  29. combinePrePost(pre: BBox, post: BBox): BBox;
  30. getScriptData(): void;
  31. getScriptBBoxLists(): ScriptLists;
  32. padLists(list1: BBox[], list2: BBox[]): void;
  33. combineBBoxLists(bbox1: BBox, bbox2: BBox, list1: BBox[], list2: BBox[]): void;
  34. getScaledWHD(bbox: BBox): void;
  35. }
  36. export declare type MmultiscriptsConstructor<W extends AnyWrapper> = Constructor<CommonMmultiscripts<W>>;
  37. export declare function CommonMmultiscriptsMixin<W extends AnyWrapper, T extends MsubsupConstructor<W>>(Base: T): MmultiscriptsConstructor<W> & T;