Example #1
0
  public void draw(Painter p) {
    p.setTransform(transform.getLocalToViewMatrix());
    p.setShapeMode(ShapeMode.FILL);

    if (selected) p.setFillColor(selectedACMOutlineColor);
    else p.setFillColor(ACMOutlineColor);

    p.drawCircle(radius, null);

    if (selected) p.setFillColor(selectedACMColor);
    else p.setFillColor(ACMColor);

    p.drawCircle(innerRadius, null);

    if (selected) p.setLineColor(selectedACMOutlineColor);
    else p.setLineColor(ACMOutlineColor);

    float L = -radius, R = radius;
    if (blockWriting) L *= 0.6f;
    if (blockReading) R *= 0.6f;

    p.setLineMode(LineMode.SOLID);
    p.setLineWidth(0.01f);
    p.drawLine(L, 0.0f, R, 0.0f);

    p.setLineWidth(0.004f);
    if (blockWriting) p.drawLine(L, -radius * 0.75f, L, radius * 0.75f);
    if (blockReading) p.drawLine(R, -radius * 0.75f, R, radius * 0.75f);

    String n = Integer.toString(countValidTokens());
    float h = radius * 0.8f;
    Vec2 v = new Vec2(0, radius * 0.2f);
    transform.getLocalToViewMatrix().transform(v);
    p.setTextColor(validTokenColor);
    p.drawString(n, v, h, TextAlign.CENTER);

    n = Integer.toString(capacity - countValidTokens());
    h = radius * 0.8f;
    v = new Vec2(0, -radius * 0.7f);
    transform.getLocalToViewMatrix().transform(v);
    p.setTextColor(invalidTokenColor);
    p.drawString(n, v, h, TextAlign.CENTER);

    super.draw(p);
  }