// Copyright 2013 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef CC_BASE_INVALIDATION_REGION_H_
#define CC_BASE_INVALIDATION_REGION_H_

#include "cc/base/cc_export.h"
#include "cc/base/region.h"
#include "ui/gfx/rect.h"

namespace cc {

// This class behaves similarly to Region, but it may have false positives. That
// is, InvalidationRegion can be simplified to encompass a larger area than the
// collection of rects unioned.
class CC_EXPORT InvalidationRegion {
 public:
  InvalidationRegion();
  ~InvalidationRegion();

  void Swap(Region* region);
  void Clear();
  void Union(gfx::Rect rect);
  bool IsEmpty() const { return region_.IsEmpty(); }

 private:
  void SimplifyIfNeeded();

  Region region_;
};

}  // namespace cc

#endif  // CC_BASE_INVALIDATION_REGION_H_
