function pDraw::drawThreshold
Search API
5.x pDraw.class.php | pDraw::drawThreshold($Value, $Format = "") |
File
- inc/
pchart/ pchart/ class/ pDraw.class.php, line 2855
Class
Code
function drawThreshold($Value, $Format = "")
{
$AxisID = isset($Format ["AxisID"]) ? $Format ["AxisID"] : 0;
$R = isset($Format ["R"]) ? $Format ["R"] : 255;
$G = isset($Format ["G"]) ? $Format ["G"] : 0;
$B = isset($Format ["B"]) ? $Format ["B"] : 0;
$Alpha = isset($Format ["Alpha"]) ? $Format ["Alpha"] : 50;
$Weight = isset($Format ["Weight"]) ? $Format ["Weight"] : NULL;
$Ticks = isset($Format ["Ticks"]) ? $Format ["Ticks"] : 6;
$Wide = isset($Format ["Wide"]) ? $Format ["Wide"] : FALSE;
$WideFactor = isset($Format ["WideFactor"]) ? $Format ["WideFactor"] : 5;
$WriteCaption = isset($Format ["WriteCaption"]) ? $Format ["WriteCaption"] : FALSE;
$Caption = isset($Format ["Caption"]) ? $Format ["Caption"] : NULL;
$CaptionAlign = isset($Format ["CaptionAlign"]) ? $Format ["CaptionAlign"] : CAPTION_LEFT_TOP;
$CaptionOffset = isset($Format ["CaptionOffset"]) ? $Format ["CaptionOffset"] : 10;
$CaptionR = isset($Format ["CaptionR"]) ? $Format ["CaptionR"] : 255;
$CaptionG = isset($Format ["CaptionG"]) ? $Format ["CaptionG"] : 255;
$CaptionB = isset($Format ["CaptionB"]) ? $Format ["CaptionB"] : 255;
$CaptionAlpha = isset($Format ["CaptionAlpha"]) ? $Format ["CaptionAlpha"] : 100;
$DrawBox = isset($Format ["DrawBox"]) ? $Format ["DrawBox"] : TRUE;
$DrawBoxBorder = isset($Format ["DrawBoxBorder"]) ? $Format ["DrawBoxBorder"] : FALSE;
$BorderOffset = isset($Format ["BorderOffset"]) ? $Format ["BorderOffset"] : 5;
$BoxRounded = isset($Format ["BoxRounded"]) ? $Format ["BoxRounded"] : TRUE;
$RoundedRadius = isset($Format ["RoundedRadius"]) ? $Format ["RoundedRadius"] : 3;
$BoxR = isset($Format ["BoxR"]) ? $Format ["BoxR"] : 0;
$BoxG = isset($Format ["BoxG"]) ? $Format ["BoxG"] : 0;
$BoxB = isset($Format ["BoxB"]) ? $Format ["BoxB"] : 0;
$BoxAlpha = isset($Format ["BoxAlpha"]) ? $Format ["BoxAlpha"] : 20;
$BoxSurrounding = isset($Format ["BoxSurrounding"]) ? $Format ["BoxSurrounding"] : "";
$BoxBorderR = isset($Format ["BoxBorderR"]) ? $Format ["BoxBorderR"] : 255;
$BoxBorderG = isset($Format ["BoxBorderG"]) ? $Format ["BoxBorderG"] : 255;
$BoxBorderB = isset($Format ["BoxBorderB"]) ? $Format ["BoxBorderB"] : 255;
$BoxBorderAlpha = isset($Format ["BoxBorderAlpha"]) ? $Format ["BoxBorderAlpha"] : 100;
$NoMargin = isset($Format ["NoMargin"]) ? $Format ["NoMargin"] : FALSE;
if (is_array($Value)) {
foreach ($Value as $Key => $ID) {
$this->drawThreshold($ID, $Format);
}
return (0);
}
$CaptionSettings = array("DrawBox" => $DrawBox, "DrawBoxBorder" => $DrawBoxBorder, "BorderOffset" => $BorderOffset, "BoxRounded" => $BoxRounded, "RoundedRadius" => $RoundedRadius,
"BoxR" => $BoxR, "BoxG" => $BoxG, "BoxB" => $BoxB, "BoxAlpha" => $BoxAlpha, "BoxSurrounding" => $BoxSurrounding,
"BoxBorderR" => $BoxBorderR, "BoxBorderG" => $BoxBorderG, "BoxBorderB" => $BoxBorderB, "BoxBorderAlpha" => $BoxBorderAlpha,
"R" => $CaptionR, "G" => $CaptionG, "B" => $CaptionB, "Alpha" => $CaptionAlpha);
$Data = $this->DataSet->getData();
$AbscissaMargin = $this->getAbscissaMargin($Data);
if ($NoMargin) {
$AbscissaMargin = 0;
}
if (!isset($Data ["Axis"][$AxisID])) {
return (-1);
}
if ($Caption == NULL) {
$Caption = $Value;
}
if ($Data ["Orientation"] == SCALE_POS_LEFTRIGHT)
{
$YPos = $this->scaleComputeY($Value, array("AxisID" => $AxisID));
if ($YPos >= $this->GraphAreaY1 + $Data ["Axis"][$AxisID]["Margin"] && $YPos <= $this->GraphAreaY2 -$Data ["Axis"][$AxisID]["Margin"])
{
$X1 = $this->GraphAreaX1 + $AbscissaMargin;
$X2 = $this->GraphAreaX2 - $AbscissaMargin;
$this->drawLine($X1, $YPos, $X2, $YPos, array("R" => $R, "G" => $G, "B" => $B, "Alpha" => $Alpha, "Ticks" => $Ticks, "Weight" => $Weight));
if ($Wide)
{
$this->drawLine($X1, $YPos -1, $X2, $YPos -1, array("R" => $R, "G" => $G, "B" => $B, "Alpha" => $Alpha / $WideFactor, "Ticks" => $Ticks));
$this->drawLine($X1, $YPos + 1, $X2, $YPos + 1, array("R" => $R, "G" => $G, "B" => $B, "Alpha" => $Alpha / $WideFactor, "Ticks" => $Ticks));
}
if ($WriteCaption)
{
if ($CaptionAlign == CAPTION_LEFT_TOP)
{
$X = $X1 + $CaptionOffset;
$CaptionSettings ["Align"] = TEXT_ALIGN_MIDDLELEFT;
}
else
{
$X = $X2 - $CaptionOffset;
$CaptionSettings ["Align"] = TEXT_ALIGN_MIDDLERIGHT;
}
$this->drawText($X, $YPos, $Caption, $CaptionSettings);
}
}
return (array("Y" => $YPos));
}
if ($Data ["Orientation"] == SCALE_POS_TOPBOTTOM)
{
$XPos = $this->scaleComputeY($Value, array("AxisID" => $AxisID));
if ($XPos >= $this->GraphAreaX1 + $Data ["Axis"][$AxisID]["Margin"] && $XPos <= $this->GraphAreaX2 -$Data ["Axis"][$AxisID]["Margin"])
{
$Y1 = $this->GraphAreaY1 + $AbscissaMargin;
$Y2 = $this->GraphAreaY2 - $AbscissaMargin;
$this->drawLine($XPos, $Y1, $XPos, $Y2, array("R" => $R, "G" => $G, "B" => $B, "Alpha" => $Alpha, "Ticks" => $Ticks, "Weight" => $Weight));
if ($Wide)
{
$this->drawLine($XPos -1, $Y1, $XPos -1, $Y2, array("R" => $R, "G" => $G, "B" => $B, "Alpha" => $Alpha / $WideFactor, "Ticks" => $Ticks));
$this->drawLine($XPos + 1, $Y1, $XPos + 1, $Y2, array("R" => $R, "G" => $G, "B" => $B, "Alpha" => $Alpha / $WideFactor, "Ticks" => $Ticks));
}
if ($WriteCaption)
{
if ($CaptionAlign == CAPTION_LEFT_TOP)
{
$Y = $Y1 + $CaptionOffset;
$CaptionSettings ["Align"] = TEXT_ALIGN_TOPMIDDLE;
}
else
{
$Y = $Y2 - $CaptionOffset;
$CaptionSettings ["Align"] = TEXT_ALIGN_BOTTOMMIDDLE;
}
$CaptionSettings ["Align"] = TEXT_ALIGN_TOPMIDDLE;
$this->drawText($XPos, $Y, $Caption, $CaptionSettings);
}
}
return (array("Y" => $XPos));
}
}