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;
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;
protected $id;
protected $name;
protected $commands = [];
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();
}
}