/** * 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; }
/** * 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; }