dp.sh.Brushes.Processing = function()
{
	var keywords =	'abstract assert boolean break byte case catch char class const ' +
			'continue default do double else enum extends ' +
			'false final finally float for goto if implements import ' +
			'instanceof int interface long native new null ' +
			'package private protected public return ' +
			'short static strictfp super switch synchronized this throw throws true ' +
			'transient try void volatile while';
  
  var functions =	'setup size strokeWeight stroke background pushMatrix popMatrix ' +
      'translate rotate radians rect quad bezierCurve curveVertex vertex beginShape ' +
      'endShape noFill color noStroke nf fill get bezierVertex';			

  var reservedwords =	'mouseX mouseY height width window';      

	this.regexList = [
		{ regex: dp.sh.RegexLib.SingleLineCComments,							css: 'comment' },		// one line comments
		{ regex: dp.sh.RegexLib.MultiLineCComments,								css: 'comment' },		// multiline comments
		{ regex: dp.sh.RegexLib.DoubleQuotedString,								css: 'string' },		// strings
		{ regex: dp.sh.RegexLib.SingleQuotedString,								css: 'string' },		// strings
		//{ regex: new RegExp('\\b([\\d]+(\\.[\\d]+)?|0x[a-f0-9]+)\\b', 'gi'),	css: 'number' },		// numbers
		{ regex: new RegExp('(?!\\@interface\\b)\\@[\\$\\w]+\\b', 'g'),			css: 'annotation' },	// annotation @anno
		{ regex: new RegExp('\\@interface\\b', 'g'),							css: 'keyword' },		// @interface keyword
		{ regex: new RegExp(this.GetKeywords(keywords), 'gm'),					css: 'keyword' },		  // processing keyword
		{ regex: new RegExp(this.GetKeywords(reservedwords), 'gm'),			css: 'reservedword' },// processing reserved words
		{ regex: new RegExp(this.GetKeywords(functions), 'gm'),					css: 'function' }		  // processing reserved functions
		];

	this.CssClass = 'dp-j';
	this.Style =	'.dp-j .annotation { color: #646464; }' +
					'.dp-j .number { color: #C00000; }';
}

dp.sh.Brushes.Processing.prototype	= new dp.sh.Highlighter();
dp.sh.Brushes.Processing.Aliases	= ['processing'];