'use strict';

// used to auto resizing etc.
const AUTO = -1;

// Align modes for cover, contain, bit masks
const HORIZONTAL_ALIGN_LEFT = 1;
const HORIZONTAL_ALIGN_CENTER = 2;
const HORIZONTAL_ALIGN_RIGHT = 4;
const VERTICAL_ALIGN_TOP = 8;
const VERTICAL_ALIGN_MIDDLE = 16;
const VERTICAL_ALIGN_BOTTOM = 32;

// blend modes
const BLEND_SOURCE_OVER = "srcOver";
const BLEND_DESTINATION_OVER = "dstOver";
const BLEND_MULTIPLY = "multiply";
const BLEND_ADD = "add";
const BLEND_SCREEN = "screen";
const BLEND_OVERLAY = "overlay";
const BLEND_DARKEN = "darken";
const BLEND_LIGHTEN = "lighten";
const BLEND_HARDLIGHT = "hardLight";
const BLEND_DIFFERENCE = "difference";
const BLEND_EXCLUSION = "exclusion";

// Edge Handling
const EDGE_EXTEND = 1;
const EDGE_WRAP = 2;
const EDGE_CROP = 3;

exports.AUTO = AUTO;
exports.BLEND_ADD = BLEND_ADD;
exports.BLEND_DARKEN = BLEND_DARKEN;
exports.BLEND_DESTINATION_OVER = BLEND_DESTINATION_OVER;
exports.BLEND_DIFFERENCE = BLEND_DIFFERENCE;
exports.BLEND_EXCLUSION = BLEND_EXCLUSION;
exports.BLEND_HARDLIGHT = BLEND_HARDLIGHT;
exports.BLEND_LIGHTEN = BLEND_LIGHTEN;
exports.BLEND_MULTIPLY = BLEND_MULTIPLY;
exports.BLEND_OVERLAY = BLEND_OVERLAY;
exports.BLEND_SCREEN = BLEND_SCREEN;
exports.BLEND_SOURCE_OVER = BLEND_SOURCE_OVER;
exports.EDGE_CROP = EDGE_CROP;
exports.EDGE_EXTEND = EDGE_EXTEND;
exports.EDGE_WRAP = EDGE_WRAP;
exports.HORIZONTAL_ALIGN_CENTER = HORIZONTAL_ALIGN_CENTER;
exports.HORIZONTAL_ALIGN_LEFT = HORIZONTAL_ALIGN_LEFT;
exports.HORIZONTAL_ALIGN_RIGHT = HORIZONTAL_ALIGN_RIGHT;
exports.VERTICAL_ALIGN_BOTTOM = VERTICAL_ALIGN_BOTTOM;
exports.VERTICAL_ALIGN_MIDDLE = VERTICAL_ALIGN_MIDDLE;
exports.VERTICAL_ALIGN_TOP = VERTICAL_ALIGN_TOP;
