title: Is there any way to detect multiple touches on my screeen in flutter?
body: <p>I have this piece of code and what it does is when touching on the screen a blue circle appears and follows the tap/drag location of my finger . What i want to achive is to have this blue circle appear each time theres a new finger on the screen even if there are 2 or 3 touches at the same time. 
  Please Help me I am totally stuck.
  I tried to add more than one onpointerdown event but thats a bad idea.</p>
  
  <pre><code>class SecondScreen extends StatefulWidget {
    @override
    State createState() =&gt; new SecondScreenState();
  }
  
  
  class SecondScreenState extends State&lt;SecondScreen&gt; {
    GlobalKey _paintKey = new GlobalKey();
    Offset _offset;
  
    @override
    Widget build(BuildContext context) {
      return new Scaffold(
          appBar: new AppBar(
            centerTitle: true,
            title: new Text('Choosing..',
              style: TextStyle(
                  fontSize: 50,
                  color: Colors.white
              ),
            ),
          ),
          body:
              GestureDetector(
  
                  child: Listener(
  
                      onPointerMove: (PointerMoveEvent event) {
                        RenderBox referenceBox = _paintKey.currentContext
                            .findRenderObject();
                        Offset offset = referenceBox.globalToLocal(
                            event.position);
                        setState(() {
                          _offset = offset;
                        });
                      },
  
                      onPointerDown: (PointerDownEvent event) {
  
                      },
  
  
                      onPointerUp: (PointerUpEvent event) {
                        setState(() {
                          _offset = null;
                        });
                      },
  
                      child: new CustomPaint(
                        key: _paintKey,
                        painter: new MyCustomPainter(_offset),
                        child: new ConstrainedBox(
                          constraints: new BoxConstraints.expand(),
                        )
                        ,
                      )
                  )
      )
      );
  
  
  
    }
  }
  
  class MyCustomPainter extends CustomPainter {
    final Offset _offset;
    MyCustomPainter(this._offset);
  
    @override
    void paint(Canvas canvas, Size size) {
      if (_offset == null) return;
      canvas.drawCircle(_offset, 100.0, new Paint()..color = Colors.blue);
    }
  
    @override
    bool shouldRepaint(MyCustomPainter other) =&gt; other._offset != _offset;
  }
  </code></pre>