/*
 * JsMin
 * Javascript Compressor
 * http://www.crockford.com/
 * http://www.smallsharptools.com/
*/

// ;

dp.sh.Brushes.Hlsl=function()
{
  var keywords='blendstate bool([1-4](x[1-4])?)? break case cbuffer col_major column_major compile const continue default depthstencilstate depthstencilview discard do double([1-4](x[1-4])?)? else extern false float([1-4](x[1-4])?)? for geometryshader half([1-4](x[1-4])?)? if in inline inout int([1-4](x[1-4])?)? matrix namespace nointerpolation out pass pixelshader PixelShader rasterizerstate rendertargetview register return row_major sampler sampler_state sampler1D sampler2D sampler3D samplerCUBE samplerstate shared static struct stop string struct switch tbuffer technique technique10 texture texture1D texture2D texture2DArray texture2DMS texture 2DMSArray texture3D textureCUBE true typedef uniform uint([1-4](x[1-4])?)? vector vertexshader VertexShader void volatile while';
  var intrinsics='abs acos all any asfloat asin asint asuint atan atan2 ceil clamp clip cos cosh cross D3DCOLORtoUBYTE4 ddx ddy degrees determinant distance dot exp exp2 faceforward floor fmod frac frexp fwidth GetRenderTargetSampleCount GetRenderTargetSamplePosition isfinite isinf isnan ldexp length lerp lit log log10 log2 max min modf mul noise normalize pow radians reflect refract round rsqrt saturate sign sin sincos sinh smoothstep sqrt step tan tanh tex1D tex1Dbias tex1Dgrad tex1Dlod tex1Dproj tex2D tex2Dbias tex2Dgrad tex2Dlod tex2Dproj tex3D tex3Dbias tex3Dgrad tex3Dlod tex3Dproj texCUBE texCUBEbias texCUBEgrad texCUBElod texCUBEproj transpose trunc';
  
  this.regexList=[{regex:dp.sh.RegexLib.SingleLineCComments,css:'comment'},
                  {regex:dp.sh.RegexLib.MultiLineCComments,css:'comment'},
                  {regex:dp.sh.RegexLib.DoubleQuotedString,css:'string'},
                  {regex:dp.sh.RegexLib.SingleQuotedString,css:'string'},
                  {regex:new RegExp('^ *#.*','gm'),css:'preprocessor'},
                  {regex:new RegExp('(\&lt;|\&gt;|\&amp;|-|[\/](?=[^\/\*])|[\*](?=[^/])|[\.](?=[^0-9])|[\!\%\^&\(\)\+\=\{\}\[]|\]|[\|\:\;\<\>\,\?\~])+','gm'),css:'operator'},
                  {regex:new RegExp('\\b(0|[1-9][0-9]*)(?!\\.)\\b','gm'),css:'number'},
                  {regex:new RegExp('\\b(0|[1-9][0-9]*)?(\\.[0-9]+[f]?)\\b','gm'),css:'number'},
                  {regex:new RegExp(this.GetKeywords(keywords),'gm'),css:'keyword'},
                  {regex:new RegExp(this.GetKeywords(intrinsics),'gm'),css:'intrinsic'}];
  this.CssClass='dp-hlsl';this.Style='.dp-hlsl .datatypes { color: #2E8B57; font-weight: bold; }';
}
dp.sh.Brushes.Hlsl.prototype=new dp.sh.Highlighter();dp.sh.Brushes.Hlsl.Aliases=['hlsl','fx'];
                                                     