Вход Регистрация
Файл: vendor/intervention/gif/src/Blocks/ImageDescriptor.php
Строк: 134
<?php

declare(strict_types=1);

namespace 
InterventionGifBlocks;

use 
InterventionGifAbstractEntity;
use 
InterventionGifExceptionsInvalidArgumentException;

class 
ImageDescriptor extends AbstractEntity
{
    public const 
SEPARATOR "x2C";

    
/**
     * Width of frame.
     */
    
protected int $width 0;

    
/**
     * Height of frame.
     */
    
protected int $height 0;

    
/**
     * Left position of frame.
     */
    
protected int $left 0;

    
/**
     * Top position of frame.
     */
    
protected int $top 0;

    
/**
     * Determine if frame is interlaced.
     */
    
protected bool $interlaced false;

    
/**
     * Local color table flag.
     */
    
protected bool $localColorTableExistance false;

    
/**
     * Sort flag of local color table.
     */
    
protected bool $localColorTableSorted false;

    
/**
     * Size of local color table.
     */
    
protected int $localColorTableSize 0;

    
/**
     * Get current width.
     */
    
public function width(): int
    
{
        return 
$this->width;
    }

    
/**
     * Get current width.
     */
    
public function height(): int
    
{
        return 
$this->height;
    }

    
/**
     * Get current Top.
     */
    
public function top(): int
    
{
        return 
$this->top;
    }

    
/**
     * Get current Left.
     */
    
public function left(): int
    
{
        return 
$this->left;
    }

    
/**
     * Set size of current instance.
     *
     * @throws InvalidArgumentException
     */
    
public function setSize(int $widthint $height): self
    
{
        if (
$width <= 0) {
            throw new 
InvalidArgumentException('Width in ' $this::class . ' must be larger than 0');
        }

        if (
$height <= 0) {
            throw new 
InvalidArgumentException('Height in ' $this::class . ' must be larger than 0');
        }

        
$this->width $width;
        
$this->height $height;

        return 
$this;
    }

    
/**
     * Set position of current instance.
     */
    
public function setPosition(int $leftint $top): self
    
{
        
$this->left $left;
        
$this->top $top;

        return 
$this;
    }

    
/**
     * Determine if frame is interlaced.
     */
    
public function isInterlaced(): bool
    
{
        return 
$this->interlaced;
    }

    
/**
     * Set or unset interlaced value.
     */
    
public function setInterlaced(bool $value true): self
    
{
        
$this->interlaced $value;

        return 
$this;
    }

    
/**
     * Determine if local color table is present.
     */
    
public function localColorTableExistance(): bool
    
{
        return 
$this->localColorTableExistance;
    }

    
/**
     * Alias for localColorTableExistance.
     */
    
public function hasLocalColorTable(): bool
    
{
        return 
$this->localColorTableExistance();
    }

    
/**
     * Set local color table flag.
     */
    
public function setLocalColorTableExistance(bool $existance true): self
    
{
        
$this->localColorTableExistance $existance;

        return 
$this;
    }

    
/**
     * Get local color table sorted flag.
     */
    
public function localColorTableSorted(): bool
    
{
        return 
$this->localColorTableSorted;
    }

    
/**
     * Set local color table sorted flag.
     */
    
public function setLocalColorTableSorted(bool $sorted true): self
    
{
        
$this->localColorTableSorted $sorted;

        return 
$this;
    }

    
/**
     * Get size of local color table.
     */
    
public function localColorTableSize(): int
    
{
        return 
$this->localColorTableSize;
    }

    
/**
     * Get byte size of global color table.
     */
    
public function localColorTableByteSize(): int
    
{
        return 
pow(2$this->localColorTableSize() + 1);
    }

    
/**
     * Set size of local color table.
     */
    
public function setLocalColorTableSize(int $size): self
    
{
        
$this->localColorTableSize $size;

        return 
$this;
    }
}
Онлайн: 1
Реклама