x = $x; $this->y = $y; $this->text = $text; $this->fontSize = $fontSize; } /** * Set the font size of the svg text element * * @param string $size The font size including a unit * * @return $this Fluid interface */ public function setFontSize($size) { $this->fontSize = $size; return $this; } /** * Set the text alignment with one of the ALIGN_* constants * * @param String $align Value how to align * * @return $this Fluid interface */ public function setAlignment($align) { $this->alignment = $align; return $this; } /** * Set the weight of the current font * * @param string $weight The weight of the string * * @return $this Fluid interface */ public function setFontWeight($weight) { $this->fontWeight = $weight; return $this; } /** * Create the SVG representation from this Drawable * * @param RenderContext $ctx The context to use for rendering * * @return DOMElement The SVG Element */ public function toSvg(RenderContext $ctx) { list($x, $y) = $ctx->toAbsolute($this->x, $this->y); $text = $ctx->getDocument()->createElement('text'); $text->setAttribute('x', Format::formatSVGNumber($x - 15)); $text->setAttribute( 'style', $this->getStyle() . ';font-size:' . $this->fontSize . '; font-family: Ubuntu, Calibri, Trebuchet MS, Helvetica, Verdana, sans-serif' . ';font-weight: ' . $this->fontWeight . ';font-stretch: ' . $this->fontStretch . '; font-style: normal;' . 'text-anchor: ' . $this->alignment ); $text->setAttribute('y', Format::formatSVGNumber($y)); $text->appendChild(new DOMText($this->text)); return $text; } }