예제 #1
0
파일: Lines.php 프로젝트: villos/tree_admin
 /**
  * Output the grid
  *
  * @return bool Was the output 'good' (true) or 'bad' (false).
  * @access private
  */
 function _done()
 {
     if (parent::_done() === false) {
         return false;
     }
     if (!$this->_primaryAxis) {
         return false;
     }
     $this->_canvas->startGroup(get_class($this));
     $value = false;
     $secondaryPoints = $this->_getSecondaryAxisPoints();
     while (($value = $this->_primaryAxis->_getNextLabel($value)) !== false) {
         reset($secondaryPoints);
         list($id, $previousSecondaryValue) = each($secondaryPoints);
         while (list($id, $secondaryValue) = each($secondaryPoints)) {
             if ($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_Y) {
                 $p1 = array('X' => $secondaryValue, 'Y' => $value);
                 $p2 = array('X' => $previousSecondaryValue, 'Y' => $value);
             } else {
                 $p1 = array('X' => $value, 'Y' => $secondaryValue);
                 $p2 = array('X' => $value, 'Y' => $previousSecondaryValue);
             }
             $x1 = $this->_pointX($p1);
             $y1 = $this->_pointY($p1);
             $x2 = $this->_pointX($p2);
             $y2 = $this->_pointY($p2);
             $previousSecondaryValue = $secondaryValue;
             $this->_getLineStyle();
             $this->_canvas->line(array('x0' => $x1, 'y0' => $y1, 'x1' => $x2, 'y1' => $y2));
         }
     }
     $this->_canvas->endGroup();
     return true;
 }
예제 #2
0
 /**
  * Output the grid
  *
  * @return bool Was the output 'good' (true) or 'bad' (false).
  * @access private
  */
 function _done()
 {
     if (parent::_done() === false) {
         return false;
     }
     if (!$this->_primaryAxis) {
         return false;
     }
     $this->_canvas->startGroup(get_class($this));
     $value = false;
     $p0 = array('X' => '#min#', 'Y' => '#min#');
     if ($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_Y) {
         $p1 = array('X' => '#min#', 'Y' => '#max#');
         $r0 = abs($this->_pointY($p1) - $this->_pointY($p0));
     } else {
         $p1 = array('X' => '#max#', 'Y' => '#min#');
         $r0 = abs($this->_pointX($p1) - $this->_pointX($p0));
     }
     $cx = $this->_pointX($p0);
     $cy = $this->_pointY($p0);
     $span = $this->_primaryAxis->_axisSpan;
     while (($value = $this->_primaryAxis->_getNextLabel($value)) !== false) {
         $r = $r0 * ($value - $this->_primaryAxis->_getMinimum()) / $span;
         $this->_getLineStyle();
         $this->_canvas->ellipse(array('x' => $cx, 'y' => $cy, 'rx' => $r, 'ry' => $r));
     }
     $this->_canvas->endGroup();
     return true;
 }
예제 #3
0
 /**
  * Output the grid
  *
  * @return bool Was the output 'good' (true) or 'bad' (false).
  * @access private
  */
 function _done()
 {
     if (parent::_done() === false) {
         return false;
     }
     if (!$this->_primaryAxis) {
         return false;
     }
     $this->_canvas->startGroup(get_class($this));
     $i = 0;
     $value = false;
     $previousValue = 0;
     $secondaryPoints = $this->_getSecondaryAxisPoints();
     while (($value = $this->_primaryAxis->_getNextLabel($value)) !== false) {
         if ($i == 1) {
             reset($secondaryPoints);
             list($id, $previousSecondaryValue) = each($secondaryPoints);
             while (list($id, $secondaryValue) = each($secondaryPoints)) {
                 if ($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_X) {
                     $p1 = array('Y' => $secondaryValue, 'X' => $value);
                     $p2 = array('Y' => $previousSecondaryValue, 'X' => $value);
                     $p3 = array('Y' => $previousSecondaryValue, 'X' => $previousValue);
                     $p4 = array('Y' => $secondaryValue, 'X' => $previousValue);
                 } else {
                     $p1 = array('X' => $secondaryValue, 'Y' => $value);
                     $p2 = array('X' => $previousSecondaryValue, 'Y' => $value);
                     $p3 = array('X' => $previousSecondaryValue, 'Y' => $previousValue);
                     $p4 = array('X' => $secondaryValue, 'Y' => $previousValue);
                 }
                 $this->_canvas->addVertex(array('x' => $this->_pointX($p1), 'y' => $this->_pointY($p1)));
                 $this->_canvas->addVertex(array('x' => $this->_pointX($p2), 'y' => $this->_pointY($p2)));
                 $this->_canvas->addVertex(array('x' => $this->_pointX($p3), 'y' => $this->_pointY($p3)));
                 $this->_canvas->addVertex(array('x' => $this->_pointX($p4), 'y' => $this->_pointY($p4)));
                 $this->_getFillStyle();
                 $this->_canvas->polygon(array('connect' => true));
                 $previousSecondaryValue = $secondaryValue;
             }
         }
         $i = 1 - $i;
         $previousValue = $value;
     }
     $this->_canvas->endGroup();
     return true;
 }
예제 #4
0
    /**
     * Output the grid
     * @access private
     */
    function _done()
    {
        parent::_done();

        if (!$this->_primaryAxis) {
            return false;
        }

        $value = $this->_primaryAxis->_getNextLabel();

        $secondaryPoints = $this->_getSecondaryAxisPoints();

        while ($value <= $this->_primaryAxis->_getMaximum()) {
            if ($value > $this->_primaryAxis->_getMinimum()) {
                reset($secondaryPoints);
                list ($id, $previousSecondaryValue) = each($secondaryPoints);
                while (list ($id, $secondaryValue) = each($secondaryPoints)) {
                    if ($this->_primaryAxis->_type == IMAGE_GRAPH_AXIS_Y) {
                        $p1 = array ('X' => $secondaryValue, 'Y' => $value);
                        $p2 = array ('X' => $previousSecondaryValue, 'Y' => $value);
                    } else {
                        $p1 = array ('X' => $value, 'Y' => $secondaryValue);
                        $p2 = array ('X' => $value, 'Y' => $previousSecondaryValue);
                    }

                    $x1 = $this->_parent->_pointX($p1);
                    $y1 = $this->_parent->_pointY($p1);
                    $x2 = $this->_parent->_pointX($p2);
                    $y2 = $this->_parent->_pointY($p2);

                    $previousSecondaryValue = $secondaryValue;

                    ImageLine($this->_canvas(), $x1, $y1, $x2, $y2, $this->_getLineStyle());
                }
            }
            $value = $this->_primaryAxis->_getNextLabel($value);
        }
    }