27dddae313
This reverts commit32a4910e57
. Reason for revert: SkMatrix::toString use has been removed from flutter and has been picked up in fuchsia Additionally some bookmaker changes take into account recent additions of typedef comments and the generated header comment. Original change's description: > Revert "remove toString" > > This reverts commit5191880cbf
. > > Reason for revert: broke flutter > > Original change's description: > > remove toString > > > > toString may have been used by obsolete debugger only > > find out if that is so > > > > R=​brianosman@google.com,bsalomon@google.com > > > > Docs-Preview: https://skia.org/?cl=119894 > > Bug:830651 > > Change-Id: I737f19b7d3fbc869bea2f443fa3b5ed7c1393ffd > > Reviewed-on: https://skia-review.googlesource.com/119894 > > Commit-Queue: Cary Clark <caryclark@google.com> > > Reviewed-by: Brian Salomon <bsalomon@google.com> > > TBR=bsalomon@google.com,brianosman@google.com,caryclark@google.com,caryclark@skia.org > > Change-Id: I9f81de6c3615ee0608bcea9081b77239b4b8816c TBR=bsalomon@google.com,brianosman@google.com # Not skipping CQ checks because original CL landed > 1 day ago. Reviewed-on: https://skia-review.googlesource.com/129623 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@google.com> Docs-Preview: https://skia.org/?cl=133583 Bug: 830651 Change-Id: If8499e796be63580ad419e150e94d43e8b89de1b Reviewed-on: https://skia-review.googlesource.com/133583 Commit-Queue: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org>
67 lines
2.4 KiB
C++
67 lines
2.4 KiB
C++
/*
|
|
* Copyright 2013 Google Inc.
|
|
*
|
|
* Use of this source code is governed by a BSD-style license that can be
|
|
* found in the LICENSE file.
|
|
*/
|
|
|
|
#ifndef SkDisplacementMapEffect_DEFINED
|
|
#define SkDisplacementMapEffect_DEFINED
|
|
|
|
#include "SkImageFilter.h"
|
|
|
|
class SK_API SkDisplacementMapEffect : public SkImageFilter {
|
|
public:
|
|
enum ChannelSelectorType {
|
|
kUnknown_ChannelSelectorType,
|
|
kR_ChannelSelectorType,
|
|
kG_ChannelSelectorType,
|
|
kB_ChannelSelectorType,
|
|
kA_ChannelSelectorType,
|
|
|
|
kLast_ChannelSelectorType = kA_ChannelSelectorType
|
|
};
|
|
|
|
~SkDisplacementMapEffect() override;
|
|
|
|
static sk_sp<SkImageFilter> Make(ChannelSelectorType xChannelSelector,
|
|
ChannelSelectorType yChannelSelector,
|
|
SkScalar scale,
|
|
sk_sp<SkImageFilter> displacement,
|
|
sk_sp<SkImageFilter> color,
|
|
const CropRect* cropRect = nullptr);
|
|
|
|
SkRect computeFastBounds(const SkRect& src) const override;
|
|
|
|
virtual SkIRect onFilterBounds(const SkIRect& src, const SkMatrix& ctm,
|
|
MapDirection, const SkIRect* inputRect) const override;
|
|
sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override;
|
|
SkIRect onFilterNodeBounds(const SkIRect&, const SkMatrix& ctm,
|
|
MapDirection, const SkIRect* inputRect) const override;
|
|
|
|
Factory getFactory() const override { return CreateProc; }
|
|
|
|
protected:
|
|
sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&,
|
|
SkIPoint* offset) const override;
|
|
|
|
SkDisplacementMapEffect(ChannelSelectorType xChannelSelector,
|
|
ChannelSelectorType yChannelSelector,
|
|
SkScalar scale, sk_sp<SkImageFilter> inputs[2],
|
|
const CropRect* cropRect);
|
|
void flatten(SkWriteBuffer&) const override;
|
|
|
|
private:
|
|
static sk_sp<SkFlattenable> CreateProc(SkReadBuffer&);
|
|
friend class SkFlattenable::PrivateInitializer;
|
|
|
|
ChannelSelectorType fXChannelSelector;
|
|
ChannelSelectorType fYChannelSelector;
|
|
SkScalar fScale;
|
|
typedef SkImageFilter INHERITED;
|
|
const SkImageFilter* getDisplacementInput() const { return getInput(0); }
|
|
const SkImageFilter* getColorInput() const { return getInput(1); }
|
|
};
|
|
|
|
#endif
|