Ejemplo n.º 1
0
    /**
     * 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;
    }
Ejemplo n.º 2
0
Archivo: Page.php Proyecto: narixx/zf2
 /**
  * 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;
 }