function pChart::drawGrid in Visitors 8        
                          
                  
                        Same name and namespace in other branches
- 7.0 pchart/pChart.inc \pChart::drawGrid()
 
 
File
 
   - pchart/pChart.inc, line 495
 
  
  Class
  
  - pChart 
 
  
Code
function drawGrid($LineWidth, $Mosaic = TRUE, $R = 220, $G = 220, $B = 220, $Alpha = 100) {
  
  if ($Mosaic) {
    $LayerWidth = $this->GArea_X2 - $this->GArea_X1;
    $LayerHeight = $this->GArea_Y2 - $this->GArea_Y1;
    $this->Layers[0] = imagecreatetruecolor($LayerWidth, $LayerHeight);
    $C_White = imagecolorallocate($this->Layers[0], 255, 255, 255);
    imagefilledrectangle($this->Layers[0], 0, 0, $LayerWidth, $LayerHeight, $C_White);
    imagecolortransparent($this->Layers[0], $C_White);
    $C_Rectangle = imagecolorallocate($this->Layers[0], 250, 250, 250);
    $YPos = $LayerHeight;
    
    $LastY = $YPos;
    for ($i = 0; $i <= $this->DivisionCount; $i++) {
      $LastY = $YPos;
      $YPos = $YPos - $this->DivisionHeight;
      if ($YPos <= 0) {
        $YPos = 1;
      }
      if ($i % 2 == 0) {
        imagefilledrectangle($this->Layers[0], 1, $YPos, $LayerWidth - 1, $LastY, $C_Rectangle);
      }
    }
    imagecopymerge($this->Picture, $this->Layers[0], $this->GArea_X1, $this->GArea_Y1, 0, 0, $LayerWidth, $LayerHeight, $Alpha);
    imagedestroy($this->Layers[0]);
  }
  
  $YPos = $this->GArea_Y2 - $this->DivisionHeight;
  for ($i = 1; $i <= $this->DivisionCount; $i++) {
    if ($YPos > $this->GArea_Y1 && $YPos < $this->GArea_Y2) {
      $this
        ->drawDottedLine($this->GArea_X1, $YPos, $this->GArea_X2, $YPos, $LineWidth, $R, $G, $B);
    }
    $YPos = $YPos - $this->DivisionHeight;
  }
  
  if ($this->GAreaXOffset == 0) {
    $XPos = $this->GArea_X1 + $this->DivisionWidth + $this->GAreaXOffset;
    $ColCount = $this->DataCount - 2;
  }
  else {
    $XPos = $this->GArea_X1 + $this->GAreaXOffset;
    $ColCount = $this->DataCount;
  }
  for ($i = 1; $i <= $ColCount; $i++) {
    if ($XPos > $this->GArea_X1 && $XPos < $this->GArea_X2) {
      $this
        ->drawDottedLine(floor($XPos), $this->GArea_Y1, floor($XPos), $this->GArea_Y2, $LineWidth, $R, $G, $B);
    }
    $XPos = $XPos + $this->DivisionWidth;
  }
}