blob: 831421e1801cc0649e35cd6316923ba979d7e4d8 [file] [log] [blame]
// Copyright 2015 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import '../fn2.dart';
import '../rendering/flex.dart';
import 'dart:collection';
import 'dart:sky' as sky;
// import 'ink_splash.dart';
import 'scrollable.dart';
class InkWell extends Component implements ScrollClient {
// static final Style _containmentStyleHack = new Style('''
// align-items: center;
// transform: translateX(0);''');
// LinkedHashSet<SplashController> _splashes;
List<UINode> children;
// InkWell({ Object key, this.inlineStyle, this.children })
// : super(key: key) {
// onDidUnmount(() {
// _cancelSplashes(null);
// });
// }
InkWell({ Object key, this.children }) : super(key: key);
UINode build() {
return new FlexContainer(direction: FlexDirection.horizontal, children: children);
// List<UINode> childrenIncludingSplashes = [];
// if (_splashes != null) {
// childrenIncludingSplashes.addAll(
// _splashes.map((s) => new InkSplash(s.onStyleChanged)));
// }
// if (children != null)
// childrenIncludingSplashes.addAll(children);
// return new EventListenerNode(
// new FlexContainer(
// direction: FlexDirection.horizontal,
// style: _containmentStyleHack,
// inlineStyle: inlineStyle,
// children: childrenIncludingSplashes),
// onGestureTapDown: _startSplash,
// onGestureTap: _confirmSplash
// );
}
// void _startSplash(sky.GestureEvent event) {
// setState(() {
// if (_splashes == null)
// _splashes = new LinkedHashSet<SplashController>();
// var splash;
// var root = getRoot();
// splash = new SplashController(root.rect, event.x, event.y,
// pointer: event.primaryPointer,
// onDone: () { _splashDone(splash); });
// _splashes.add(splash);
// UINode node = parent;
// while (node != null) {
// if (node is Scrollable)
// node.registerScrollClient(this);
// node = node.parent;
// }
// });
// }
bool ancestorScrolled(Scrollable ancestor) {
// _abortSplashes();
return false;
}
// void handleRemoved() {
// UINode node = parent;
// while (node != null) {
// if (node is Scrollable)
// node.unregisterScrollClient(this);
// node = node.parent;
// }
// super.handleRemoved();
// }
// void _confirmSplash(sky.GestureEvent event) {
// if (_splashes == null)
// return;
// _splashes.where((splash) => splash.pointer == event.primaryPointer)
// .forEach((splash) { splash.confirm(); });
// }
// void _abortSplashes() {
// if (_splashes == null)
// return;
// setState(() {
// _splashes.forEach((s) { s.abort(); });
// });
// }
// void _cancelSplashes(sky.Event event) {
// if (_splashes == null)
// return;
// setState(() {
// var splashes = _splashes;
// _splashes = null;
// splashes.forEach((s) { s.cancel(); });
// });
// }
// void _splashDone(SplashController splash) {
// if (_splashes == null)
// return;
// setState(() {
// _splashes.remove(splash);
// if (_splashes.length == 0)
// _splashes = null;
// });
// }
}