[bilinearInterpolateColorGradient(7)] args = x,y,col00,colX0,col0Y,colXY,outcolorfieldname definition = | eval _x = $x$\ | eval _y = $y$\ | eval _col00 = $col00$\ | eval _colX0 = $colX0$\ | eval _col0Y = $col0Y$\ | eval _colXY = $colXY$\ `interpolateColor(_col00, _colX0, _x, "_outcolorB")`\ `interpolateColor(_col0Y, _colXY, _x, "_outcolorT")`\ `interpolateColor(_outcolorB, _outcolorT, _y, "_outcolor")`\ | eval $outcolorfieldname$ = _outcolor iseval = 0 [genColorFromComponents(4)] args = red,green,blue,outcolorfieldname definition = | eval _red = $red$\ | eval _green = $green$\ | eval _blue = $blue$\ | eval _outcolor = "#" + upper(printf("%02x", _red)) + upper(printf("%02x", _green)) + upper(printf("%02x", _blue))\ | eval $outcolorfieldname$ = _outcolor iseval = 0 [interpolateColor(4)] args = col1,col2,lerpt,outcolorfieldname definition = | eval _col1 = $col1$\ | eval _col2 = $col2$\ | eval _lerpt = $lerpt$\ | eval _outcolor = "#ZZZZZZ"\ | eval _lerpt = if(_lerpt > 1, 1.0, _lerpt)\ | eval _lerpt = if(_lerpt < 0.0, 0.0, _lerpt)\ `splitColorIntoComponents(_col1, "_col1r", "_col1g", "_col1b")`\ `splitColorIntoComponents(_col2, "_col2r", "_col2g", "_col2b")`\ | eval _deltaRed = _col2r - _col1r, _deltaGreen = _col2g - _col1g, _deltaBlue = _col2b - _col1b\ | eval _outRed = _col1r + _lerpt * _deltaRed, _outGreen = _col1g + _lerpt * _deltaGreen, _outBlue = _col1b + _lerpt * _deltaBlue\ `genColorFromComponents(_outRed, _outGreen, _outBlue, "_outcolor")`\ | eval $outcolorfieldname$ = _outcolor iseval = 0 [splitColorIntoComponents(4)] args = color, outfieldname_red,outfieldname_green,outfieldname_blue definition = | eval _color = $color$\ | rex field=_color "^#(?<_red>[0-9a-zA-Z]{2,2})(?<_green>[0-9a-zA-Z]{2,2})(?<_blue>[0-9a-zA-Z]{2,2})$"\ | eval _red = tonumber(_red, 16), _green = tonumber(_green, 16), _blue = tonumber(_blue, 16)\ | eval $outfieldname_red$ = _red\ | eval $outfieldname_green$ = _green\ | eval $outfieldname_blue$ = _blue iseval = 0