1ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski/* 2ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * Copyright (C) 2010 The Android Open Source Project 3ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * 4ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * Licensed under the Apache License, Version 2.0 (the "License"); 5ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * you may not use this file except in compliance with the License. 6ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * You may obtain a copy of the License at 7ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * 8ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * http://www.apache.org/licenses/LICENSE-2.0 9ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * 10ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * Unless required by applicable law or agreed to in writing, software 11ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * distributed under the License is distributed on an "AS IS" BASIS, 12ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * See the License for the specific language governing permissions and 14ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * limitations under the License. 15ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski */ 16ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski 17ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinskipackage android.graphics; 18ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski 19ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinskiimport com.android.layoutlib.bridge.impl.DelegateManager; 20ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinskiimport com.android.tools.layoutlib.annotations.LayoutlibDelegate; 21ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski 22ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski/** 23ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * Delegate implementing the native methods of android.graphics.BlurMaskFilter 24ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * 25ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * Through the layoutlib_create tool, the original native methods of BlurMaskFilter have 26ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * been replaced by calls to methods of the same name in this delegate class. 27ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * 28ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * This class behaves like the original native implementation, but in Java, keeping previously 29ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * native data into its own objects and mapping them to int that are sent back and forth between 30ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * it and the original BlurMaskFilter class. 31ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * 32ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * Because this extends {@link MaskFilter_Delegate}, there's no need to use a 33ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * {@link DelegateManager}, as all the Shader classes will be added to the manager 34ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * owned by {@link MaskFilter_Delegate}. 35ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * 36ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * @see MaskFilter_Delegate 37ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski * 38ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski */ 39ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinskipublic class BlurMaskFilter_Delegate extends MaskFilter_Delegate { 40ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski 41ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski // ---- delegate data ---- 42ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski 43ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski // ---- Public Helper methods ---- 44ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski 45ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski @Override 46ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski public boolean isSupported() { 47ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski return false; 48ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski } 49ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski 50ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski @Override 51ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski public String getSupportMessage() { 52ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski return "Blur Mask Filters are not supported."; 53ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski } 54ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski 55ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski // ---- native methods ---- 56ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski 57ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski @LayoutlibDelegate 58ec4118922fa844ef31b73d16adc76f4da4c6c8e6Narayan Kamath /*package*/ static long nativeConstructor(float radius, int style) { 59ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski BlurMaskFilter_Delegate newDelegate = new BlurMaskFilter_Delegate(); 60ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski return sManager.addNewDelegate(newDelegate); 61ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski } 62ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski 63ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski // ---- Private delegate/helper methods ---- 64ab775ecdd189b32e35b0d3f4a821502f88b03a4bAdam Lesinski} 65