validateDataDescription("drawPieLegend",$DataDescription,FALSE); $this->validateData("drawPieLegend",$Data); if ( !isset($DataDescription["Position"]) ) return(-1); $C_TextColor =$this->AllocateColor($this->Picture,$R,$G,$B); /* <-10->[8]<-4->Text<-10-> */ $MaxWidth = 0; $MaxHeight = 8; foreach($Data as $Key => $Value) { $Value2 = $Value[$DataDescription["Position"]]; $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value2); $TextWidth = $Position[2]-$Position[0]; $TextHeight = $Position[1]-$Position[7]; if ( $TextWidth > $MaxWidth) { $MaxWidth = $TextWidth; } $MaxHeight = $MaxHeight + $TextHeight + 4; } $MaxHeight = $MaxHeight - 3; $MaxWidth = $MaxWidth + 32; //$this->drawFilledRoundedRectangle($XPos+1,$YPos+1,$XPos+$MaxWidth+1,$YPos+$MaxHeight+1,5,$R-30,$G-30,$B-30); //$this->drawFilledRoundedRectangle($XPos,$YPos,$XPos+$MaxWidth,$YPos+$MaxHeight,5,$R,$G,$B); $XOffect = 0; $YOffset = 4 + $this->FontSize; $ID = 0; foreach($Data as $Key => $Value) { $Value2 = $Value[$DataDescription["Position"]]; $Position = imageftbbox($this->FontSize,0,$this->FontName,$Value2); $TextHeight = $Position[1]-$Position[7]; $TextWidth = $Position[1]-$Position[7]; $this->drawFilledRectangle($XPos+10+$XOffect,$YPos+$YOffset-6,$XPos+14+$XOffect,$YPos+$YOffset-2,$this->Palette[$ID]["R"],$this->Palette[$ID]["G"],$this->Palette[$ID]["B"]); imagettftext($this->Picture,$this->FontSize,0,$XPos+$XOffect+22,$YPos+$YOffset,$C_TextColor,$this->FontName,$Value2); $XOffect = $XOffect + $widthLength + 4; $ID++; if ($rowAmount > 0) { if (($ID % $rowAmount) == 0) { $YOffset += $TextHeight + 4; $XOffect = 0; } } } } } ?>