anchor.diff:      final TextPainter textPainter = new TextPainter()
         ..text = new TextSpan(style: kTextStyles, text: message)
         ..maxWidth = kOffset * 2.0
  -      ..maxHeight = kHeight
         ..layout();
   
  -    textPainter.paint(canvas, kRect.topLeft.toOffset() + kTextAlign);
  +    textPainter.paint(canvas, kRect.topLeft.toOffset() + new Offset(0.0, (kRect.height - textPainter.height) / 2.0));
     }
   
     @override
  
positive.code:     color: const Color(0xFFFFFFFF),
      fontSize: kFontSize,
      fontWeight: FontWeight.w900,
      textAlign: TextAlign.center
    );
  
    @override
  
negative.code:   static const double kOffset = 40.0; // distance to bottom of banner, at a 45 degree angle inwards
    static const double kHeight = 12.0; // height of banner
    static const double kBottomOffset = kOffset + 0.707 * kHeight; // offset plus sqrt(2)/2 * banner height
    static const double kFontSize = kHeight * 0.85;
    static const double kShadowBlur = 4.0; // shadow blur sigma
    static final Rect kRect = new Rect.fromLTWH(-kOffset, kOffset - kHeight, kOffset * 2.0, kHeight);
  