/** * Dump style to a string, which can be directly inserted into content stream * * @return string */ public function instructions() { $instructions = ''; if ($this->_fillColor !== null) { $instructions .= $this->_fillColor->instructions(false); } if ($this->_color !== null) { $instructions .= $this->_color->instructions(true); } if ($this->_lineWidth !== null) { $instructions .= $this->_lineWidth->toString() . " w\n"; } if ($this->_lineDashingPattern !== null) { $dashPattern = new InternalType\ArrayObject(); foreach ($this->_lineDashingPattern as $dashItem) { $dashElement = new InternalType\NumericObject($dashItem); $dashPattern->items[] = $dashElement; } $instructions .= $dashPattern->toString() . ' ' . $this->_lineDashingPhase->toString() . " d\n"; } return $instructions; }
/** * Set line dashing pattern * * Pattern is an array of floats: array(on_length, off_length, on_length, off_length, ...) * Phase is shift from the beginning of line. * * @param array $pattern * @param array $phase * @return \Zend\Pdf\Page */ public function setLineDashingPattern($pattern, $phase = 0) { $this->_addProcSet('PDF'); if ($pattern === self::LINE_DASHING_SOLID) { $pattern = array(); $phase = 0; } $dashPattern = new InternalType\ArrayObject(); $phaseEleemnt = new InternalType\NumericObject($phase); foreach ($pattern as $dashItem) { $dashElement = new InternalType\NumericObject($dashItem); $dashPattern->items[] = $dashElement; } $this->_contents .= $dashPattern->toString() . ' ' . $phaseEleemnt->toString() . " d\n"; return $this; }