#ifndef CC_BASE_REGION_H_
#define CC_BASE_REGION_H_
#include <iosfwd>
#include <memory>
#include <string>
#include "cc/base/base_export.h"
#include "third_party/skia/include/core/SkRegion.h"
#include "ui/gfx/geometry/rect.h"
#include "ui/gfx/geometry/skia_conversions.h"
class SkPath;
namespace base {
namespace trace_event {
class TracedValue;
}
}
namespace gfx {
class Vector2d;
}
namespace cc {
class SimpleEnclosedRegion;
class CC_BASE_EXPORT Region { … };
inline bool operator==(const Region& a, const Region& b) { … }
inline bool operator!=(const Region& a, const Region& b) { … }
inline Region operator+(const Region& a, const gfx::Vector2d& b) { … }
inline Region SubtractRegions(const Region& a, const Region& b) { … }
inline Region SubtractRegions(const Region& a, const gfx::Rect& b) { … }
inline Region IntersectRegions(const Region& a, const Region& b) { … }
inline Region IntersectRegions(const Region& a, const gfx::Rect& b) { … }
inline Region UnionRegions(const Region& a, const Region& b) { … }
inline Region UnionRegions(const Region& a, const gfx::Rect& b) { … }
void PrintTo(const Region& region, std::ostream* os);
}
#endif