diff options
author | Xavier Ducrohet <xav@android.com> | 2010-12-23 07:16:21 -0800 |
---|---|---|
committer | Xavier Ducrohet <xav@android.com> | 2010-12-24 00:21:51 -0800 |
commit | d43909c7503e11eb335a452d296a10804bb01fd6 (patch) | |
tree | f9dc11c23a34227d094e7340a05f268032224cfc /tools/layoutlib/bridge/src/android/graphics/LayerRasterizer_Delegate.java | |
parent | 20805343296eef04081fee82fd04547f51225fe3 (diff) | |
download | frameworks_base-d43909c7503e11eb335a452d296a10804bb01fd6.zip frameworks_base-d43909c7503e11eb335a452d296a10804bb01fd6.tar.gz frameworks_base-d43909c7503e11eb335a452d296a10804bb01fd6.tar.bz2 |
LayoutLib: add support for unsupported drawing modifiers.
DrawFilter, Rasterizer, ColorFilter and MaskFilter
are not supported but we need to provide their
JNI counterparts anyway, to at least display warnings
when they are used.
Also improved the API to query Paint for Shaders
and PathEffects, and clean up some code by
moving asserts into the DelegateManager.
Change-Id: I8942514565d28576d5608c6373bda25d86d42ff2
Diffstat (limited to 'tools/layoutlib/bridge/src/android/graphics/LayerRasterizer_Delegate.java')
-rw-r--r-- | tools/layoutlib/bridge/src/android/graphics/LayerRasterizer_Delegate.java | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/tools/layoutlib/bridge/src/android/graphics/LayerRasterizer_Delegate.java b/tools/layoutlib/bridge/src/android/graphics/LayerRasterizer_Delegate.java new file mode 100644 index 0000000..132004f9 --- /dev/null +++ b/tools/layoutlib/bridge/src/android/graphics/LayerRasterizer_Delegate.java @@ -0,0 +1,66 @@ +/* + * Copyright (C) 2010 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package android.graphics; + +import com.android.layoutlib.bridge.impl.DelegateManager; + +/** + * Delegate implementing the native methods of android.graphics.LayerRasterizer + * + * Through the layoutlib_create tool, the original native methods of LayerRasterizer have + * been replaced by calls to methods of the same name in this delegate class. + * + * This class behaves like the original native implementation, but in Java, keeping previously + * native data into its own objects and mapping them to int that are sent back and forth between + * it and the original LayerRasterizer class. + * + * Because this extends {@link Rasterizer_Delegate}, there's no need to use a + * {@link DelegateManager}, as all the Shader classes will be added to the manager + * owned by {@link Rasterizer_Delegate}. + * + * @see Rasterizer_Delegate + * + */ +public class LayerRasterizer_Delegate extends Rasterizer_Delegate { + + // ---- delegate data ---- + + // ---- Public Helper methods ---- + + @Override + public boolean isSupported() { + return false; + } + + @Override + public String getSupportMessage() { + return "Layer Rasterizers are not supported."; + } + + // ---- native methods ---- + + /*package*/ static int nativeConstructor() { + LayerRasterizer_Delegate newDelegate = new LayerRasterizer_Delegate(); + return sManager.addDelegate(newDelegate); + } + + /*package*/ static void nativeAddLayer(int native_layer, int native_paint, float dx, float dy) { + + } + + // ---- Private delegate/helper methods ---- +} |