Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2921)

Unified Diff: charted/lib/charts/behaviors/mouse_tracker.dart

Issue 1400473008: Roll Observatory packages and add a roll script (Closed) Base URL: git@github.com:dart-lang/observatory_pub_packages.git@master
Patch Set: Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: charted/lib/charts/behaviors/mouse_tracker.dart
diff --git a/charted/lib/charts/behaviors/mouse_tracker.dart b/charted/lib/charts/behaviors/mouse_tracker.dart
deleted file mode 100644
index 822a278209e3b5593153a1fc6bf10c919b926061..0000000000000000000000000000000000000000
--- a/charted/lib/charts/behaviors/mouse_tracker.dart
+++ /dev/null
@@ -1,120 +0,0 @@
-//
-// 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;
-
-/// A behavior that tracks mouse pointer and paints a dashed line to
-/// the axes from the current pointer location.
-class MouseTracker implements ChartBehavior {
- ChartArea _area;
- Rect _rect;
-
- Element _markerX;
- Element _markerY;
-
- bool _showMarkerX = true;
- bool _showMarkerY = true;
- bool _showing;
-
- Element _lower;
-
- StreamSubscription _mouseMoveSubscription;
- StreamSubscription _mouseInSubscription;
- StreamSubscription _mouseOutSubscription;
-
- void init(ChartArea area, Selection upper, Selection lower) {
- _area = area;
- _lower = lower.first;
-
- if (area is CartesianArea) {
- _mouseInSubscription = _area.onMouseOver.listen(_show);
- _mouseOutSubscription = _area.onMouseOut.listen(_hide);
- }
- }
-
- void dispose() {
- if (_mouseInSubscription != null) _mouseInSubscription.cancel();
- if (_mouseOutSubscription != null) _mouseOutSubscription.cancel();
- if (_mouseMoveSubscription != null) _mouseOutSubscription.cancel();
- if (_markerX != null) _markerX.remove();
- if (_markerY != null) _markerY.remove();
- }
-
- void _show(ChartEvent e) {
- if (_mouseMoveSubscription != null) return;
- _create();
- _visibility(true);
- _mouseMoveSubscription = _area.onMouseMove.listen(_update);
- }
-
- void _hide(ChartEvent e) {
- if (_showing != true) return;
- _visibility(false);
- _mouseMoveSubscription.cancel();
- _mouseMoveSubscription = null;
- }
-
- void _visibility(bool show) {
- if (_showing == show) return;
- var value = show ? 'visible' : 'hidden';
- if (_markerX != null) {
- _markerX.style.visibility = value;
- }
- if (_markerY != null) {
- _markerY.style.visibility = value;
- }
- }
-
- bool _isRenderArea(ChartEvent e) =>
- _rect != null && _rect.contains(e.chartX, e.chartY);
-
- void _create() {
- if (_rect == null) {
- var renderArea = _area.layout.renderArea;
- _rect = new Rect(
- renderArea.x, renderArea.y, renderArea.width, renderArea.height);
- }
- if (_showMarkerX && _markerX == null) {
- _markerX = new LineElement();
- _markerX.attributes
- ..['x1'] = '0'
- ..['y1'] = _rect.y.toString()
- ..['x2'] = '0'
- ..['y2'] = (_rect.y + _rect.height).toString()
- ..['class'] = 'axis-marker axis-marker-x';
- _lower.append(_markerX);
- }
- if (_showMarkerY && _markerY == null) {
- _markerY = new LineElement();
- _markerY.attributes
- ..['x1'] = _rect.x.toString()
- ..['y1'] = '0'
- ..['x2'] = (_rect.x + _rect.width).toString()
- ..['y2'] = '0'
- ..['class'] = 'axis-marker axis-marker-y';
- _lower.append(_markerY);
- }
- _visibility(false);
- }
-
- void _update(ChartEvent e) {
- if (!_isRenderArea(e)) {
- _visibility(false);
- } else {
- _visibility(true);
- window.requestAnimationFrame((_) {
- if (_showMarkerX) {
- _markerX.attributes['transform'] = 'translate(${e.chartX},0)';
- }
- if (_showMarkerY) {
- _markerY.attributes['transform'] = 'translate(0,${e.chartY})';
- }
- });
- }
- }
-}
« no previous file with comments | « charted/lib/charts/behaviors/line_marker.dart ('k') | charted/lib/charts/cartesian_renderers/bar_chart_renderer.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698