You are here

public function SassColour::op_bw_and in Sassy 7.3

Same name and namespace in other branches
  1. 7 phamlp/sass/script/literals/SassColour.php \SassColour::op_bw_and()

Colour bitwise AND

Parameters

mixed value (SassColour or SassNumber) to bitwise AND with:

Return value

sassColour the colour result

Overrides SassLiteral::op_bw_and

File

phpsass/script/literals/SassColour.php, line 475

Class

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

Code

public function op_bw_and($other) {
  if ($other instanceof SassNumber) {
    if (!$other
      ->isUnitless()) {
      throw new SassColourException('Number must be a 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('Argument must be a 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;
}