| // |
| // Copyright 2014 Google Inc. All rights reserved. |
| // |
| // Use of this source code is governed by a BSD-style |
| // license that can be found in the LICENSE file or at |
| // https://developers.google.com/open-source/licenses/bsd |
| // |
| |
| part of charted.charts; |
| |
| class DefaultChartEventImpl implements ChartEvent { |
| final ChartArea area; |
| |
| @override |
| final ChartSeries series; |
| |
| @override |
| final Event source; |
| |
| @override |
| final int column; |
| |
| @override |
| final int row; |
| |
| @override |
| final num value; |
| |
| @override |
| num chartX = 0; |
| |
| @override |
| num chartY = 0; |
| |
| DefaultChartEventImpl(this.source, this.area, |
| [this.series, this.row, this.column, this.value]) { |
| var hostRect = area.host.getBoundingClientRect(), |
| left = area.config.isRTL |
| ? area.theme.padding.end |
| : area.theme.padding.start; |
| if (source is MouseEvent) { |
| MouseEvent mouseSource = source; |
| chartX = mouseSource.client.x - hostRect.left - left; |
| chartY = mouseSource.client.y - hostRect.top - area.theme.padding.top; |
| } |
| } |
| } |