Overview

Namespaces

  • Scene7
    • Commands
      • Layer
    • Definitions
    • Helpers
      • Html
        • Attributes
    • Requests

Classes

  • Layer

Traits

  • Align
  • Anchor
  • BackgroundColor
  • Cache
  • ColorQuantization
  • Crop
  • DefaultImage
  • EmbedColorProfile
  • EmbedPathData
  • Fit
  • Format
  • Height
  • Id
  • LayerFactory
  • Locale
  • Mask
  • MaskUse
  • MaxJpegSize
  • Message
  • Name
  • OutputColorProfile
  • Perspective
  • PrintResolution
  • Quality
  • RegionOfInterest
  • Resampling
  • Resolution
  • ResponseType
  • Scale
  • ScaleView
  • Template
  • Timeout
  • Type
  • UnsharpMask
  • ViewRectangle
  • Width
  • XmpEmbed
  • Overview
  • Namespace
  • Class
 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 
<?php

namespace Scene7\Commands;

use Scene7\Commands\Layer as LayerCommand;
use Scene7\RenderInterface;

/**
 * Layer is a special command because it has nested commands
 */
class Layer implements RenderInterface
{
    use LayerCommand\BackgroundColor,
        LayerCommand\BlendMode,
        LayerCommand\Blur,
        LayerCommand\Brightness,
        LayerCommand\ClipPath,
        LayerCommand\Color,
        LayerCommand\ColorBalance,
        LayerCommand\Colorize,
        LayerCommand\Effect,
        LayerCommand\Extend,
        LayerCommand\Flip,
        LayerCommand\Grow,
        LayerCommand\Hide,
        LayerCommand\Hue,
        LayerCommand\Invert,
        LayerCommand\Map,
        LayerCommand\Noise,
        LayerCommand\Opacity,
        LayerCommand\Origin,
        LayerCommand\PathAttributes,
        LayerCommand\PathEmbed,
        LayerCommand\Position,
        LayerCommand\Saturation,
        LayerCommand\Sharpen,
        LayerCommand\Source,
        LayerCommand\Text,
        LayerCommand\TextAngle,
        LayerCommand\TextAttributes,
        LayerCommand\TextFlowPath,
        LayerCommand\TextPath,
        LayerCommand\TextPhotoshopCompatible;

    /** @var int|string */
    protected $id;
    /** @var string */
    protected $name;
    /** @var string[] */
    protected $commands = [];

    /**
     * Layer constructor.
     * @param int|string $id
     * @param string $name
     */
    public function __construct($id, $name)
    {
        $this->id = $id;
        $this->name = $name;
    }

    public function getId()
    {
        return $this->id;
    }

    public function getCommands()
    {
        return $this->commands;
    }

    public function getQuery()
    {
        return 'layer=' . $this->getId() . ($this->name ? ',' . $this->name : '') . '&' . urldecode(http_build_query($this->commands));
    }

    protected function addCommand(array $commands)
    {
        $this->commands = array_merge($this->commands, $commands);
        return $this;
    }

    public function render()
    {
        return $this->getQuery();
    }

    public function __toString()
    {
        return $this->render();
    }
}
API documentation generated by ApiGen