ok
Direktori : /home2/selectio/www/3-idiots/vendor/intervention/image/src/Intervention/Image/ |
Current File : /home2/selectio/www/3-idiots/vendor/intervention/image/src/Intervention/Image/AbstractFont.php |
<?php namespace Intervention\Image; abstract class AbstractFont { /** * Text to be written * * @var String */ public $text; /** * Text size in pixels * * @var int */ public $size = 12; /** * Color of the text * * @var mixed */ public $color = '000000'; /** * Rotation angle of the text * * @var int */ public $angle = 0; /** * Horizontal alignment of the text * * @var String */ public $align; /** * Vertical alignment of the text * * @var String */ public $valign; /** * Space between text characters * * @var float */ public $kerning = 0; /** * Path to TTF or GD library internal font file of the text * * @var mixed */ public $file; /** * Draws font to given image on given position * * @param Image $image * @param int $posx * @param int $posy * @return boolean */ abstract public function applyToImage(Image $image, $posx = 0, $posy = 0); /** * Calculates bounding box of current font setting * * @return array */ abstract public function getBoxSize(); /** * Create a new instance of Font * * @param String $text Text to be written */ public function __construct($text = null) { $this->text = $text; } /** * Set text to be written * * @param String $text * @return self */ public function text($text) { $this->text = $text; return $this; } /** * Get text to be written * * @return String */ public function getText() { return $this->text; } /** * Set font size in pixels * * @param int $size * @return self */ public function size($size) { $this->size = $size; return $this; } /** * Get font size in pixels * * @return int */ public function getSize() { return $this->size; } /** * Set color of text to be written * * @param mixed $color * @return self */ public function color($color) { $this->color = $color; return $this; } /** * Get color of text * * @return mixed */ public function getColor() { return $this->color; } /** * Set rotation angle of text * * @param int $angle * @return self */ public function angle($angle) { $this->angle = $angle; return $this; } /** * Get rotation angle of text * * @return int */ public function getAngle() { return $this->angle; } /** * Set horizontal text alignment * * @param string $align * @return self */ public function align($align) { $this->align = $align; return $this; } /** * Get horizontal text alignment * * @return string */ public function getAlign() { return $this->align; } /** * Set vertical text alignment * * @param string $valign * @return self */ public function valign($valign) { $this->valign = $valign; return $this; } /** * Get vertical text alignment * * @return string */ public function getValign() { return $this->valign; } /** * Set text kerning * * @param string $kerning * @return void */ public function kerning($kerning) { $this->kerning = $kerning; } /** * Get kerning * * @return float */ public function getKerning() { return $this->kerning; } /** * Set path to font file * * @param string $file * @return self */ public function file($file) { $this->file = $file; return $this; } /** * Get path to font file * * @return string */ public function getFile() { return $this->file; } /** * Checks if current font has access to an applicable font file * * @return boolean */ protected function hasApplicableFontFile() { if (is_string($this->file)) { return file_exists($this->file); } return false; } /** * Counts lines of text to be written * * @return int */ public function countLines() { return count(explode(PHP_EOL, $this->text)); } }