Exemplo n.º 1
0
        void _didUpdatePainter(CustomPainter newPainter, CustomPainter oldPainter)
        {
            if (newPainter == null)
            {
                D.assert(oldPainter != null);
                markNeedsPaint();
            }
            else if (oldPainter == null ||
                     newPainter.GetType() != oldPainter.GetType() ||
                     newPainter.shouldRepaint(oldPainter))
            {
                markNeedsPaint();
            }

            if (attached)
            {
                oldPainter?.removeListener(markNeedsPaint);
                newPainter?.addListener(markNeedsPaint);
            }
        }
Exemplo n.º 2
0
 public override void detach()
 {
     _painter?.removeListener(markNeedsPaint);
     _foregroundPainter?.removeListener(markNeedsPaint);
     base.detach();
 }