Example #1
0
 /**
  * Render the axis 
  * 
  * @param ezcGraphRenderer $renderer Renderer
  * @param ezcGraphBoundings $boundings Boundings for the axis
  * @return ezcGraphBoundings Remaining boundings
  */
 public function render(ezcGraphRenderer $renderer, ezcGraphBoundings $boundings, ezcGraphBoundings $innerBoundings = null)
 {
     $this->innerBoundings = $innerBoundings;
     $startSpace = $this->axisSpace;
     $endSpace = $this->outerAxisSpace === null ? $this->axisSpace : $this->outerAxisSpace;
     switch ($this->position) {
         case ezcGraph::TOP:
             $start = new ezcGraphCoordinate($boundings->width * $startSpace + $this->nullPosition * $boundings->width * (1 - ($startSpace + $endSpace)), 0);
             $end = new ezcGraphCoordinate($boundings->width * $startSpace + $this->nullPosition * $boundings->width * (1 - ($startSpace + $endSpace)), $boundings->height);
             break;
         case ezcGraph::BOTTOM:
             $start = new ezcGraphCoordinate($boundings->width * $startSpace + $this->nullPosition * $boundings->width * (1 - ($startSpace + $endSpace)), $boundings->height);
             $end = new ezcGraphCoordinate($boundings->width * $startSpace + $this->nullPosition * $boundings->width * (1 - ($startSpace + $endSpace)), 0);
             break;
         case ezcGraph::LEFT:
             $start = new ezcGraphCoordinate(0, $boundings->height * $endSpace + $this->nullPosition * $boundings->height * (1 - ($startSpace + $endSpace)));
             $end = new ezcGraphCoordinate($boundings->width, $boundings->height * $endSpace + $this->nullPosition * $boundings->height * (1 - ($startSpace + $endSpace)));
             break;
         case ezcGraph::RIGHT:
             $start = new ezcGraphCoordinate($boundings->width, $boundings->height * $endSpace + $this->nullPosition * $boundings->height * (1 - ($startSpace + $endSpace)));
             $end = new ezcGraphCoordinate(0, $boundings->height * $endSpace + $this->nullPosition * $boundings->height * (1 - ($startSpace + $endSpace)));
             break;
     }
     $renderer->drawAxis($boundings, $start, $end, $this, $this->axisLabelRenderer, $innerBoundings);
     return $boundings;
 }
Example #2
0
 /**
  * Render the axis 
  * 
  * @param ezcGraphRenderer $renderer Renderer
  * @param ezcGraphBoundings $boundings Boundings for the axis
  * @return ezcGraphBoundings Remaining boundings
  */
 public function render(ezcGraphRenderer $renderer, ezcGraphBoundings $boundings)
 {
     switch ($this->position) {
         case ezcGraph::TOP:
             $start = new ezcGraphCoordinate(($boundings->x1 - $boundings->x0) * $this->axisSpace + $this->nullPosition * ($boundings->x1 - $boundings->x0) * (1 - 2 * $this->axisSpace), 0);
             $end = new ezcGraphCoordinate(($boundings->x1 - $boundings->x0) * $this->axisSpace + $this->nullPosition * ($boundings->x1 - $boundings->x0) * (1 - 2 * $this->axisSpace), $boundings->y1 - $boundings->y0);
             break;
         case ezcGraph::BOTTOM:
             $start = new ezcGraphCoordinate(($boundings->x1 - $boundings->x0) * $this->axisSpace + $this->nullPosition * ($boundings->x1 - $boundings->x0) * (1 - 2 * $this->axisSpace), $boundings->y1 - $boundings->y0);
             $end = new ezcGraphCoordinate(($boundings->x1 - $boundings->x0) * $this->axisSpace + $this->nullPosition * ($boundings->x1 - $boundings->x0) * (1 - 2 * $this->axisSpace), 0);
             break;
         case ezcGraph::LEFT:
             $start = new ezcGraphCoordinate(0, ($boundings->y1 - $boundings->y0) * $this->axisSpace + $this->nullPosition * ($boundings->y1 - $boundings->y0) * (1 - 2 * $this->axisSpace));
             $end = new ezcGraphCoordinate($boundings->x1 - $boundings->x0, ($boundings->y1 - $boundings->y0) * $this->axisSpace + $this->nullPosition * ($boundings->y1 - $boundings->y0) * (1 - 2 * $this->axisSpace));
             break;
         case ezcGraph::RIGHT:
             $start = new ezcGraphCoordinate($boundings->x1 - $boundings->x0, ($boundings->y1 - $boundings->y0) * $this->axisSpace + $this->nullPosition * ($boundings->y1 - $boundings->y0) * (1 - 2 * $this->axisSpace));
             $end = new ezcGraphCoordinate(0, ($boundings->y1 - $boundings->y0) * $this->axisSpace + $this->nullPosition * ($boundings->y1 - $boundings->y0) * (1 - 2 * $this->axisSpace));
             break;
     }
     $renderer->drawAxis($boundings, $start, $end, $this, $this->axisLabelRenderer);
     return $boundings;
 }