OLD | NEW |
| (Empty) |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #ifndef SKIA_EXT_OPACITY_DRAW_FILTER_H | |
6 #define SKIA_EXT_OPACITY_DRAW_FILTER_H | |
7 | |
8 #include "base/values.h" | |
9 #include "third_party/skia/include/core/SkDrawFilter.h" | |
10 | |
11 class SkPaint; | |
12 | |
13 namespace skia { | |
14 | |
15 // This filter allows setting an opacity on every draw call to a canvas, and to | |
16 // disable image filtering. Note that the opacity setting is only correct in | |
17 // very limited conditions: when there is only zero or one opaque, nonlayer | |
18 // draw for every pixel in the surface. | |
19 class SK_API OpacityDrawFilter : public SkDrawFilter { | |
20 public: | |
21 OpacityDrawFilter(float opacity, bool disable_image_filtering); | |
22 ~OpacityDrawFilter() override; | |
23 bool filter(SkPaint* paint, SkDrawFilter::Type type) override; | |
24 | |
25 private: | |
26 int alpha_; | |
27 bool disable_image_filtering_; | |
28 }; | |
29 | |
30 } // namespace skia | |
31 | |
32 #endif // SKIA_EXT_OPACITY_DRAW_FILTER_H | |
33 | |
OLD | NEW |