/** * @param Badge $badge * * @return mixed */ public function render(Badge $badge) { $parameters = array(); $parameters['vendorWidth'] = $this->stringWidth($badge->getSubject()); $parameters['valueWidth'] = $this->stringWidth($badge->getStatus()); $parameters['totalWidth'] = $parameters['valueWidth'] + $parameters['vendorWidth']; $parameters['vendorColor'] = self::VENDOR_COLOR; $parameters['valueColor'] = $badge->getHexColor(); $parameters['vendor'] = $badge->getSubject(); $parameters['value'] = $badge->getStatus(); $parameters['vendorStartPosition'] = round($parameters['vendorWidth'] / 2, 1) + 1; $parameters['valueStartPosition'] = $parameters['vendorWidth'] + round($parameters['valueWidth'] / 2, 1) - 1; return $this->renderSvg(self::$template, $parameters, $badge->getFormat()); }
/** * @param Badge $badge * * @return array */ private function buildParameters(Badge $badge) { $parameters = array(); $parameters['vendorWidth'] = $this->stringWidth($badge->getSubject()); $parameters['valueWidth'] = $this->stringWidth($badge->getStatus()); $parameters['totalWidth'] = $parameters['valueWidth'] + $parameters['vendorWidth']; $parameters['vendorColor'] = static::VENDOR_COLOR; $parameters['valueColor'] = $badge->getHexColor(); $parameters['vendor'] = $badge->getSubject(); $parameters['value'] = $badge->getStatus(); $parameters['vendorStartPosition'] = round($parameters['vendorWidth'] / 2, 1) + 1; $parameters['valueStartPosition'] = $parameters['vendorWidth'] + round($parameters['valueWidth'] / 2, 1) - 1; return $parameters; }