/** * @file ScheduleMask */ import { IElementPosition, IElementSize } from '@co-hooks/dom'; import { IMousePos } from '@co-hooks/drag'; import { Emitter } from '@co-hooks/emitter'; import { Schedule } from './Schedule'; export interface IScheduleMaskEvent { repaint: []; } export interface IScheduleMaskRelativeRect { top: number; left: number; right: number; bottom: number; } export declare class ScheduleMask extends Emitter { private readonly root; private boxRect; private startPos; private endPos; private colSize; private dragging; private maskRelativeRect; constructor(root: Schedule); updateBoxRect(rect: IElementPosition): void; updateColSize(): void; getColSize(): IElementSize; updateStartPos(pos: IMousePos): void; updateEndPos(pos: IMousePos): void; stopDrag(endPos: IMousePos): void; getDragging(): boolean; getMaskRelativeRect(): IScheduleMaskRelativeRect | null; private calcMaskRect; private calcRegionRect; private calcRegionValue; }