/** * Draw the label * * @param awDrawer $drawer * @param awPoint $p Label center * @param int $key Text position in the array of texts (default to zero) */ public function drawSpecial(awDrawer $drawer, awPoint $p, $key = 0, $theText) { $theTextAW = new awText($theText); if ($key % $this->interval !== 0) { return; } // Hide all labels if ($this->hide) { return; } // Key is hidden if (array_key_exists($key, $this->hideKey)) { return; } // Hide first label if ($key === 0 and $this->hideFirst) { return; } // Hide last label if ($key === count($this->texts) - 1 and $this->hideLast) { return; } $text = $theTextAW; if ($text !== NULL) { // Value must be hidden if (in_array($text->getText(), $this->hideValue)) { return; } $x = $p->x; $y = $p->y; // Get padding list($left, $right, $top, $bottom) = $text->getPadding(); $font = $text->getFont(); $width = $font->getTextWidth($text); $height = $font->getTextHeight($text); switch ($this->hAlign) { case awLabel::RIGHT: $x -= $width + $right; break; case awLabel::CENTER: $x -= ($width - $left + $right) / 2; break; case awLabel::LEFT: $x += $left; break; } switch ($this->vAlign) { case awLabel::TOP: $y -= $height + $bottom; break; case awLabel::MIDDLE: $y -= ($height - $top + $bottom) / 2; break; case awLabel::BOTTOM: $y += $top; break; } $drawer->string($theTextAW, $this->move->move($x, $y)); } }
/** * @covers Imagine\Image\Point::getX * @covers Imagine\Image\Point::getY * @covers Imagine\Image\Point::move * * @dataProvider getMoves * * @param integer $x * @param integer $y * @param integer $move * @param integer $x1 * @param integer $y1 */ public function testShouldMoveByGivenAmount($x, $y, $move, $x1, $y1) { $point = new Point($x, $y); $shift = $point->move($move); $this->assertEquals($x1, $shift->getX()); $this->assertEquals($y1, $shift->getY()); }
/** * Draw the label * * @param $driver * @param $p Label center * @param int $key Text position in the array of texts (default to zero) */ function draw($driver, $p, $key = 0) { if ($key % $this->interval !== 0) { return; } // Hide all labels if ($this->hide) { return; } // Key is hidden if (array_key_exists($key, $this->hideKey)) { return; } // Hide first label if ($key === 0 and $this->hideFirst) { return; } // Hide last label if ($key === count($this->texts) - 1 and $this->hideLast) { return; } $text = $this->getText($key); if ($text !== NULL) { // Value must be hidden if (in_array($text->getText(), $this->hideValue)) { return; } $x = $p->x; $y = $p->y; // Get padding list($left, $right, $top, $bottom) = $text->getPadding(); // $font = $text->getFont(); $width = $driver->getTextWidth($text); $height = $driver->getTextHeight($text); switch ($this->hAlign) { case LABEL_RIGHT: $x -= $width + $right; break; case LABEL_CENTER: $x -= ($width - $left + $right) / 2; break; case LABEL_LEFT: $x += $left; break; } switch ($this->vAlign) { case LABEL_TOP: $y -= $height + $bottom; break; case LABEL_MIDDLE: $y -= ($height - $top + $bottom) / 2; break; case LABEL_BOTTOM: $y += $top; break; } $driver->string($text, $this->move->move($x, $y)); } }
// remove only alias from third point, so destructor runs unset($b); // remove only alias from first point, so destructor runs unset($d); // remove only alias from second point, so destructor runs echo "Done\n"; //*/ ///* echo "----------------- byRef assignment of handle types ----------------------\n"; $a = new Point(1, 3); // create first new point, and make $a an alias to it echo "After '\$a = new Point(1, 3)', \$a is {$a}\n"; $c =& $a; // make $c forever alias whatever $a aliases echo "After '\$c =& \$a', \$c is {$c}, and \$a is {$a}\n"; $a->move(4, 6); // moving $a also moves $c echo "After '\$a->move(4, 6)', \$c is {$c}, and \$a is {$a}\n"; $a = new Point(2, 1); // remove $a's alias from first point // create second new point, and make $a an alias to it // As $c aliases whatever $a aliases, $c's old alias to the first // point is also removed, allowing the destructor to run. // $c's new alias is to the new point echo "After '\$a = new Point(2, 1)', \$c is {$c}, and \$a is {$a}\n"; unset($a); // remove one alias from second point echo "After 'unset(\$a)', \$c is {$c}\n"; unset($c); // remove second (and final) alias from second point, so destructor runs echo "Done\n";
/** * @covers MultiMaps\Point::move * @covers MultiMaps\Point::getData */ public function testMove() { $this->object->move(12345, -67890); $this->assertEquals($this->object->getData(), array('lat' => 123.11108317216, 'lon' => 322.11643133104)); }
/** * Draw the mark * * @param $driver * @param $point Mark center */ function draw($driver, $point) { // Hide marks ? if ($this->hide) { return; } // Check if we can print marks if ($this->type !== NULL) { $this->driver = $driver; $realPoint = $this->move->move($point->x, $point->y); switch ($this->type) { case MARK_CIRCLE: $this->drawCircle($realPoint); break; case MARK_SQUARE: $this->drawSquare($realPoint); break; case MARK_TRIANGLE: $this->drawTriangle($realPoint); break; case MARK_INVERTED_TRIANGLE: $this->drawTriangle($realPoint, TRUE); break; case MARK_RHOMBUS: $this->drawRhombus($realPoint); break; case MARK_CROSS: $this->drawCross($realPoint); break; case MARK_PLUS: $this->drawCross($realPoint, TRUE); break; case MARK_IMAGE: $this->drawImage($realPoint); break; case MARK_STAR: $this->changeType('star'); $this->draw($driver, $point); break; case MARK_PAPERCLIP: $this->changeType('paperclip'); $this->draw($driver, $point); break; case MARK_BOOK: $this->changeType('book'); $this->draw($driver, $point); break; } } }
/** * Draw the mark * * @param awDrawer $drawer * @param awPoint $point Mark center */ public function draw(awDrawer $drawer, awPoint $point) { // Hide marks ? if ($this->hide) { return; } // Check if we can print marks if ($this->type !== NULL) { $this->drawer = $drawer; $realPoint = $this->move->move($point->x, $point->y); switch ($this->type) { case awMark::CIRCLE: $this->drawCircle($realPoint); break; case awMark::SQUARE: $this->drawSquare($realPoint); break; case awMark::IMAGE: $this->drawImage($realPoint); break; case awMark::STAR: $this->changeType('star'); $this->draw($drawer, $point); break; case awMark::PAPERCLIP: $this->changeType('paperclip'); $this->draw($drawer, $point); break; case awMark::BOOK: $this->changeType('book'); $this->draw($drawer, $point); break; } } }
public function __toString() { return '(' . $this->x . ',' . $this->y . ')'; } public $piProp = 555; public static function psf() { return 123; } public static $psProp = 999; const MYPI = 3.14159; } $p1 = new Point(); echo "\$p1 is >{$p1}<\n"; ///* $p1->move(3, 9); echo "\$p1 is >{$p1}<\n"; $n = "move"; $p1->{$n}(-2, 4); echo "\$p1 is >{$p1}<\n"; $p1->color = "red"; // turned into $p1->__set("color", "red"); var_dump($p1); $c = $p1->color; // turned into $c = $p1->__get("color"); var_dump($c); //*/ var_dump($p1->piProp); // okay to access instance property via instance var_dump($p1->psf()); // okay to access static method via instance
/** * Add circle to map * @param string $value * @return boolean */ public function addElementCircle($value) { $return = true; $stringscircle = explode($GLOBALS['egMultiMaps_SeparatorItems'], $value); foreach ($stringscircle as $circlevalue) { if (trim($circlevalue) == '') { continue; } $circle = new Circle(); if (!$circle->parse($circlevalue, $this->classname)) { $return = false; $this->errormessages = array_merge($this->errormessages, $circle->getErrorMessages()); } if (!$circle->isValid()) { continue; } $this->circles[] = $circle; $circlescount = count($circle->pos); for ($index = 0; $index < $circlescount; $index++) { $ne = new Point($circle->pos[$index]->lat, $circle->pos[$index]->lon); $sw = new Point($circle->pos[$index]->lat, $circle->pos[$index]->lon); $ne->move($circle->radiuses[$index], $circle->radiuses[$index]); $sw->move(-$circle->radiuses[$index], -$circle->radiuses[$index]); $this->elementsBounds->extend(array($ne, $sw)); } } return $return; }