// vim: set ts=2 sw=2 et tw=80:

const history = {
  paths: []
}

history.pop = () => {
  if (history.paths.length == 0) return;
  return history.paths.pop();
};

history.initializeNewPath = () => {
  history.paths.push([]);
};

history.push = (stroke) => {
  if (!stroke || !stroke instanceof Stroke) {
    throw new Error(JSON.stringify(stroke) + ' is not a Stroke instance');
  }
  history.paths[history.paths.length - 1].push(stroke);
  return history.paths[history.paths.length - 1];
}

history.clear = () => {
  history.paths = [];
};



class Stroke {
  constructor(brushName, strokeStyle, x, y) {
    this.brushName = brushName;
    this.strokeStyle = strokeStyle;
    this.offsetX = x;
    this.offsetY = y;
  }
}
