Subversion Repositories Applications.gtt

Rev

Rev 61 | Blame | Compare with Previous | Last modification | View Log | RSS feed

<?php
/*
 * This work is hereby released into the Public Domain.
 * To view a copy of the public domain dedication,
 * visit http://creativecommons.org/licenses/publicdomain/ or send a letter to
 * Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.
 *
 */

require_once ARTICHOW."/BarPlot.class.php";

class BarDepthPattern extends Pattern {

        protected function getPlot($y, $depth) {
                
                $plot = new BarPlot($y, 1, 1, $depth);
                
                $plot->barShadow->setSize(2);
                $plot->barShadow->smooth(TRUE);
                $plot->barShadow->setColor(new Color(160, 160, 160, 10));
                
                return $plot;
                
        }

        public function create() {

                $group = new PlotGroup;
                $group->setSpace(2, 2, 2, 0);
                $group->setPadding(30, 10, NULL, NULL);
                
                $group->grid->hideVertical(TRUE);
                $group->grid->setType(Line::DASHED);
                
                $yForeground = $this->getArg('yForeground');
                $yBackground = $this->getArg('yBackground');
                
                $legendForeground = $this->getArg('legendForeground');
                $legendBackground = $this->getArg('legendBackground');
                
                $colorForeground = $this->getArg('colorForeground', new LightBlue(10));
                $colorBackground = $this->getArg('colorBackground', new Orange(25));
                
                if($yForeground === NULL) {
                        awImage::drawError("Class BarDepthPattern: Argument 'yForeground' must not be NULL.");
                }
                
                // Background
                if($yBackground !== NULL) {
                        
                        $plot = $this->getPlot($yBackground, 6);
                        $plot->setBarColor($colorBackground);
                        
                        $group->add($plot);
                        if($legendBackground !== NULL) {
                                $group->legend->add($plot, $legendBackground, Legend::BACKGROUND);
                        }
                        
                }
                
                // Foreground
                $plot = $this->getPlot($yForeground, 0);
                $plot->setBarColor($colorForeground);
                
                $group->add($plot);
                if($legendForeground !== NULL) {
                        $group->legend->add($plot, $legendForeground, Legend::BACKGROUND);
                }
                
                $group->axis->bottom->hideTicks(TRUE);
                
                $group->legend->shadow->setSize(0);
                $group->legend->setAlign(Legend::CENTER);
                $group->legend->setSpace(6);
                $group->legend->setTextFont(new Tuffy(8));
                $group->legend->setPosition(0.50, 0.10);
                $group->legend->setBackgroundColor(new Color(255, 255, 255, 10));
                $group->legend->setColumns(2);
                
                return $group;

        }

}
?>