src/Nodes/Structures/SVGDocumentFragment.php
public function rasterize(SVGRasterizer $rasterizer)
    {
        if ($this->isRoot()) {
            parent::rasterize($rasterizer);
            return;
        }

        // create new rasterizer for nested viewport
        $subRasterizer = new SVGRasterizer(
            $this->getWidth(),          // document width
            $this->getHeight(),         // document height
            $this->getViewBox(),        // viewBox
            Length::convert($this->getWidth() ?: '100%', $rasterizer->getWidth()),
            Length::convert($this->getHeight() ?: '100%', $rasterizer->getHeight())
        );

        // perform rasterization as usual
        parent::rasterize($subRasterizer);
        $img = $subRasterizer->finish();

        // copy nested viewport onto parent viewport
        imagecopy(
            $rasterizer->getImage(),    // destination
            $img,                       // source
            0, 0,                       // dst_x, dst_y
            0, 0,                       // src_x, src_y
            $subRasterizer->getWidth(), // src_w
            $subRasterizer->getHeight() // src_h
        );
        imagedestroy($img);
    }
public function rasterize(SVGRasterizer $rasterizer)
    {
        if ($this->isRoot()) {
            parent::rasterize($rasterizer);
            return;
        }

        // create new rasterizer for nested viewport
        $subRasterizer = new SVGRasterizer(
            $this->getWidth(),          // document width
            $this->getHeight(),         // document height
            $this->getViewBox(),        // viewBox
            Length::convert($this->getWidth() ?: '100%', $rasterizer->getWidth()),
            Length::convert($this->getHeight() ?: '100%', $rasterizer->getHeight())
        );

        // perform rasterization as usual
        parent::rasterize($subRasterizer);
        $img = $subRasterizer->finish();

        // copy nested viewport onto parent viewport
        imagecopy(
            $rasterizer->getImage(),    // destination
            $img,                       // source
            0, 0,                       // dst_x, dst_y
            0, 0,                       // src_x, src_y
            $subRasterizer->getWidth(), // src_w
            $subRasterizer->getHeight() // src_h
        );
        imagedestroy($img);
    }
public function rasterize ( SVGRasterizer $ rasterizer ) { if ( $ this -> isRoot ( ) ) { parent :: rasterize ( $ rasterizer ) ; return ; } // create new rasterizer for nested viewport $ subRasterizer = new SVGRasterizer ( $ this -> getWidth ( ) , // document width $ this -> getHeight ( ) , // document height $ this -> getViewBox ( ) , // viewBox Length :: convert ( $ this -> getWidth ( ) ? : '100%' , $ rasterizer -> getWidth ( ) ) , Length :: convert ( $ this -> getHeight ( ) ? : '100%' , $ rasterizer -> getHeight ( ) ) ) ; // perform rasterization as usual parent :: rasterize ( $ subRasterizer ) ; $ img = $ subRasterizer -> finish ( ) ; // copy nested viewport onto parent viewport imagecopy ( $ rasterizer -> getImage ( ) , // destination $ img , // source 0 , 0 , // dst_x, dst_y 0 , 0 , // src_x, src_y $ subRasterizer -> getWidth ( ) , // src_w $ subRasterizer -> getHeight ( ) // src_h ) ; imagedestroy ( $ img ) ; }
Draws this node to the given rasterizer.

@param SVGRasterizer $rasterizer The rasterizer to draw to.

@return void
Draws this node to the given rasterizer .