| OLD | NEW |
| (Empty) |
| 1 /* | |
| 2 * Copyright 2012 The Android Open Source Project | |
| 3 * | |
| 4 * Use of this source code is governed by a BSD-style license that can be | |
| 5 * found in the LICENSE file. | |
| 6 */ | |
| 7 | |
| 8 #ifndef SkBlendImageFilter_DEFINED | |
| 9 #define SkBlendImageFilter_DEFINED | |
| 10 | |
| 11 #include "SkImageFilter.h" | |
| 12 #include "SkBitmap.h" | |
| 13 | |
| 14 class SK_API SkBlendImageFilter : public SkImageFilter { | |
| 15 public: | |
| 16 enum Mode { | |
| 17 kNormal_Mode, | |
| 18 kMultiply_Mode, | |
| 19 kScreen_Mode, | |
| 20 kDarken_Mode, | |
| 21 kLighten_Mode, | |
| 22 }; | |
| 23 SkBlendImageFilter(Mode mode, SkImageFilter* background, SkImageFilter* fore
ground = NULL); | |
| 24 | |
| 25 ~SkBlendImageFilter(); | |
| 26 | |
| 27 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkBlendImageFilter) | |
| 28 | |
| 29 virtual bool onFilterImage(Proxy* proxy, | |
| 30 const SkBitmap& src, | |
| 31 const SkMatrix& ctm, | |
| 32 SkBitmap* dst, | |
| 33 SkIPoint* offset) SK_OVERRIDE; | |
| 34 #if SK_SUPPORT_GPU | |
| 35 virtual bool canFilterImageGPU() const SK_OVERRIDE { return true; } | |
| 36 virtual bool filterImageGPU(Proxy* proxy, const SkBitmap& src, SkBitmap* res
ult, | |
| 37 SkIPoint* offset) SK_OVERRIDE; | |
| 38 #endif | |
| 39 | |
| 40 protected: | |
| 41 explicit SkBlendImageFilter(SkFlattenableReadBuffer& buffer); | |
| 42 virtual void flatten(SkFlattenableWriteBuffer&) const SK_OVERRIDE; | |
| 43 | |
| 44 private: | |
| 45 Mode fMode; | |
| 46 typedef SkImageFilter INHERITED; | |
| 47 SkImageFilter* getBackgroundInput() { return getInput(0); } | |
| 48 SkImageFilter* getForegroundInput() { return getInput(1); } | |
| 49 }; | |
| 50 | |
| 51 #endif | |
| OLD | NEW |