blob: bea03adab36a7594f3abebf71db0600eb8d929f2 [file] [log] [blame]
bsalomon@google.com82aa7482012-08-13 14:22:17 +00001/*
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
9#ifndef SkMagnifierImageFilter_DEFINED
10#define SkMagnifierImageFilter_DEFINED
11
12#include "SkRect.h"
13#include "SkImageFilter.h"
14
15class SK_API SkMagnifierImageFilter : public SkImageFilter {
16public:
reed9fa60da2014-08-21 07:59:51 -070017 static SkImageFilter* Create(const SkRect& src, SkScalar inset, SkImageFilter* input = NULL);
bsalomon@google.com82aa7482012-08-13 14:22:17 +000018
robertphillipsf3f5bad2014-12-19 13:49:15 -080019 SK_TO_STRING_OVERRIDE()
bsalomon@google.com82aa7482012-08-13 14:22:17 +000020 SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkMagnifierImageFilter)
21
22protected:
senorblanco9ea3d572014-07-08 09:16:22 -070023 SkMagnifierImageFilter(const SkRect& srcRect, SkScalar inset, SkImageFilter* input);
mtklein36352bf2015-03-25 18:17:31 -070024 void flatten(SkWriteBuffer&) const override;
bsalomon@google.com82aa7482012-08-13 14:22:17 +000025
robertphillips48e78462016-02-17 13:57:16 -080026 bool onFilterImageDeprecated(Proxy*, const SkBitmap& src, const Context&,
27 SkBitmap* result, SkIPoint* offset) const override;
senorblanco@chromium.org1aa68722013-10-17 19:35:09 +000028#if SK_SUPPORT_GPU
bsalomon4a339522015-10-06 08:40:50 -070029 bool asFragmentProcessor(GrFragmentProcessor**, GrTexture*, const SkMatrix&,
30 const SkIRect& bounds) const override;
senorblanco@chromium.org1aa68722013-10-17 19:35:09 +000031#endif
bsalomon@google.com82aa7482012-08-13 14:22:17 +000032
bsalomon@google.com82aa7482012-08-13 14:22:17 +000033private:
34 SkRect fSrcRect;
35 SkScalar fInset;
36 typedef SkImageFilter INHERITED;
37};
38
39#endif