konvajs/konva

View on GitHub
src/types.ts

Summary

Maintainability
A
0 mins
Test Coverage
export interface GetSet<Type, This> {
  (): Type;
  (v: Type): This;
}

export interface Vector2d {
  x: number;
  y: number;
}

export interface PathSegment {
  command:
    | 'm'
    | 'M'
    | 'l'
    | 'L'
    | 'v'
    | 'V'
    | 'h'
    | 'H'
    | 'z'
    | 'Z'
    | 'c'
    | 'C'
    | 'q'
    | 'Q'
    | 't'
    | 'T'
    | 's'
    | 'S'
    | 'a'
    | 'A';
  start: Vector2d;
  points: number[];
  pathLength: number;
}

export interface IRect {
  x: number;
  y: number;
  width: number;
  height: number;
}

export interface IFrame {
  time: number;
  timeDiff: number;
  lastTime: number;
  frameRate: number;
}

export type AnimationFn = (frame?: IFrame) => boolean | void;

export enum KonvaNodeEvent {
  mouseover = 'mouseover',
  mouseout = 'mouseout',
  mousemove = 'mousemove',
  mouseleave = 'mouseleave',
  mouseenter = 'mouseenter',
  mousedown = 'mousedown',
  mouseup = 'mouseup',
  wheel = 'wheel',
  contextmenu = 'contextmenu',
  click = 'click',
  dblclick = 'dblclick',
  touchstart = 'touchstart',
  touchmove = 'touchmove',
  touchend = 'touchend',
  tap = 'tap',
  dbltap = 'dbltap',
  dragstart = 'dragstart',
  dragmove = 'dragmove',
  dragend = 'dragend',
}

export interface RGB {
  r: number;
  g: number;
  b: number;
}

export interface RGBA extends RGB {
  a: number;
}