|
Android example source code file (MetricAffectingSpan.java)
The MetricAffectingSpan.java Android example source code/* * Copyright (C) 2006 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.text.style; import android.graphics.Paint; import android.text.TextPaint; /** * The classes that affect character-level text formatting in a way that * changes the width or height of characters extend this class. */ public abstract class MetricAffectingSpan extends CharacterStyle implements UpdateLayout { public abstract void updateMeasureState(TextPaint p); /** * Returns "this" for most MetricAffectingSpans, but for * MetricAffectingSpans that were generated by {@link #wrap}, * returns the underlying MetricAffectingSpan. */ @Override public MetricAffectingSpan getUnderlying() { return this; } /** * A Passthrough MetricAffectingSpan is one that * passes {@link #updateDrawState} and {@link #updateMeasureState} * calls through to the specified MetricAffectingSpan * while still being a distinct object, * and is therefore able to be attached to the same Spannable * to which the specified MetricAffectingSpan is already attached. */ /* package */ static class Passthrough extends MetricAffectingSpan { private MetricAffectingSpan mStyle; /** * Creates a new Passthrough of the specfied MetricAffectingSpan. */ public Passthrough(MetricAffectingSpan cs) { mStyle = cs; } /** * Passes updateDrawState through to the underlying MetricAffectingSpan. */ @Override public void updateDrawState(TextPaint tp) { mStyle.updateDrawState(tp); } /** * Passes updateMeasureState through to the underlying MetricAffectingSpan. */ @Override public void updateMeasureState(TextPaint tp) { mStyle.updateMeasureState(tp); } /** * Returns the MetricAffectingSpan underlying this one, or the one * underlying it if it too is a Passthrough. */ @Override public MetricAffectingSpan getUnderlying() { return mStyle.getUnderlying(); } } } Other Android examples (source code examples)Here is a short list of links related to this Android MetricAffectingSpan.java source code file: |
... this post is sponsored by my books ... | |
#1 New Release! |
FP Best Seller |
Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.
A percentage of advertising revenue from
pages under the /java/jwarehouse
URI on this website is
paid back to open source projects.