# this constants come from and are inspired by the pyprocessing project
# (https://code.google.com/p/pyprocessing/source/browse/trunk/pyprocessing/constants.py)
# with some slight adjustments

#modes
const CORNER = 1
export CORNER
const CORNERS = 2
export CORNERS
const CENTER = 3
export CENTER
const RADIUS = 4
export RADIUS

# arc modes
const OPEN = 1
export OPEN
const PIE = 2
export PIE
const CHORD = 3
export CHORD

#text alignment
const TOP = 7
export TOP
const BOTTOM = 8
export BOTTOM
const BASELINE = 9
export BASELINE

# const textAlignConst = [LEFT=>"left", RIGHT=>"right",
const textAlignConst = [CENTER=>"center", TOP=>"top",
                  		BOTTOM=>"bottom", BASELINE=>"baseline"]
export textAlignConst

# colorMode
#const RGB=0
#export RGB
#const HSB=1
#export HSB

# math
const PI = pi
export PI
const TWO_PI = pi*2
export TWO_PI
const HALF_PI = pi/2
export HALF_PI
const QUARTER_PI = pi/4
export QUARTER_PI
const TAU = Tau.tau
export TAU

# hints
#const ENABLE_DEPTH_TEST = "ENABLE_DEPTH_TEST"
#export ENABLE_DEPTH_TEST
#const DISABLE_DEPTH_TEST = "DISABLE_DEPTH_TEST"
#export DISABLE_DEPTH_TEST
#const DISABLE_POLYGON_SMOOTH = "DISABLE_POLYGON_SMOOTH"
#export DISABLE_POLYGON_SMOOTH
#const DOUBLE_FLIP_POLICY = "DOUBLE_FLIP_POLICY"
#export DOUBLE_FLIP_POLICY
#const SINGLE_FLIP_POLICY = "SINGLE_FLIP_POLICY"
#export SINGLE_FLIP_POLICY
#const FBO_FLIP_POLICY = "FBO_FLIP_POLICY"
#export FBO_FLIP_POLICY
#const ACCUM_FLIP_POLICY = "ACCUM_FLIP_POLICY"
#export ACCUM_FLIP_POLICY
#const BACKUP_FLIP_POLICY = "BACKUP_FLIP_POLICY"
#export BACKUP_FLIP_POLICY

#filter modes
const THRESHOLD = "THRESOLD"
export THRESHOLD
const GRAY = "GRAY"
export GRAY
const INVERT = "INVERT"
export INVERT
const POSTERIZE = "POSTERIZE"
export POSTERIZE
const BLUR = "BLUR"
export BLUR
const OPAQUE = "OPAQUE"
export OPAQUE
const ERODE = "ERODE"
export ERODE
const DILATE = "DILATE"
export DILATE

# shapes
#const POINTS = OpenGLStd.POINTS
#export POINTS
#const LINES = OpenGLStd.LINES
#export LINES
#const TRIANGLES = OpenGLStd.TRIANGLES
#export TRIANGLES
#const TRIANGLE_FAN = OpenGLStd.TRIANGLE_FAN
#export TRIANGLE_FAN
#const TRIANGLE_STRIP = OpenGLStd.TRIANGLE_STRIP
#export TRIANGLE_STRIP
#const QUADS = OpenGLStd.QUADS
#export QUADS
#const QUAD_STRIP = OpenGLStd.QUAD_STRIP
#export QUAD_STRIP
#const CLOSE = 1
#export CLOSE

#blend modes
const BLEND = 1
export BLEND
const ADD = 2
export ADD
const SUBTRACT = 3
export SUBTRACT
const DARKEST = 4
export DARKEST
const LIGHTEST = 5
export LIGHTEST
const DIFFERENCE = 6
export DIFFERENCE
const EXCLUSION = 7
export EXCLUSION
const MULTIPLY = 8
export MULTIPLY
const SCREEN = 9
export SCREEN
const OVERLAY = 10
export OVERLAY
const HARD_LIGHT = 11
export HARD_LIGHT
const SOFT_LIGHT = 12
export SOFT_LIGHT
const DODGE = 13
export DODGE
const BURN = 14
export BURN

# texture modes
const NORMALIZED = "NORMALIZED"
export NORMALIZED
const IMAGE = "IMAGE"
export IMAGE

# color formats
#const RGB = "RGB"
#export RGB
#const ARGB = "RGBA"
#export ARGB
#const ALPHA = "A"
#export ALPHA

# stroke join modes
const MITER = "MITER"
export MITER
const BEVEL = "BEVEL"
export BEVEL

# stroke cap modes
const SQUARE = "SQUARE"
export SQUARE
const PROJECT = "PROJECT"
export PROJECT
const ROUND = "ROUND"
export ROUND

# cursor types
const ARROW = "arrow"
export ARROW
const CROSS = "crosshair"
export CROSS
const HAND = "hand"
export HAND
const MOVE = "size"
export MOVE
const TEXT = "text"
export TEXT
const WAIT = "wait"
export WAIT

#perlin noise table
const perlin = [
151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,
30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,
62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,
125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,
83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,
143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,
196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,
250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,
58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,
221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,
224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,
12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,
199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,
205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180,
151,160,137,91,90,15,131,13,201,95,96,53,194,233,7,225,140,36,103,
30,69,142,8,99,37,240,21,10,23,190,6,148,247,120,234,75,0,26,197,
62,94,252,219,203,117,35,11,32,57,177,33,88,237,149,56,87,174,20,
125,136,171,168,68,175,74,165,71,134,139,48,27,166,77,146,158,231,
83,111,229,122,60,211,133,230,220,105,92,41,55,46,245,40,244,102,
143,54,65,25,63,161,1,216,80,73,209,76,132,187,208,89,18,169,200,
196,135,130,116,188,159,86,164,100,109,198,173,186,3,64,52,217,226,
250,124,123,5,202,38,147,118,126,255,82,85,212,207,206,59,227,47,16,
58,17,182,189,28,42,223,183,170,213,119,248,152,2,44,154,163,70,
221,153,101,155,167,43,172,9,129,22,39,253,19,98,108,110,79,113,
224,232,178,185,112,104,218,246,97,228,251,34,242,193,238,210,144,
12,191,179,162,241,81,51,145,235,249,14,239,107,49,192,214,31,181,
199,106,157,184,84,204,176,115,121,50,45,127,4,150,254,138,236,
205,93,222,114,67,29,24,72,243,141,128,195,78,66,215,61,156,180]
export perlin
