PluginProbe
GiveWP – Donation Plugin and Fundraising Platform / 4.16.7.2
GiveWP – Donation Plugin and Fundraising Platform v4.16.7.2
4.16.8 4.16.7.2 4.16.7.1 4.16.7 4.16.6.1 4.16.6 4.16.5.1 4.16.5 4.16.4 4.16.3 4.16.2 4.16.1 4.16.0 4.15.5 4.15.4 4.15.3 4.15.2 4.15.1 4.15.0 2.3.0 2.3.1 2.3.2 2.30.0 2.31.0 2.31.1 All 253 releases
give / includes / libraries / googlechartlib / markers / GoogleChartLineMarker.php
GoogleChartLineMarker.php
102 lines 1.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 /** @file
4 * This file is part of Google Chart PHP library.
5 *
6 * Copyright (c) 2010 Rémi Lanvin <remi@cloudconnected.fr>
7 *
8 * Licensed under the MIT license.
9 *
10 * For the full copyright and license information, please view the LICENSE file.
11 */
12
13 require_once dirname(__FILE__).'/../GoogleChartMarker.php';
14
15 /**
16 * A Line marker.
17 *
18 * This class implement Line Markers feature (@c chm=D).
19 *
20 * @par Example
21 * @include marker_line.php
22 *
23 * @see GoogleChartMarker
24 * @see http://code.google.com/apis/chart/docs/chart_params.html#gcharts_line_markers
25 */
26 class GoogleChartLineMarker extends GoogleChartMarker
27 {
28 /**
29 * @var string size parameter.
30 */
31 protected $size = '2';
32
33 /**
34 * @var array which_points parameter.
35 */
36 protected $points = null;
37
38 /**
39 * Set the size of the line.
40 *
41 * @param $size (int)
42 * @return $this
43 */
44 public function setSize($size)
45 {
46 $this->size = $size;
47 return $this;
48 }
49
50 /**
51 * Set which points in the serie are used to draw the line.
52 *
53 * @param $start (int) (optional) at which point start
54 * @param $stop (int) (optional) at which point stop
55 * @return $this
56 */
57 public function setPoints($start = null, $stop = null)
58 {
59 if ( $start === null && $stop === null ) {
60 $this->points = null;
61 }
62 else {
63 $this->points = array(
64 'start' => $start,
65 'stop' => $stop
66 );
67 }
68 return $this;
69 }
70
71 /**
72 * Compute the parameter value.
73 *
74 * @note For internal use only.
75 * @param $index (int) index of the data serie.
76 * @return string
77 */
78 public function compute($index, $chart_type = null)
79 {
80 if ( $index === null )
81 throw new LogicException('Line marker requires one data serie.');
82
83 $points = 0;
84 if ( is_array($this->points) ) {
85 $points = $this->points['start'].':'.$this->points['stop'];
86 }
87
88 $str = sprintf(
89 'D,%s,%d,%s,%d',
90 $this->color,
91 $index,
92 $points,
93 $this->size
94 );
95
96 if ( $this->z_order !== null )
97 $str .= ','.$this->z_order;
98
99 return $str;
100 }
101 }
102