public function display(Graph $graph)
    {
        // echo "Generate picture ...";
        $tmp = $this->createImageFile($graph);

        static $next = 0;
        if ($next > microtime(true)) {
            // wait some time between calling xdg-open because earlier calls will be ignored otherwise
            //echo '[delay flooding xdg-open]' . PHP_EOL;
            sleep(self::DELAY_OPEN);
        }

        if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
            // open image in untitled, temporary background shell
            exec('start "" ' . escapeshellarg($tmp) . ' >NUL');
        } elseif (strtoupper(PHP_OS) === 'DARWIN') {
            // open image in background (redirect stdout to /dev/null, sterr to stdout and run in background)
            exec('open ' . escapeshellarg($tmp) . ' > /dev/null 2>&1 &');
        } else {
            // open image in background (redirect stdout to /dev/null, sterr to stdout and run in background)
            exec('xdg-open ' . escapeshellarg($tmp) . ' > /dev/null 2>&1 &');
        }

        $next = microtime(true) + self::DELAY_OPEN;
        // echo "... done\n";
    }
public function display(Graph $graph)
    {
        // echo "Generate picture ...";
        $tmp = $this->createImageFile($graph);

        static $next = 0;
        if ($next > microtime(true)) {
            // wait some time between calling xdg-open because earlier calls will be ignored otherwise
            //echo '[delay flooding xdg-open]' . PHP_EOL;
            sleep(self::DELAY_OPEN);
        }

        if (strtoupper(substr(PHP_OS, 0, 3)) === 'WIN') {
            // open image in untitled, temporary background shell
            exec('start "" ' . escapeshellarg($tmp) . ' >NUL');
        } elseif (strtoupper(PHP_OS) === 'DARWIN') {
            // open image in background (redirect stdout to /dev/null, sterr to stdout and run in background)
            exec('open ' . escapeshellarg($tmp) . ' > /dev/null 2>&1 &');
        } else {
            // open image in background (redirect stdout to /dev/null, sterr to stdout and run in background)
            exec('xdg-open ' . escapeshellarg($tmp) . ' > /dev/null 2>&1 &');
        }

        $next = microtime(true) + self::DELAY_OPEN;
        // echo "... done\n";
    }
public function display ( Graph $ graph ) { // echo "Generate picture ..."; $ tmp = $ this -> createImageFile ( $ graph ) ; static $ next = 0 ; if ( $ next > microtime ( true ) ) { // wait some time between calling xdg-open because earlier calls will be ignored otherwise //echo '[delay flooding xdg-open]' . PHP_EOL; sleep ( self :: DELAY_OPEN ) ; } if ( strtoupper ( substr ( PHP_OS , 0 , 3 ) ) === 'WIN' ) { // open image in untitled, temporary background shell exec ( 'start "" ' . escapeshellarg ( $ tmp ) . ' >NUL' ) ; } elseif ( strtoupper ( PHP_OS ) === 'DARWIN' ) { // open image in background (redirect stdout to /dev/null, sterr to stdout and run in background) exec ( 'open ' . escapeshellarg ( $ tmp ) . ' > /dev/null 2>&1 &' ) ; } else { // open image in background (redirect stdout to /dev/null, sterr to stdout and run in background) exec ( 'xdg-open ' . escapeshellarg ( $ tmp ) . ' > /dev/null 2>&1 &' ) ; } $ next = microtime ( true ) + self :: DELAY_OPEN ; // echo "... done\n"; }
create and display image for this graph

@param Graph $graph graph to display
@return void
@uses GraphViz::createImageFile()
create and display image for this graph