1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Copyright 2012 The Android Open Source Project 3fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * 4fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Use of this source code is governed by a BSD-style license that can be 5fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * found in the LICENSE file. 6fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 7fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 8fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#ifndef SkOffsetImageFilter_DEFINED 9fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#define SkOffsetImageFilter_DEFINED 10fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 11fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "SkImageFilter.h" 12fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "SkPoint.h" 13fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 14fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass SK_API SkOffsetImageFilter : public SkImageFilter { 15fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotpublic: 16fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot static sk_sp<SkImageFilter> Make(SkScalar dx, SkScalar dy, 17fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot sk_sp<SkImageFilter> input, 18fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot const CropRect* cropRect = nullptr); 19fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 20fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkRect computeFastBounds(const SkRect& src) const override; 21fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 22fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SK_TO_STRING_OVERRIDE() 23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SK_DECLARE_PUBLIC_FLATTENABLE_DESERIALIZATION_PROCS(SkOffsetImageFilter) 24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprotected: 26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot void flatten(SkWriteBuffer&) const override; 27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot sk_sp<SkSpecialImage> onFilterImage(SkSpecialImage* source, const Context&, 28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkIPoint* offset) const override; 29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot sk_sp<SkImageFilter> onMakeColorSpace(SkColorSpaceXformer*) const override; 30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkIRect onFilterNodeBounds(const SkIRect&, const SkMatrix&, MapDirection) const override; 31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprivate: 33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkOffsetImageFilter(SkScalar dx, SkScalar dy, sk_sp<SkImageFilter> input, const CropRect*); 34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 35fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkVector fOffset; 36fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 37fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot typedef SkImageFilter INHERITED; 38fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot}; 39fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 40fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#endif 41