// Copyright 2017 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_PAINT_PAINT_FLAGS_H_ #define CC_PAINT_PAINT_FLAGS_H_ #include "base/compiler_specific.h" #include "cc/paint/paint_export.h" #include "cc/paint/paint_shader.h" #include "third_party/skia/include/core/SkCanvas.h" #include "third_party/skia/include/core/SkColorFilter.h" #include "third_party/skia/include/core/SkDrawLooper.h" #include "third_party/skia/include/core/SkImageFilter.h" #include "third_party/skia/include/core/SkMaskFilter.h" #include "third_party/skia/include/core/SkPaint.h" #include "third_party/skia/include/core/SkPathEffect.h" #include "third_party/skia/include/core/SkShader.h" namespace cc { class PaintFilter; class CC_PAINT_EXPORT PaintFlags { public: PaintFlags(); PaintFlags(const PaintFlags& flags); PaintFlags(PaintFlags&& other); ~PaintFlags(); PaintFlags& operator=(const PaintFlags& other); PaintFlags& operator=(PaintFlags&& other); enum Style { kFill_Style = SkPaint::kFill_Style, kStroke_Style = SkPaint::kStroke_Style, }; bool nothingToDraw() const; ALWAYS_INLINE Style getStyle() const { return static_cast