Exemplo 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;
    }
Exemplo n.º 2
0
 /**
  * Instructions, which can be directly inserted into content stream
  * to switch color.
  * Color set instructions differ for stroking and nonstroking operations.
  *
  * @param boolean $stroking
  * @return string
  */
 public function instructions($stroking)
 {
     return $this->_c->toString() . ' '
          . $this->_m->toString() . ' '
          . $this->_y->toString() . ' '
          . $this->_k->toString() .     ($stroking? " K\n" : " k\n");
 }
Exemplo n.º 3
0
 /**
  * Translate coordination system.
  *
  * @param float $x  - the X co-ordinate of axis skew point
  * @param float $y  - the Y co-ordinate of axis skew point
  * @param float $xAngle - X axis skew angle
  * @param float $yAngle - Y axis skew angle
  * @return \Zend\Pdf\Page
  */
 public function skew($x, $y, $xAngle, $yAngle)
 {
     $tanXObj = new InternalType\NumericObject(tan($xAngle));
     $tanYObj = new InternalType\NumericObject(-tan($yAngle));
     $xObj = new InternalType\NumericObject($x);
     $yObj = new InternalType\NumericObject($y);
     $mXObj = new InternalType\NumericObject(-$x);
     $mYObj = new InternalType\NumericObject(-$y);
     $this->_addProcSet('PDF');
     $this->_contents .= '1 0 0 1 ' . $xObj->toString() . ' ' . $yObj->toString() . " cm\n" . '1 ' . $tanXObj->toString() . ' ' . $tanYObj->toString() . " 1 0 0 cm\n" . '1 0 0 1 ' . $mXObj->toString() . ' ' . $mYObj->toString() . " cm\n";
     return $this;
 }
Exemplo n.º 4
0
 public function testGetType()
 {
     $intObj = new InternalType\NumericObject(100);
     $obj = new InternalType\IndirectObject($intObj, 1, 0, new ObjectFactory\ElementFactory(1));
     $this->assertEquals($obj->getType(), $intObj->getType());
 }
Exemplo n.º 5
0
 /**
  * Instructions, which can be directly inserted into content stream
  * to switch color.
  * Color set instructions differ for stroking and nonstroking operations.
  *
  * @param boolean $stroking
  * @return string
  */
 public function instructions($stroking)
 {
     return $this->_r->toString() . ' ' . $this->_g->toString() . ' ' . $this->_b->toString() . ($stroking ? " RG\n" : " rg\n");
 }
Exemplo n.º 6
0
 public function testToStringFloat3()
 {
     $intObj = new InternalType\NumericObject(-100.426);
     $this->assertEquals($intObj->toString(), '-100.426');
 }
Exemplo n.º 7
0
 /**
  * Instructions, which can be directly inserted into content stream
  * to switch color.
  * Color set instructions differ for stroking and nonstroking operations.
  *
  * @param boolean $stroking
  * @return string
  */
 public function instructions($stroking)
 {
     return $this->_grayLevel->toString() . ($stroking ? " G\n" : " g\n");
 }