72 lines
1.3 KiB
PHP
72 lines
1.3 KiB
PHP
<?php
|
|
|
|
namespace Intervention\Image;
|
|
|
|
abstract class AbstractShape
|
|
{
|
|
/**
|
|
* Background color of shape
|
|
*
|
|
* @var string
|
|
*/
|
|
public $background;
|
|
|
|
/**
|
|
* Border color of current shape
|
|
*
|
|
* @var string
|
|
*/
|
|
public $border_color;
|
|
|
|
/**
|
|
* Border width of shape
|
|
*
|
|
* @var int
|
|
*/
|
|
public $border_width = 0;
|
|
|
|
/**
|
|
* Draws shape 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);
|
|
|
|
/**
|
|
* Set text to be written
|
|
*
|
|
* @param string $text
|
|
* @return void
|
|
*/
|
|
public function background($color)
|
|
{
|
|
$this->background = $color;
|
|
}
|
|
|
|
/**
|
|
* Set border width and color of current shape
|
|
*
|
|
* @param int $width
|
|
* @param string $color
|
|
* @return void
|
|
*/
|
|
public function border($width, $color = null)
|
|
{
|
|
$this->border_width = is_numeric($width) ? intval($width) : 0;
|
|
$this->border_color = is_null($color) ? '#000000' : $color;
|
|
}
|
|
|
|
/**
|
|
* Determines if current shape has border
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function hasBorder()
|
|
{
|
|
return ($this->border_width >= 1);
|
|
}
|
|
}
|