You are here

private function lessc::op_color_color in Less CSS Preprocessor 6

Same name and namespace in other branches
  1. 6.3 lessphp/lessc.inc.php \lessc::op_color_color()
2 calls to lessc::op_color_color()
lessc::evaluate in ./lessc.inc.php
lessc::op_color_number in ./lessc.inc.php

File

./lessc.inc.php, line 946

Class

lessc

Code

private function op_color_color($op, $lft, $rgt) {
  $newc = array(
    'color',
  );
  switch ($op) {
    case '+':
      $newc[] = $lft[1] + $rgt[1];
      $newc[] = $lft[2] + $rgt[2];
      $newc[] = $lft[3] + $rgt[3];
      break;
    case '*':
      $newc[] = $lft[1] * $rgt[1];
      $newc[] = $lft[2] * $rgt[2];
      $newc[] = $lft[3] * $rgt[3];
      break;
    case '-':
      $newc[] = $lft[1] - $rgt[1];
      $newc[] = $lft[2] - $rgt[2];
      $newc[] = $lft[3] - $rgt[3];
      break;
    case '/':
      if ($rgt[1] == 0 || $rgt[2] == 0 || $rgt[3] == 0) {
        throw new exception("parse error: can't divide by zero");
      }
      $newc[] = $lft[1] / $rgt[1];
      $newc[] = $lft[2] / $rgt[2];
      $newc[] = $lft[3] / $rgt[3];
      break;
    default:
      throw new exception('parse error: color op number failed on op ' . $op);
  }
  return $this
    ->fixColor($newc);
}