Login   Register  
PHP Classes
elePHPant
Icontem

File: example/javascript.svg.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Eduardo "Trial Force" Bonfandini  >  phpSVG  >  example/javascript.svg.php  >  Download  
File: example/javascript.svg.php
Role: Example script
Content type: text/plain
Description: Example script
Class: phpSVG
Create and edit vectorial graphics in SVG files
Author: By
Last change:
Date: 6 months ago
Size: 2,728 bytes
 

Contents

Class file image Download
<?php

/**
 *
 * Description: Default example, show how to deal with javascripts
 *
 * Blog: http://trialforce.nostaljia.eng.br
 *
 * Started at Mar 11, 2011
 *
 * @author Eduardo Bonfandini
 *
 * -----------------------------------------------------------------------
 *   This program is free software; you can redistribute it and/or modify
 *   it under the terms of the GNU Library General Public License as published
 *   by the Free Software Foundation; either version 3 of the License, or
 *   (at your option) any later version.
 *
 *   This program is distributed in the hope that it will be useful,
 *   but WITHOUT ANY WARRANTY; without even the implied warranty of
 *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *   GNU Library General Public License for more details.
 *
 *   You should have received a copy of the GNU Library General Public
 *   License along with this program; if not, access
 *   http://www.fsf.org/licensing/licenses/lgpl.html or write to the
 *   Free Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 * ----------------------------------------------------------------------
 */
require_once "../svglib/svglib.php";
$svg SVGDocument::getInstance();
$svg->setTitle"Javascript example" );

#add some javascript functions
$svg->addScript"
    function changeColor(evt, element)
    {
        destination = document.getElementById('destination');

        if ( evt.ctrlKey )
        {
            destination.style.stroke = element.style.fill;
        }
        else
        {
            destination.style.fill = element.style.fill;
        }

        evt.preventDefault();
        return false;
    }
);

#mount a simple color array
$colors[ ] = 'red';
$colors[ ] = 'green';
$colors[ ] = 'blue';
$colors[ ] = 'yellow';
$colors[ ] = 'orange';
$colors[ ] = 'gray';
$colors[ ] = 'black';
$colors[ ] = 'white';

$text SVGText::getInstance1025null'Left click for fill - control click for stroke' );

$svg->addShape$text );

foreach ( 
$colors as $line => $color )
{
    
$rect SVGRect::getInstance( ( $line 60 ) + 1040null5050 );
    
$style = new SVGStyle();
    
$style->setFill$color );
    
$style->setStroke"darkGray");
    
$rect->setStyle$style );

    
$rect->addOnclick"return changeColor(evt,this);" );
    
$rect->addAttribute"onmouseover""this.style.stroke = 'lightGray';" );
    
$rect->addAttribute"onmouseout""this.style.stroke = 'gray';" );

    
$svg->addShape$rect );
}

$rect SVGRect::getInstance140100'destination'200200 );
$style = new SVGStyle();
$style->setFill'none' );
$style->setStroke"darkGray");
$rect->setStyle$style );

$svg->addShape$rect );

$svg->output();
?>