19066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/*
29066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Copyright (C) 2008 The Android Open Source Project
39066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
49066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Licensed under the Apache License, Version 2.0 (the "License");
59066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * you may not use this file except in compliance with the License.
69066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * You may obtain a copy of the License at
79066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
89066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *      http://www.apache.org/licenses/LICENSE-2.0
99066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project *
109066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * Unless required by applicable law or agreed to in writing, software
119066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * distributed under the License is distributed on an "AS IS" BASIS,
129066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
139066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * See the License for the specific language governing permissions and
149066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project * limitations under the License.
159066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project */
169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage android.graphics;
189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
1963b2e616278c1b4284e1adbcc3936d0516083dcbXavier Ducrohetimport java.awt.Paint;
2063b2e616278c1b4284e1adbcc3936d0516083dcbXavier Ducrohet
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project/** A subclass of shader that returns the composition of two other shaders, combined by
229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    an {@link android.graphics.Xfermode} subclass.
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project*/
249066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class ComposeShader extends Shader {
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    /** Create a new compose shader, given shaders A, B, and a combining mode.
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        When the mode is applied, it will be given the result from shader A as its
279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "dst", and the result of from shader B as its "src".
289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        @param shaderA  The colors from this shader are seen as the "dst" by the mode
299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        @param shaderB  The colors from this shader are seen as the "src" by the mode
309066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        @param mode     The mode that combines the colors from the two shaders. If mode
319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project                        is null, then SRC_OVER is assumed.
329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    */
339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    public ComposeShader(Shader shaderA, Shader shaderB, Xfermode mode) {
349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        // FIXME Implement shader
359066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
369066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
379066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    /** Create a new compose shader, given shaders A, B, and a combining PorterDuff mode.
389066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        When the mode is applied, it will be given the result from shader A as its
399066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        "dst", and the result of from shader B as its "src".
409066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        @param shaderA  The colors from this shader are seen as the "dst" by the mode
419066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        @param shaderB  The colors from this shader are seen as the "src" by the mode
429066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        @param mode     The PorterDuff mode that combines the colors from the two shaders.
439066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    */
449066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    public ComposeShader(Shader shaderA, Shader shaderB, PorterDuff.Mode mode) {
459066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        // FIXME Implement shader
469066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
4763b2e616278c1b4284e1adbcc3936d0516083dcbXavier Ducrohet
4863b2e616278c1b4284e1adbcc3936d0516083dcbXavier Ducrohet    @Override
495e083024269e7c5bf904301a98fa6eade6fec094Xavier Ducrohet    Paint getJavaPaint() {
5063b2e616278c1b4284e1adbcc3936d0516083dcbXavier Ducrohet        return null;
5163b2e616278c1b4284e1adbcc3936d0516083dcbXavier Ducrohet    }
529066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
539066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
54