Source for file Expand.php
Documentation is available at Expand.php
* Description: Expand animation
* @copyright (c) 1995-2010 by Steema Software SL. All Rights Reserved. <info@steema.com>
* @link http://www.steema.com
public function Expand($c= null)
$this->timer = 0; // new System.Threading.Timer(new System.Threading.TimerCallback(timer_Tick), null, System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite);
//timer.Change(System.Threading.Timeout.Infinite, System.Threading.Timeout.Infinite);
/// Gets descriptive text.
return Texts::ExpandAnimation;
/// Gets detailed descriptive text.
return Texts::ExpandSummary;
$this->actualInterval = $interval == 0 ? $this->speed : $interval;
$this->timer->Change(0, $this->actualInterval);
$this->DrawSeriesPointer();
protected function DoMouseMove($e, $c)
base.DoMouseMove(e, ref c);
protected function DoMouseDown(MouseEventArgs e, ref Cursor c)
base.DoMouseDown(e, ref c);
private function DrawSeriesPointer()
for ($i = 0; $i < $this->chart->series->getCount(); $i++ )
$index = $this->chart->series[$i]->clickedPointer($this->P);
if ($this->oldIndex == $index)
$this->x = $this->y = $this->steps = 0;
if ($this->clone == null) $this->clone = $this->chart->series[$i]->Pointer->Clone();
if ($this->x == 0) $this->x = $this->chart->series[$i]->calcXPos($index);
if ($this->y == 0) $this->y = $this->chart->series[$i]->calcYPos($index);
$step = (($this->steps / $this->actualInterval) / 2);
$horiz = $this->clone->HorizSize + $step;
$vert = $this->clone->VertSize + $step;
$this->clone->Draw($this->clone->Chart->Graphics3D, $this->clone->Chart->Aspect->View3D,
$this->x, $this->y, $horiz, $vert, $this->clone->Color, $this->clone->Style);
$this->oldIndex = $index;
//private delegate void InvalidateDelegate();
private function timer_Tick($sender)
timer.Change(System.Threading.Timeout.Infinite, actualInterval);
if (Chart.Parent != null)
Control control = Chart.Parent.GetControl();
control.Invoke(new InvalidateDelegate(Invalidate));
timer.Change(0, actualInterval);
timer.Change(System.Threading.Timeout.Infinite, actualInterval);
if (Chart.Parent != null)
Control control = Chart.Parent.GetControl();
control.Invoke(new InvalidateDelegate(Invalidate));
|