1fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/* 2fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * Copyright 2013 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 SkXfermodeImageFilter_DEFINED 9fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#define SkXfermodeImageFilter_DEFINED 10fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 11fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "SkArithmeticImageFilter.h" 12fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "SkBlendMode.h" 13fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#include "SkImageFilter.h" 14fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 15fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot/** 16fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * This filter takes a SkBlendMode, and uses it to composite the foreground over the background. 17fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot * If foreground or background is NULL, the input bitmap (src) is used instead. 18fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot */ 19fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotclass SK_API SkXfermodeImageFilter { 20fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotpublic: 21fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot static sk_sp<SkImageFilter> Make(SkBlendMode, sk_sp<SkImageFilter> background, 22fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot sk_sp<SkImageFilter> foreground, 23fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot const SkImageFilter::CropRect* cropRect); 24fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot static sk_sp<SkImageFilter> Make(SkBlendMode mode, sk_sp<SkImageFilter> background) { 25fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot return Make(mode, std::move(background), nullptr, nullptr); 26fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot } 27fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 28fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SK_DECLARE_FLATTENABLE_REGISTRAR_GROUP(); 29fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 30fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robotprivate: 31fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot SkXfermodeImageFilter(); // can't instantiate 32fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot}; 33fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot 34fe17456d5e528078ce69b5f15cf7adf1fab963fandroid-build-team Robot#endif 35