mirrored_repositories/awesome-flutter/examples/plugins/packages/google_maps_flutter/google_maps_flutter_platform_interface/lib/src
// Copyright 2013 The Flutter Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

import 'types.dart';

/// [Circle] update events to be applied to the [GoogleMap].
///
/// Used in [GoogleMapController] when the map is updated.
// (Do not re-export)
class CircleUpdates extends MapsObjectUpdates<Circle> {
  /// Computes [CircleUpdates] given previous and current [Circle]s.
  CircleUpdates.from(Set<Circle> previous, Set<Circle> current)
      : super.from(previous, current, objectName: 'circle');

  /// Set of Circles to be added in this update.
  Set<Circle> get circlesToAdd => objectsToAdd;

  /// Set of CircleIds to be removed in this update.
  Set<CircleId> get circleIdsToRemove => objectIdsToRemove.cast<CircleId>();

  /// Set of Circles to be changed in this update.
  Set<Circle> get circlesToChange => objectsToChange;
}
