PHP 7.4.33
Preview: jpgraph_theme.inc.php Size: 3.37 KB
/home/godevadmin/public_html/admin/jpgraph/jpgraph_theme.inc.php

<?php
//=======================================================================
// File:        JPGRAPH_THEME.INC.PHP
// Description: Class to define graph theme
// Created:     2010-09-29 
// Ver:         $Id: jpgraph_theme.inc.php 83 2010-10-01 11:24:19Z atsushi $
//
// Copyright (c) Asial Corporation. All rights reserved.
//========================================================================


// include Theme classes
foreach (glob(dirname(__FILE__) . '/themes/*.php') as $theme_class_script) {
  require_once($theme_class_script);
}

//===================================================
// CLASS 
// Description: 
//===================================================
abstract class Theme {
    protected $color_index;
    
    function __construct() {
        $this->color_index = 0;
    }
    /**
    * 
    */
    abstract function GetColorList();

    /**
    *
    */
    abstract function ApplyPlot($plot);


    /**
    *
    */   
    function SetupPlot($plot) {
        if (is_array($plot)) {
            foreach ($plot as $obj) {
                $this->ApplyPlot($obj);
            }
        } else {
            $this->ApplyPlot($plot);
        }
    }

    /**
    *
    */
    function ApplyGraph($graph) {

        $this->graph = $graph;
        $method_name = '';

        if (get_class($graph) == 'Graph') {
            $method_name = 'SetupGraph';
        } else {
            $method_name = 'Setup' . get_class($graph);
        }

        if (method_exists($this, $method_name)) {
            $this->$method_name($graph);
        } else {
            JpGraphError::RaiseL(30001, $method_name, $method_name); //Theme::%s() is not defined. \nPlease make %s(\$graph) function in your theme classs.
        }
    }

    /**
    *
    */
    function PreStrokeApply($graph) {
    }

    /**
    *
    */
    function GetThemeColors($num = 30) { 
        $result_list = array();

        $old_index = $this->color_index;
        $this->color_index = 0;
        $count = 0;
  
        $i = 0;
        while (true) {
            for ($j = 0; $j < count($this->GetColorList()); $j++) {
                if (++$count > $num) {
                    break 2;
                }
                $result_list[] = $this->GetNextColor();
            }
            $i++;
        }

        $this->color_index = $old_index;
        
        return $result_list;
    }

    /**
    *
    */
    function GetNextColor() {
        $color_list = $this->GetColorList();

        $color = null;
        if (isset($color_list[$this->color_index])) {
            $color = $color_list[$this->color_index];
        } else {
            $color_count = count($color_list);
            if ($color_count <= $this->color_index) {
                $color_tmp = $color_list[$this->color_index % $color_count];
                $brightness = 1.0 - intval($this->color_index / $color_count) * 0.2;
                $rgb = new RGB();
                $color = $color_tmp . ':' . $brightness;
                $color = $rgb->Color($color);
                $alpha = array_pop($color);
                $color = $rgb->tryHexConversion($color);
                if ($alpha) {
                    $color .= '@' . $alpha;
                }
            }
        }

        $this->color_index++;

        return $color;
    }

} // Class

?>

Directory Contents

Dirs: 4 × Files: 52

Name Size Perms Modified Actions
Examples DIR
- drwxrwxr-x 2023-11-07 19:59:50
Edit Download
fonts DIR
- drwxrwxr-x 2023-11-07 19:59:50
Edit Download
lang DIR
- drwxrwxr-x 2023-11-07 19:59:50
Edit Download
themes DIR
- drwxrwxr-x 2023-11-07 19:59:50
Edit Download
959.56 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
209.29 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
366.67 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
671.42 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
85.14 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
13.82 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
55.22 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
4.72 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
8.64 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
28.16 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
7.06 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
6.90 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
6.03 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
205.28 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
12.47 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
41.10 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
47.38 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
3.55 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
17.05 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
21.16 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
20.11 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
12.00 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
4.97 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
13.60 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
160.58 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
124.61 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
17.27 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
6.09 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
8.25 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
12.00 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
18.09 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
23.89 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
11.10 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
3.89 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
12.37 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
54.70 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
32.08 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
21.19 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
4.26 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
17.66 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
30.59 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
28.98 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
7.32 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
26.91 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
8.00 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
6.26 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
48.27 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
11.06 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
3.37 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
21.36 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
25.47 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download
53.76 KB lrwxrwxr-x 2023-11-07 19:59:50
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).