You are here

public function SassColour::op_plus in Sassy 7

Same name and namespace in other branches
  1. 7.3 phpsass/script/literals/SassColour.php \SassColour::op_plus()

* Colour addition *

Parameters

mixed SassColour|SassNumber value to add: * @return sassColour the colour result

Overrides SassLiteral::op_plus

File

phamlp/sass/script/literals/SassColour.php, line 350

Class

SassColour
SassColour class. A SassScript object representing a CSS colour.

Code

public function op_plus($other) {
  if ($other instanceof SassNumber) {
    if (!$other
      ->isUnitless()) {
      throw new SassColourException('{what} must be a {type}', array(
        '{what}' => Phamlp::t('sass', 'Number'),
        '{type}' => Phamlp::t('sass', 'unitless number'),
      ), SassScriptParser::$context->node);
    }
    $this->red = $this
      ->getRed() + $other->value;
    $this->green = $this
      ->getGreen() + $other->value;
    $this->blue = $this
      ->getBlue() + $other->value;
  }
  elseif (!$other instanceof SassColour) {
    throw new SassColourException('{what} must be a {type}', array(
      '{what}' => 'Argument',
      '{type}' => 'SassColour or SassNumber',
    ), SassScriptParser::$context->node);
  }
  else {
    $this->red = $this
      ->getRed() + $other
      ->getRed();
    $this->green = $this
      ->getGreen() + $other
      ->getGreen();
    $this->blue = $this
      ->getBlue() + $other
      ->getBlue();
  }
  return $this;
}