Dart Documentationbot_retainedRetainedUtil

RetainedUtil class

class RetainedUtil {
  static List<PElement> hitTest(Stage stage, Coordinate point){
    return _hitTest(stage.rootElement, point);
  }

  static List<PElement> _hitTest(PElement element, Coordinate point){
    point = transformPointGlobalToLocal(element, point);

    final bounds = new Box(0, 0, element.width, element.height);

    var hits = new List<PElement>();
    if (bounds.contains(point)) {
      if(element is ParentElement) {
        final ParentElement p = element;

        var length = p.visualChildCount;
        for (var i = 0; i < length; i++) {
          var e = p.getVisualChild(length - 1 - i);
          hits = _hitTest(e, point);
          if (hits.length > 0) {
            break;
          }
        }
      }
      hits.add(element);
    }
    return hits;
  }

  static Coordinate transformPointLocalToGlobal(PElement element,
                                                     Coordinate point) {
    var tx = element.getTransformToRoot();
    return tx.transformCoordinate(point);
  }

  static Coordinate transformPointGlobalToLocal(PElement element,
                                                     Coordinate point) {
    var tx = element.getTransform();
    return tx.createInverse().transformCoordinate(point);
  }

  static List<Coordinate> getCorners(PElement element) {
    final rect = new Box(0,0,element.width, element.height);
    final points = rect.getCorners();
    return $(points).map((p) {
      return transformPointLocalToGlobal(element, p);
    }).toList();
  }
}

Static Methods

List<PElement> hitTest(Stage stage, Coordinate point) #

static List<PElement> hitTest(Stage stage, Coordinate point){
  return _hitTest(stage.rootElement, point);
}

Coordinate transformPointLocalToGlobal(PElement element, Coordinate point) #

static Coordinate transformPointLocalToGlobal(PElement element,
                                                   Coordinate point) {
  var tx = element.getTransformToRoot();
  return tx.transformCoordinate(point);
}

Coordinate transformPointGlobalToLocal(PElement element, Coordinate point) #

static Coordinate transformPointGlobalToLocal(PElement element,
                                                   Coordinate point) {
  var tx = element.getTransform();
  return tx.createInverse().transformCoordinate(point);
}

List<Coordinate> getCorners(PElement element) #

static List<Coordinate> getCorners(PElement element) {
  final rect = new Box(0,0,element.width, element.height);
  final points = rect.getCorners();
  return $(points).map((p) {
    return transformPointLocalToGlobal(element, p);
  }).toList();
}

Properties

final Type runtimeType #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

Operators

bool operator ==(other) #

inherited from Object

The equality operator.

The default behavior for all Objects is to return true if and only if this and other are the same object.

If a subclass overrides the equality operator it should override the hashCode method as well to maintain consistency.

bool operator ==(other) => identical(this, other);

Methods

int hashCode() #

inherited from Object

Get a hash code for this object.

All objects have hash codes. Hash codes are guaranteed to be the same for objects that are equal when compared using the equality operator ==. Other than that there are no guarantees about the hash codes. They will not be consistent between runs and there are no distribution guarantees.

If a subclass overrides hashCode it should override the equality operator as well to maintain consistency.

external int hashCode();

noSuchMethod(String name, List args) #

inherited from Object

noSuchMethod is invoked when users invoke a non-existant method on an object. The name of the method and the arguments of the invocation are passed to noSuchMethod. If noSuchMethod returns a value, that value becomes the result of the original invocation.

The default behavior of noSuchMethod is to throw a noSuchMethodError.

external Dynamic noSuchMethod(String name, List args);

const Object() #

inherited from Object

Creates a new Object instance.

Object instances have no meaningful state, and are only useful through their identity. An Object instance is equal to itself only.

const Object();

String toString() #

inherited from Object

Returns a string representation of this object.

external String toString();