1 /* 2 * Copyright 2013 Google Inc. 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 SkDisplacementMapEffect_DEFINED 9 #define SkDisplacementMapEffect_DEFINED 10 11 #include "include/core/SkImageFilter.h" 12 13 enum class SkColorChannel; 14 15 // DEPRECATED: Use include/effects/SkImageFilters::DisplacementMap 16 class SK_API SkDisplacementMapEffect { 17 public: 18 19 // DEPRECATED - Use SkColorChannel instead. 20 enum ChannelSelectorType { 21 kUnknown_ChannelSelectorType, 22 kR_ChannelSelectorType, 23 kG_ChannelSelectorType, 24 kB_ChannelSelectorType, 25 kA_ChannelSelectorType, 26 27 kLast_ChannelSelectorType = kA_ChannelSelectorType 28 }; 29 30 static sk_sp<SkImageFilter> Make(ChannelSelectorType xChannelSelector, 31 ChannelSelectorType yChannelSelector, 32 SkScalar scale, 33 sk_sp<SkImageFilter> displacement, 34 sk_sp<SkImageFilter> color, 35 const SkImageFilter::CropRect* cropRect = nullptr); 36 static sk_sp<SkImageFilter> Make(SkColorChannel xChannelSelector, 37 SkColorChannel yChannelSelector, 38 SkScalar scale, 39 sk_sp<SkImageFilter> displacement, 40 sk_sp<SkImageFilter> color, 41 const SkImageFilter::CropRect* cropRect = nullptr); 42 43 static void RegisterFlattenables(); 44 45 private: 46 SkDisplacementMapEffect() = delete; 47 }; 48 49 #endif 50