#include "cc/paint/paint_flags.h"
#include <algorithm>
#include <utility>
#include "base/memory/values_equivalent.h"
#include "base/notreached.h"
#include "cc/paint/paint_filter.h"
#include "cc/paint/paint_op.h"
#include "cc/paint/paint_op_buffer.h"
#include "cc/paint/paint_shader.h"
#include "third_party/skia/include/core/SkColorFilter.h"
#include "third_party/skia/include/core/SkPathEffect.h"
#include "third_party/skia/include/core/SkPathUtils.h"
namespace {
template <typename T>
bool AreValuesEqualForTesting(const sk_sp<T>& a, const sk_sp<T>& b) { … }
}
namespace cc {
CorePaintFlags::CorePaintFlags() { … }
bool CorePaintFlags::operator==(const CorePaintFlags& other) const { … }
PaintFlags::PaintFlags() = default;
PaintFlags::PaintFlags(const PaintFlags& flags) = default;
PaintFlags::PaintFlags(const CorePaintFlags& flags) : … { … }
PaintFlags::PaintFlags(PaintFlags&& other) = default;
PaintFlags& PaintFlags::operator=(const PaintFlags& other) = default;
PaintFlags& PaintFlags::operator=(PaintFlags&& other) = default;
PaintFlags::~PaintFlags() = default;
bool PaintFlags::CanConvertToCorePaintFlags() const { … }
CorePaintFlags PaintFlags::ToCorePaintFlags() const { … }
void PaintFlags::setImageFilter(sk_sp<PaintFilter> filter) { … }
bool PaintFlags::ShaderIsOpaque() const { … }
void PaintFlags::setShader(sk_sp<PaintShader> shader) { … }
bool PaintFlags::nothingToDraw() const { … }
bool PaintFlags::getFillPath(const SkPath& src,
SkPath* dst,
const SkRect* cull_rect,
SkScalar res_scale) const { … }
bool PaintFlags::SupportsFoldingAlpha() const { … }
SkPaint PaintFlags::ToSkPaint() const { … }
SkSamplingOptions PaintFlags::FilterQualityToSkSamplingOptions(
PaintFlags::FilterQuality filter_quality) { … }
bool CorePaintFlags::IsValid() const { … }
bool PaintFlags::EqualsForTesting(const PaintFlags& other) const { … }
bool PaintFlags::HasDiscardableImages(
gfx::ContentColorUsage* content_color_usage) const { … }
}