Dart Documentationbot_retainedRetainedDebug

RetainedDebug class

class RetainedDebug {
  static void borderElements(stage) {
    var ctx = stage.ctx;
    ctx.save();
    ctx.globalAlpha = 0.5;
    ctx.lineWidth = 5;
    ctx.beginPath();
    _borderElement(ctx, stage.rootElement);
    ctx.stroke();
    ctx.restore();
  }

  static void borderHitTest(Stage stage, Coordinate point){
    var ctx = stage.ctx;

    var hits = RetainedUtil.hitTest(stage, point);

    if(hits.length > 0){
      ctx.save();
      ctx.lineWidth = 2;

      hits.forEach((e) {
        _borderElement(ctx, e, true);
      });
      ctx.restore();
    }
  }

  static void _borderElement(CanvasRenderingContext2D ctx, PElement element,
                             [bool excludeChildren = false,
                             Func1<PElement, bool> filter = null]) {
    if (filter == null || filter(element)) {
      _borderElementCore(ctx, element);
    }

    if (!excludeChildren && element is ParentElement) {
      final ParentElement p = element;
      for (var i = 0; i < p.visualChildCount; i++) {
        var e = p.getVisualChild(i);
        _borderElement(ctx, e, false, filter);
      }
    }
  }

  static void _borderElementCore(CanvasRenderingContext2D ctx, PElement element) {
    if (Mouse.isMouseDirectlyOver(element)) {
      ctx.strokeStyle = 'red';
    } else if (Mouse.isMouseOver(element)) {
      ctx.strokeStyle = 'pink';
    } else if (element.cacheEnabled) {
      ctx.strokeStyle = 'yellow';
    } else {
      ctx.strokeStyle = 'orange';
    }

    final corners = RetainedUtil.getCorners(element);

    ctx.beginPath();
    ctx.moveTo(corners[3].x, corners[3].y);
    for(final p in corners) {
      ctx.lineTo(p.x, p.y);
    }
    ctx.stroke();
  }
}

Static Methods

void borderElements(stage) #

static void borderElements(stage) {
  var ctx = stage.ctx;
  ctx.save();
  ctx.globalAlpha = 0.5;
  ctx.lineWidth = 5;
  ctx.beginPath();
  _borderElement(ctx, stage.rootElement);
  ctx.stroke();
  ctx.restore();
}

void borderHitTest(Stage stage, Coordinate point) #

static void borderHitTest(Stage stage, Coordinate point){
  var ctx = stage.ctx;

  var hits = RetainedUtil.hitTest(stage, point);

  if(hits.length > 0){
    ctx.save();
    ctx.lineWidth = 2;

    hits.forEach((e) {
      _borderElement(ctx, e, true);
    });
    ctx.restore();
  }
}

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();