anchor.diff:  
     @override
     Widget build(BuildContext context) {
  +    final ThemeData themeData = Theme.of(context);
       return new Flexible(
         child: new Material(
  -        elevation: 24,
  -        color: Colors.grey[700],
  +        color: themeData.backgroundColor,
           child: new Column(
             children: <Widget>[
               new CalcKey('\u232B', calcState.handleDelTap),
  
positive.code:       // and the op keypad have sizes proportional to their number of
        // columns.
        flex: 3,
        child: new Material(
          elevation: 12,
          color: Colors.grey[800],
          child: new Column(
            children: <Widget>[
              new KeyRow(<Widget>[
                new NumberKey(7, calcState),
                new NumberKey(8, calcState),
                new NumberKey(9, calcState)
              ]),
              new KeyRow(<Widget>[
                new NumberKey(4, calcState),
                new NumberKey(5, calcState),
                new NumberKey(6, calcState)
              ]),
              new KeyRow(<Widget>[
                new NumberKey(1, calcState),
                new NumberKey(2, calcState),
                new NumberKey(3, calcState)
              ]),
              new KeyRow(<Widget>[
                new CalcKey('.', calcState.handlePointTap),
                new NumberKey(0, calcState),
                new CalcKey('=', calcState.handleEqualsTap),
              ])
            ]
          )
        )
      );
    }
  
negative.code: 
    @override
    Widget build(BuildContext context) {
      final Orientation orientation = MediaQuery.of(context).orientation;
      return new Flexible(
        child: new InkResponse(
          onTap: this.onTap,
          child: new Center(
            child: new Text(
              this.text,
              style: new TextStyle(
                fontSize: (orientation == Orientation.portrait) ? 32.0 : 24.0
              )
            )
          )
        )
      );
    }
  }
  