scriptbase.d.ts 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { AnyWrapper, WrapperConstructor, Constructor, AnyWrapperClass } from '../Wrapper.js';
  2. import { BBox } from '../../../util/BBox.js';
  3. export interface CommonScriptbase<W extends AnyWrapper> extends AnyWrapper {
  4. readonly baseCore: W;
  5. readonly baseChild: W;
  6. readonly baseScale: number;
  7. readonly baseIc: number;
  8. readonly baseRemoveIc: boolean;
  9. readonly baseIsChar: boolean;
  10. readonly baseHasAccentOver: boolean;
  11. readonly baseHasAccentUnder: boolean;
  12. readonly isLineAbove: boolean;
  13. readonly isLineBelow: boolean;
  14. readonly isMathAccent: boolean;
  15. readonly scriptChild: W;
  16. getBaseCore(): W;
  17. getSemanticBase(): W;
  18. getBaseFence(fence: W, id: string): W;
  19. getBaseScale(): number;
  20. getBaseIc(): number;
  21. getAdjustedIc(): number;
  22. isCharBase(): boolean;
  23. checkLineAccents(): void;
  24. isLineAccent(script: W): boolean;
  25. getBaseWidth(): number;
  26. getOffset(): number[];
  27. baseCharZero(n: number): number;
  28. getV(): number;
  29. getU(): number;
  30. hasMovableLimits(): boolean;
  31. getOverKU(basebox: BBox, overbox: BBox): number[];
  32. getUnderKV(basebox: BBox, underbox: BBox): number[];
  33. getDeltaW(boxes: BBox[], delta?: number[]): number[];
  34. getDelta(noskew?: boolean): number;
  35. stretchChildren(): void;
  36. }
  37. export interface CommonScriptbaseClass extends AnyWrapperClass {
  38. useIC: boolean;
  39. }
  40. export declare type ScriptbaseConstructor<W extends AnyWrapper> = Constructor<CommonScriptbase<W>>;
  41. export declare function CommonScriptbaseMixin<W extends AnyWrapper, T extends WrapperConstructor>(Base: T): ScriptbaseConstructor<W> & T;