<?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));
}
}
Welcome to the Kueue Pay Payment Gateway Solutions Developer API Documentation. This comprehensive guide will empower you to seamlessly integrate our advanced payment gateway into your website, enhancing your customers’ payment experience and enabling efficient transaction processing. The Kueue Pay Developer API is designed for developers and entrepreneurs who seek simplicity, security, and reliability in their payment processing solutions.
The Kueue Pay Developer API allows you to seamlessly integrate Kueue Pay’s Payment Gateway Solutions into your website, enabling secure and efficient debit and credit card transactions. With our API, you can initiate payments, check payment statuses, and even process refunds, all while ensuring a smooth and streamlined payment experience for your customers.