Dart Documentationbot_retainedShape

Shape class

Extends

DisposableImpl > AttachableObject > PElement > Shape

Constructors

new Shape(num w, num h, [fillStyle = 'blue', ShapeType shapeType = ShapeType.rect]) #

Shape(num w, num h, [Dynamic fillStyle = 'blue', this.shapeType = ShapeType.rect])
  : _fillStyle = fillStyle, super(w, h, true);

Fields

final bool cacheEnabled #

inherited from PElement
final bool cacheEnabled;

bool clip #

inherited from PElement
bool clip = false;

final ShapeType shapeType #

final ShapeType shapeType;

Methods

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

AffineTransform addTransform() #

inherited from PElement
AffineTransform addTransform(){
  validateNotDisposed();
  var tx = new AffineTransform();
  _transforms.add(tx);
  return tx;
}

void dispose() #

inherited from DisposableImpl
void dispose(){
  if (!_disposed) {
    // Set disposed_ to true first, in case during the chain of disposal this
    // gets disposed recursively.
    this._disposed = true;
    this.disposeInternal();
  }
}

void disposeInternal() #

inherited from PElement

Do not call this method directly. Call dispose instead. Subclasses should override this method to implement Disposable behavior.

docs inherited from DisposableImpl
void disposeInternal(){
  super.disposeInternal();
  _updatedEventHandle.dispose();
  _invalidatedEventHandle.dispose();
}

bool draw(CanvasRenderingContext2D ctx) #

inherited from PElement
bool draw(CanvasRenderingContext2D ctx){
  update();
  var dirty = (_lastDrawSize == null);
  drawCore(ctx);
  return dirty;
}

void drawCore(CanvasRenderingContext2D ctx) #

inherited from PElement
void drawCore(CanvasRenderingContext2D ctx){
  if(cacheEnabled) {
    _drawCached(ctx);
  } else {
    _drawNormal(ctx);
  }
}

void drawOverride(CanvasRenderingContext2D ctx) #

void drawOverride(CanvasRenderingContext2D ctx) {
  ctx.fillStyle = _fillStyle;
  switch(shapeType){
    case ShapeType.rect:
      ctx.fillRect(0, 0, size.width, size.height);
      break;
    case ShapeType.ellipse:
      CanvasUtil.ellipse(ctx, 0, 0, this.width, this.height);
      ctx.fill();
      break;
    default:
      throw "shape not known...";
  }
}

get fillStyle() #

Dynamic get fillStyle => _fillStyle;

void set fillStyle(value) #

void set fillStyle(Dynamic value) {
  _fillStyle = value;
  invalidateDraw();
}

AffineTransform getTransform() #

inherited from PElement
AffineTransform getTransform() {
  var tx = new AffineTransform();
  _transforms.forEach(tx.concatenate);
  return tx;
}

AffineTransform getTransformToRoot() #

inherited from PElement
AffineTransform getTransformToRoot(){
  var tx = new AffineTransform();
  if(_parent != null){
    tx.concatenate(_parent.getTransformToRoot());
  }
  tx.concatenate(getTransform());
  return tx;
}

PElement getVisualChild(int index) #

inherited from PElement
PElement getVisualChild(int index){
  throw "no children for this type";
}

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

bool hasVisualChild(PElement element) #

inherited from PElement
bool hasVisualChild(PElement element){
  var length = visualChildCount;
  for(var i=0;i<length;i++){
    if(identical(element, getVisualChild(i))){
      return true;
    }
  }
  return false;
}

num get height() #

inherited from PElement
num get height => _height;

void set height(num value) #

inherited from PElement
void set height(num value) {
  assert(isValidNumber(value));
  _height = value;
  invalidateDraw();
}

EventRoot<EventArgs> get invalidated() #

inherited from PElement
EventRoot<EventArgs> get invalidated => _invalidatedEventHandle;

void invalidateDraw() #

inherited from PElement
void invalidateDraw(){
  validateNotDisposed();
  if(_lastDrawSize != null){
    _lastDrawSize = null;
    _invalidateParent();
  }
}

bool get isDisposed() #

inherited from DisposableImpl
bool get isDisposed => _disposed;

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

ElementParent get parent() #

inherited from PElement
ElementParent get parent => _parent;

void registerParent(ElementParent parent) #

inherited from PElement
void registerParent(ElementParent parent) {
  assert(_parent == null);
  assert(parent != null);
  _parent = parent;
}

Type get runtimeType() #

inherited from Object

A representation of the runtime type of the object.

external Type get runtimeType;

Size get size() #

inherited from PElement
Size get size => new Size(_width, _height);

void set size(Size value) #

inherited from PElement
void set size(Size value) {
  assert(value.isValid);
  _width = value.width;
  _height = value.height;
  invalidateDraw();
}

String toString() #

Returns a string representation of this object.

docs inherited from Object
String toString() => 'Shape [$_fillStyle, ${shapeType.name}]';

void update() #

inherited from PElement
void update(){
  _updatedEventHandle.fireEvent(EventArgs.empty);
}

EventRoot<EventArgs> get updated() #

inherited from PElement
EventRoot<EventArgs> get updated => _updatedEventHandle;

void validateNotDisposed() #

inherited from DisposableImpl
void validateNotDisposed() {
  assert(!_disposed);
}

int get visualChildCount() #

inherited from PElement
int get visualChildCount => 0;

num get width() #

inherited from PElement
num get width => _width;

void set width(num value) #

inherited from PElement
void set width(num value) {
  assert(isValidNumber(value));
  _width = value;
  invalidateDraw();
}