/home/kueuepay/www/vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Chart/TrendLine.php
<?php

namespace PhpOffice\PhpSpreadsheet\Chart;

class TrendLine extends Properties
{
    const TRENDLINE_EXPONENTIAL = 'exp';
    const TRENDLINE_LINEAR = 'linear';
    const TRENDLINE_LOGARITHMIC = 'log';
    const TRENDLINE_POLYNOMIAL = 'poly'; // + 'order'
    const TRENDLINE_POWER = 'power';
    const TRENDLINE_MOVING_AVG = 'movingAvg'; // + 'period'
    const TRENDLINE_TYPES = [
        self::TRENDLINE_EXPONENTIAL,
        self::TRENDLINE_LINEAR,
        self::TRENDLINE_LOGARITHMIC,
        self::TRENDLINE_POLYNOMIAL,
        self::TRENDLINE_POWER,
        self::TRENDLINE_MOVING_AVG,
    ];

    /** @var string */
    private $trendLineType = 'linear'; // TRENDLINE_LINEAR

    /** @var int */
    private $order = 2;

    /** @var int */
    private $period = 3;

    /** @var bool */
    private $dispRSqr = false;

    /** @var bool */
    private $dispEq = false;

    /** @var string */
    private $name = '';

    /** @var float */
    private $backward = 0.0;

    /** @var float */
    private $forward = 0.0;

    /** @var float */
    private $intercept = 0.0;

    /**
     * Create a new TrendLine object.
     */
    public function __construct(
        string $trendLineType = '',
        ?int $order = null,
        ?int $period = null,
        bool $dispRSqr = false,
        bool $dispEq = false,
        ?float $backward = null,
        ?float $forward = null,
        ?float $intercept = null,
        ?string $name = null
    ) {
        parent::__construct();
        $this->setTrendLineProperties(
            $trendLineType,
            $order,
            $period,
            $dispRSqr,
            $dispEq,
            $backward,
            $forward,
            $intercept,
            $name
        );
    }

    public function getTrendLineType(): string
    {
        return $this->trendLineType;
    }

    public function setTrendLineType(string $trendLineType): self
    {
        $this->trendLineType = $trendLineType;

        return $this;
    }

    public function getOrder(): int
    {
        return $this->order;
    }

    public function setOrder(int $order): self
    {
        $this->order = $order;

        return $this;
    }

    public function getPeriod(): int
    {
        return $this->period;
    }

    public function setPeriod(int $period): self
    {
        $this->period = $period;

        return $this;
    }

    public function getDispRSqr(): bool
    {
        return $this->dispRSqr;
    }

    public function setDispRSqr(bool $dispRSqr): self
    {
        $this->dispRSqr = $dispRSqr;

        return $this;
    }

    public function getDispEq(): bool
    {
        return $this->dispEq;
    }

    public function setDispEq(bool $dispEq): self
    {
        $this->dispEq = $dispEq;

        return $this;
    }

    public function getName(): string
    {
        return $this->name;
    }

    public function setName(string $name): self
    {
        $this->name = $name;

        return $this;
    }

    public function getBackward(): float
    {
        return $this->backward;
    }

    public function setBackward(float $backward): self
    {
        $this->backward = $backward;

        return $this;
    }

    public function getForward(): float
    {
        return $this->forward;
    }

    public function setForward(float $forward): self
    {
        $this->forward = $forward;

        return $this;
    }

    public function getIntercept(): float
    {
        return $this->intercept;
    }

    public function setIntercept(float $intercept): self
    {
        $this->intercept = $intercept;

        return $this;
    }

    public function setTrendLineProperties(
        ?string $trendLineType = null,
        ?int $order = 0,
        ?int $period = 0,
        ?bool $dispRSqr = false,
        ?bool $dispEq = false,
        ?float $backward = null,
        ?float $forward = null,
        ?float $intercept = null,
        ?string $name = null
    ): self {
        if (!empty($trendLineType)) {
            $this->setTrendLineType($trendLineType);
        }
        if ($order !== null) {
            $this->setOrder($order);
        }
        if ($period !== null) {
            $this->setPeriod($period);
        }
        if ($dispRSqr !== null) {
            $this->setDispRSqr($dispRSqr);
        }
        if ($dispEq !== null) {
            $this->setDispEq($dispEq);
        }
        if ($backward !== null) {
            $this->setBackward($backward);
        }
        if ($forward !== null) {
            $this->setForward($forward);
        }
        if ($intercept !== null) {
            $this->setIntercept($intercept);
        }
        if ($name !== null) {
            $this->setName($name);
        }

        return $this;
    }
}
Security

Support

If you encounter any issues or need assistance, please reach out to our dedicated developer support team Contact Us

Thank you for choosing Kueue Pay Payment Gateway Solutions! We look forward to seeing your integration thrive and provide a seamless payment experience for your valued customers.