mtable.d.ts 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. import { AnyWrapper, WrapperConstructor, Constructor } from '../Wrapper.js';
  2. import { CommonMtr } from './mtr.js';
  3. export declare type TableData = {
  4. H: number[];
  5. D: number[];
  6. W: number[];
  7. NH: number[];
  8. ND: number[];
  9. L: number;
  10. };
  11. export declare type ColumnWidths = (string | number | null)[];
  12. export interface CommonMtable<C extends AnyWrapper, R extends CommonMtr<C>> extends AnyWrapper {
  13. numCols: number;
  14. numRows: number;
  15. hasLabels: boolean;
  16. isTop: boolean;
  17. container: AnyWrapper;
  18. containerI: number;
  19. frame: boolean;
  20. fLine: number;
  21. fSpace: number[];
  22. cSpace: number[];
  23. rSpace: number[];
  24. cLines: number[];
  25. rLines: number[];
  26. cWidths: (number | string)[];
  27. data: TableData;
  28. pwidthCells: [C, number][];
  29. pWidth: number;
  30. readonly tableRows: R[];
  31. childNodes: R[];
  32. findContainer(): void;
  33. getPercentageWidth(): void;
  34. stretchRows(): void;
  35. stretchColumns(): void;
  36. stretchColumn(i: number, W: number): void;
  37. getTableData(): TableData;
  38. updateHDW(cell: C, i: number, j: number, align: string, H: number[], D: number[], W: number[], M: number): number;
  39. extendHD(i: number, H: number[], D: number[], M: number): void;
  40. setColumnPWidths(): void;
  41. getBBoxHD(height: number): number[];
  42. getBBoxLR(): number[];
  43. getPadAlignShift(side: string): [number, string, number];
  44. getWidth(): number;
  45. getEqualRowHeight(): number;
  46. getComputedWidths(): number[];
  47. getColumnWidths(): ColumnWidths;
  48. getEqualColumns(width: string): ColumnWidths;
  49. getColumnWidthsAuto(swidths: string[]): ColumnWidths;
  50. getColumnWidthsPercent(widths: string[]): ColumnWidths;
  51. getColumnWidthsFixed(swidths: string[], width: number): ColumnWidths;
  52. getVerticalPosition(i: number, align: string): number;
  53. getEmHalfSpacing(fspace: number, space: number[], scale?: number): string[];
  54. getRowHalfSpacing(): number[];
  55. getColumnHalfSpacing(): number[];
  56. getAlignmentRow(): [string, number | null];
  57. getColumnAttributes(name: string, i?: number): string[];
  58. getRowAttributes(name: string, i?: number): string[];
  59. getAttributeArray(name: string): string[];
  60. addEm(list: number[], n?: number): string[];
  61. convertLengths(list: string[]): number[];
  62. }
  63. export declare type MtableConstructor<C extends AnyWrapper, R extends CommonMtr<C>> = Constructor<CommonMtable<C, R>>;
  64. export declare function CommonMtableMixin<C extends AnyWrapper, R extends CommonMtr<C>, T extends WrapperConstructor>(Base: T): MtableConstructor<C, R> & T;