anchor.diff:    _ControllerExampleState createState() => _ControllerExampleState();
   }
   
  -double min = pi * -2;
  -double max = pi * 2;
  +const double min = pi * -2;
  +const double max = pi * 2;
  +
  +const double minScale = 0.05;
  +const double defScale = 0.1;
  +const double maxScale = 0.2;
   
   class _ControllerExampleState extends State<ControllerExample> {
     PhotoViewController controller;
  
positive.code:                               child: StreamBuilder(
                                    stream: controller.outputStateStream,
                                    initialData: controller.value,
                                    builder: (BuildContext context,
                                        AsyncSnapshot snapshot) {
                                      if (snapshot.hasError ||
                                          !snapshot.hasData) {
                                        return Container();
                                      }
                                      final PhotoViewControllerValue value =
                                          snapshot.data;
                                      return Column(
                                        children: <Widget>[
                                          Text("Rotation ${value.rotation}",
                                            style: TextStyle(
                                                color: Colors.white
                                            ),
                                          ),
                                          SliderTheme(
                                              data: SliderTheme.of(context)
                                                  .copyWith(
                                                      activeTrackColor:
                                                          Colors.orange,
                                                      thumbColor: Colors.orange),
                                              child: Slider(
                                                  value: value.rotation
                                                      .clamp(min, max),
                                                  min: min,
                                                  max: max,
                                                  onChanged:
                                                      (double newRotation) {
                                                    controller.rotation =
                                                        newRotation;
                                                    controller.scaleState =
                                                        PhotoViewScaleState
                                                            .zooming;
                                                  })),
  
                                        ],
                                      );
                                    })),
                          )
                        ],
                      ),
  
negative.code:           )),
      );
    }
  
    Widget _streamBuild(BuildContext context, AsyncSnapshot snapshot) {
      if (snapshot.hasError || !snapshot.hasData) {
        return Container();
      }
      final PhotoViewControllerValue value = snapshot.data;
      return Column(
        children: <Widget>[
          Text(
            "Rotation ${value.rotation}",
            style: TextStyle(color: Colors.white),
          ),
          SliderTheme(
              data: SliderTheme.of(context).copyWith(
                  activeTrackColor: Colors.orange, thumbColor: Colors.orange),
              child: Slider(
                  value: value.rotation.clamp(min, max),
                  min: min,
                  max: max,
                  onChanged: (double newRotation) {
                    controller.rotation = newRotation;
                    controller.scaleState = PhotoViewScaleState.zooming;
                  })),
          Text(
            "Scale ${value.scale}",
            style: TextStyle(color: Colors.white),
          ),
          SliderTheme(
              data: SliderTheme.of(context).copyWith(
                  activeTrackColor: Colors.orange, thumbColor: Colors.orange),
              child: Slider(
                  value: value.scale.clamp(minScale, maxScale),
                  min: minScale,
                  max: maxScale,
                  onChanged: (double newScale) {
                    controller.scale = newScale;
                    controller.scaleState = PhotoViewScaleState.zooming;
                  })),
        ],
      );
    }
  }
  