You are here

function lessc::op_color_color in Less CSS Preprocessor 6.3

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

File

lessphp/lessc.inc.php, line 967

Class

lessc

Code

function op_color_color($op, $left, $right) {
  $out = array(
    'color',
  );
  $max = count($left) > count($right) ? count($left) : count($right);
  foreach (range(1, $max - 1) as $i) {
    $lval = isset($left[$i]) ? $left[$i] : 0;
    $rval = isset($right[$i]) ? $right[$i] : 0;
    switch ($op) {
      case '+':
        $out[] = $lval + $rval;
        break;
      case '-':
        $out[] = $lval - $rval;
        break;
      case '*':
        $out[] = $lval * $rval;
        break;
      case '%':
        $out[] = $lval % $rval;
        break;
      case '/':
        if ($rval == 0) {
          throw new exception("evaluate error: can't divide by zero");
        }
        $out[] = $lval / $rval;
        break;
      default:
        throw new exception('evaluate error: color op number failed on op ' . $op);
    }
  }
  return $this
    ->fixColor($out);
}