1 /*
2  * Copyright (C) 2006 The Android Open Source Project
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  *      http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 
17 package android.text.style;
18 
19 import android.os.Parcel;
20 import android.text.Layout;
21 import android.text.ParcelableSpan;
22 import android.text.TextUtils;
23 
24 public interface AlignmentSpan extends ParagraphStyle {
getAlignment()25     Layout.Alignment getAlignment();
26 
27     class Standard implements AlignmentSpan, ParcelableSpan {
Standard(Layout.Alignment align)28         public Standard(Layout.Alignment align) {
29             mAlignment = align;
30         }
31 
Standard(Parcel src)32         public Standard(Parcel src) {
33             mAlignment = Layout.Alignment.valueOf(src.readString());
34         }
35 
getSpanTypeId()36         public int getSpanTypeId() {
37         return getSpanTypeIdInternal();
38     }
39 
40     /** @hide */
getSpanTypeIdInternal()41     public int getSpanTypeIdInternal() {
42             return TextUtils.ALIGNMENT_SPAN;
43         }
44 
describeContents()45         public int describeContents() {
46             return 0;
47         }
48 
writeToParcel(Parcel dest, int flags)49         public void writeToParcel(Parcel dest, int flags) {
50             writeToParcelInternal(dest, flags);
51         }
52 
53         /** @hide */
writeToParcelInternal(Parcel dest, int flags)54         public void writeToParcelInternal(Parcel dest, int flags) {
55             dest.writeString(mAlignment.name());
56         }
57 
getAlignment()58         public Layout.Alignment getAlignment() {
59             return mAlignment;
60         }
61 
62         private final Layout.Alignment mAlignment;
63     }
64 }
65