/* |
|
* Copyright (c) 1997, 2013, Oracle and/or its affiliates. All rights reserved. |
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
|
* |
|
* This code is free software; you can redistribute it and/or modify it |
|
* under the terms of the GNU General Public License version 2 only, as |
|
* published by the Free Software Foundation. Oracle designates this |
|
* particular file as subject to the "Classpath" exception as provided |
|
* by Oracle in the LICENSE file that accompanied this code. |
|
* |
|
* This code is distributed in the hope that it will be useful, but WITHOUT |
|
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
|
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License |
|
* version 2 for more details (a copy is included in the LICENSE file that |
|
* accompanied this code). |
|
* |
|
* You should have received a copy of the GNU General Public License version |
|
* 2 along with this work; if not, write to the Free Software Foundation, |
|
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. |
|
* |
|
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA |
|
* or visit www.oracle.com if you need additional information or have any |
|
* questions. |
|
*/ |
|
package javax.swing.text; |
|
import java.awt.Color; |
|
import java.awt.Component; |
|
import java.awt.Toolkit; |
|
import javax.swing.Icon; |
|
/** |
|
* <p> |
|
* A collection of <em>well known</em> or common attribute keys |
|
* and methods to apply to an AttributeSet or MutableAttributeSet |
|
* to get/set the properties in a typesafe manner. |
|
* <p> |
|
* The paragraph attributes form the definition of a paragraph to be rendered. |
|
* All sizes are specified in points (such as found in postscript), a |
|
* device independent measure. |
|
* </p> |
|
* <p style="text-align:center"><img src="doc-files/paragraph.gif" |
|
* alt="Diagram shows SpaceAbove, FirstLineIndent, LeftIndent, RightIndent, |
|
* and SpaceBelow a paragraph."></p> |
|
* <p> |
|
* |
|
* @author Timothy Prinzing |
|
*/ |
|
public class StyleConstants { |
|
/** |
|
* Name of elements used to represent components. |
|
*/ |
|
public static final String ComponentElementName = "component"; |
|
/** |
|
* Name of elements used to represent icons. |
|
*/ |
|
public static final String IconElementName = "icon"; |
|
/** |
|
* Attribute name used to name the collection of |
|
* attributes. |
|
*/ |
|
public static final Object NameAttribute = new StyleConstants("name"); |
|
/** |
|
* Attribute name used to identify the resolving parent |
|
* set of attributes, if one is defined. |
|
*/ |
|
public static final Object ResolveAttribute = new StyleConstants("resolver"); |
|
/** |
|
* Attribute used to identify the model for embedded |
|
* objects that have a model view separation. |
|
*/ |
|
public static final Object ModelAttribute = new StyleConstants("model"); |
|
/** |
|
* Returns the string representation. |
|
* |
|
* @return the string |
|
*/ |
|
public String toString() { |
|
return representation; |
|
} |
|
// ---- character constants ----------------------------------- |
|
/** |
|
* Bidirectional level of a character as assigned by the Unicode bidi |
|
* algorithm. |
|
*/ |
|
public static final Object BidiLevel = new CharacterConstants("bidiLevel"); |
|
/** |
|
* Name of the font family. |
|
*/ |
|
public static final Object FontFamily = new FontConstants("family"); |
|
/** |
|
* Name of the font family. |
|
* |
|
* @since 1.5 |
|
*/ |
|
public static final Object Family = FontFamily; |
|
/** |
|
* Name of the font size. |
|
*/ |
|
public static final Object FontSize = new FontConstants("size"); |
|
/** |
|
* Name of the font size. |
|
* |
|
* @since 1.5 |
|
*/ |
|
public static final Object Size = FontSize; |
|
/** |
|
* Name of the bold attribute. |
|
*/ |
|
public static final Object Bold = new FontConstants("bold"); |
|
/** |
|
* Name of the italic attribute. |
|
*/ |
|
public static final Object Italic = new FontConstants("italic"); |
|
/** |
|
* Name of the underline attribute. |
|
*/ |
|
public static final Object Underline = new CharacterConstants("underline"); |
|
/** |
|
* Name of the Strikethrough attribute. |
|
*/ |
|
public static final Object StrikeThrough = new CharacterConstants("strikethrough"); |
|
/** |
|
* Name of the Superscript attribute. |
|
*/ |
|
public static final Object Superscript = new CharacterConstants("superscript"); |
|
/** |
|
* Name of the Subscript attribute. |
|
*/ |
|
public static final Object Subscript = new CharacterConstants("subscript"); |
|
/** |
|
* Name of the foreground color attribute. |
|
*/ |
|
public static final Object Foreground = new ColorConstants("foreground"); |
|
/** |
|
* Name of the background color attribute. |
|
*/ |
|
public static final Object Background = new ColorConstants("background"); |
|
/** |
|
* Name of the component attribute. |
|
*/ |
|
public static final Object ComponentAttribute = new CharacterConstants("component"); |
|
/** |
|
* Name of the icon attribute. |
|
*/ |
|
public static final Object IconAttribute = new CharacterConstants("icon"); |
|
/** |
|
* Name of the input method composed text attribute. The value of |
|
* this attribute is an instance of AttributedString which represents |
|
* the composed text. |
|
*/ |
|
public static final Object ComposedTextAttribute = new StyleConstants("composed text"); |
|
/** |
|
* The amount of space to indent the first |
|
* line of the paragraph. This value may be negative |
|
* to offset in the reverse direction. The type |
|
* is Float and specifies the size of the space |
|
* in points. |
|
*/ |
|
public static final Object FirstLineIndent = new ParagraphConstants("FirstLineIndent"); |
|
/** |
|
* The amount to indent the left side |
|
* of the paragraph. |
|
* Type is float and specifies the size in points. |
|
*/ |
|
public static final Object LeftIndent = new ParagraphConstants("LeftIndent"); |
|
/** |
|
* The amount to indent the right side |
|
* of the paragraph. |
|
* Type is float and specifies the size in points. |
|
*/ |
|
public static final Object RightIndent = new ParagraphConstants("RightIndent"); |
|
/** |
|
* The amount of space between lines |
|
* of the paragraph. |
|
* Type is float and specifies the size as a factor of the line height |
|
*/ |
|
public static final Object LineSpacing = new ParagraphConstants("LineSpacing"); |
|
/** |
|
* The amount of space above the paragraph. |
|
* Type is float and specifies the size in points. |
|
*/ |
|
public static final Object SpaceAbove = new ParagraphConstants("SpaceAbove"); |
|
/** |
|
* The amount of space below the paragraph. |
|
* Type is float and specifies the size in points. |
|
*/ |
|
public static final Object SpaceBelow = new ParagraphConstants("SpaceBelow"); |
|
/** |
|
* Alignment for the paragraph. The type is |
|
* Integer. Valid values are: |
|
* <ul> |
|
* <li>ALIGN_LEFT |
|
* <li>ALIGN_RIGHT |
|
* <li>ALIGN_CENTER |
|
* <li>ALIGN_JUSTIFED |
|
* </ul> |
|
* |
|
*/ |
|
public static final Object Alignment = new ParagraphConstants("Alignment"); |
|
/** |
|
* TabSet for the paragraph, type is a TabSet containing |
|
* TabStops. |
|
*/ |
|
public static final Object TabSet = new ParagraphConstants("TabSet"); |
|
/** |
|
* Orientation for a paragraph. |
|
*/ |
|
public static final Object Orientation = new ParagraphConstants("Orientation"); |
|
/** |
|
* A possible value for paragraph alignment. This |
|
* specifies that the text is aligned to the left |
|
* indent and extra whitespace should be placed on |
|
* the right. |
|
*/ |
|
public static final int ALIGN_LEFT = 0; |
|
/** |
|
* A possible value for paragraph alignment. This |
|
* specifies that the text is aligned to the center |
|
* and extra whitespace should be placed equally on |
|
* the left and right. |
|
*/ |
|
public static final int ALIGN_CENTER = 1; |
|
/** |
|
* A possible value for paragraph alignment. This |
|
* specifies that the text is aligned to the right |
|
* indent and extra whitespace should be placed on |
|
* the left. |
|
*/ |
|
public static final int ALIGN_RIGHT = 2; |
|
/** |
|
* A possible value for paragraph alignment. This |
|
* specifies that extra whitespace should be spread |
|
* out through the rows of the paragraph with the |
|
* text lined up with the left and right indent |
|
* except on the last line which should be aligned |
|
* to the left. |
|
*/ |
|
public static final int ALIGN_JUSTIFIED = 3; |
|
// --- character attribute accessors --------------------------- |
|
/** |
|
* Gets the BidiLevel setting. |
|
* |
|
* @param a the attribute set |
|
* @return the value |
|
*/ |
|
public static int getBidiLevel(AttributeSet a) { |
|
Integer o = (Integer) a.getAttribute(BidiLevel); |
|
if (o != null) { |
|
return o.intValue(); |
|
} |
|
return 0; // Level 0 is base level (non-embedded) left-to-right |
|
} |
|
/** |
|
* Sets the BidiLevel. |
|
* |
|
* @param a the attribute set |
|
* @param o the bidi level value |
|
*/ |
|
public static void setBidiLevel(MutableAttributeSet a, int o) { |
|
a.addAttribute(BidiLevel, Integer.valueOf(o)); |
|
} |
|
/** |
|
* Gets the component setting from the attribute list. |
|
* |
|
* @param a the attribute set |
|
* @return the component, null if none |
|
*/ |
|
public static Component getComponent(AttributeSet a) { |
|
return (Component) a.getAttribute(ComponentAttribute); |
|
} |
|
/** |
|
* Sets the component attribute. |
|
* |
|
* @param a the attribute set |
|
* @param c the component |
|
*/ |
|
public static void setComponent(MutableAttributeSet a, Component c) { |
|
a.addAttribute(AbstractDocument.ElementNameAttribute, ComponentElementName); |
|
a.addAttribute(ComponentAttribute, c); |
|
} |
|
/** |
|
* Gets the icon setting from the attribute list. |
|
* |
|
* @param a the attribute set |
|
* @return the icon, null if none |
|
*/ |
|
public static Icon getIcon(AttributeSet a) { |
|
return (Icon) a.getAttribute(IconAttribute); |
|
} |
|
/** |
|
* Sets the icon attribute. |
|
* |
|
* @param a the attribute set |
|
* @param c the icon |
|
*/ |
|
public static void setIcon(MutableAttributeSet a, Icon c) { |
|
a.addAttribute(AbstractDocument.ElementNameAttribute, IconElementName); |
|
a.addAttribute(IconAttribute, c); |
|
} |
|
/** |
|
* Gets the font family setting from the attribute list. |
|
* |
|
* @param a the attribute set |
|
* @return the font family, "Monospaced" as the default |
|
*/ |
|
public static String getFontFamily(AttributeSet a) { |
|
String family = (String) a.getAttribute(FontFamily); |
|
if (family == null) { |
|
family = "Monospaced"; |
|
} |
|
return family; |
|
} |
|
/** |
|
* Sets the font attribute. |
|
* |
|
* @param a the attribute set |
|
* @param fam the font |
|
*/ |
|
public static void setFontFamily(MutableAttributeSet a, String fam) { |
|
a.addAttribute(FontFamily, fam); |
|
} |
|
/** |
|
* Gets the font size setting from the attribute list. |
|
* |
|
* @param a the attribute set |
|
* @return the font size, 12 as the default |
|
*/ |
|
public static int getFontSize(AttributeSet a) { |
|
Integer size = (Integer) a.getAttribute(FontSize); |
|
if (size != null) { |
|
return size.intValue(); |
|
} |
|
return 12; |
|
} |
|
/** |
|
* Sets the font size attribute. |
|
* |
|
* @param a the attribute set |
|
* @param s the font size |
|
*/ |
|
public static void setFontSize(MutableAttributeSet a, int s) { |
|
a.addAttribute(FontSize, Integer.valueOf(s)); |
|
} |
|
/** |
|
* Checks whether the bold attribute is set. |
|
* |
|
* @param a the attribute set |
|
* @return true if set else false |
|
*/ |
|
public static boolean isBold(AttributeSet a) { |
|
Boolean bold = (Boolean) a.getAttribute(Bold); |
|
if (bold != null) { |
|
return bold.booleanValue(); |
|
} |
|
return false; |
|
} |
|
/** |
|
* Sets the bold attribute. |
|
* |
|
* @param a the attribute set |
|
* @param b specifies true/false for setting the attribute |
|
*/ |
|
public static void setBold(MutableAttributeSet a, boolean b) { |
|
a.addAttribute(Bold, Boolean.valueOf(b)); |
|
} |
|
/** |
|
* Checks whether the italic attribute is set. |
|
* |
|
* @param a the attribute set |
|
* @return true if set else false |
|
*/ |
|
public static boolean isItalic(AttributeSet a) { |
|
Boolean italic = (Boolean) a.getAttribute(Italic); |
|
if (italic != null) { |
|
return italic.booleanValue(); |
|
} |
|
return false; |
|
} |
|
/** |
|
* Sets the italic attribute. |
|
* |
|
* @param a the attribute set |
|
* @param b specifies true/false for setting the attribute |
|
*/ |
|
public static void setItalic(MutableAttributeSet a, boolean b) { |
|
a.addAttribute(Italic, Boolean.valueOf(b)); |
|
} |
|
/** |
|
* Checks whether the underline attribute is set. |
|
* |
|
* @param a the attribute set |
|
* @return true if set else false |
|
*/ |
|
public static boolean isUnderline(AttributeSet a) { |
|
Boolean underline = (Boolean) a.getAttribute(Underline); |
|
if (underline != null) { |
|
return underline.booleanValue(); |
|
} |
|
return false; |
|
} |
|
/** |
|
* Checks whether the strikethrough attribute is set. |
|
* |
|
* @param a the attribute set |
|
* @return true if set else false |
|
*/ |
|
public static boolean isStrikeThrough(AttributeSet a) { |
|
Boolean strike = (Boolean) a.getAttribute(StrikeThrough); |
|
if (strike != null) { |
|
return strike.booleanValue(); |
|
} |
|
return false; |
|
} |
|
/** |
|
* Checks whether the superscript attribute is set. |
|
* |
|
* @param a the attribute set |
|
* @return true if set else false |
|
*/ |
|
public static boolean isSuperscript(AttributeSet a) { |
|
Boolean superscript = (Boolean) a.getAttribute(Superscript); |
|
if (superscript != null) { |
|
return superscript.booleanValue(); |
|
} |
|
return false; |
|
} |
|
/** |
|
* Checks whether the subscript attribute is set. |
|
* |
|
* @param a the attribute set |
|
* @return true if set else false |
|
*/ |
|
public static boolean isSubscript(AttributeSet a) { |
|
Boolean subscript = (Boolean) a.getAttribute(Subscript); |
|
if (subscript != null) { |
|
return subscript.booleanValue(); |
|
} |
|
return false; |
|
} |
|
/** |
|
* Sets the underline attribute. |
|
* |
|
* @param a the attribute set |
|
* @param b specifies true/false for setting the attribute |
|
*/ |
|
public static void setUnderline(MutableAttributeSet a, boolean b) { |
|
a.addAttribute(Underline, Boolean.valueOf(b)); |
|
} |
|
/** |
|
* Sets the strikethrough attribute. |
|
* |
|
* @param a the attribute set |
|
* @param b specifies true/false for setting the attribute |
|
*/ |
|
public static void setStrikeThrough(MutableAttributeSet a, boolean b) { |
|
a.addAttribute(StrikeThrough, Boolean.valueOf(b)); |
|
} |
|
/** |
|
* Sets the superscript attribute. |
|
* |
|
* @param a the attribute set |
|
* @param b specifies true/false for setting the attribute |
|
*/ |
|
public static void setSuperscript(MutableAttributeSet a, boolean b) { |
|
a.addAttribute(Superscript, Boolean.valueOf(b)); |
|
} |
|
/** |
|
* Sets the subscript attribute. |
|
* |
|
* @param a the attribute set |
|
* @param b specifies true/false for setting the attribute |
|
*/ |
|
public static void setSubscript(MutableAttributeSet a, boolean b) { |
|
a.addAttribute(Subscript, Boolean.valueOf(b)); |
|
} |
|
/** |
|
* Gets the foreground color setting from the attribute list. |
|
* |
|
* @param a the attribute set |
|
* @return the color, Color.black as the default |
|
*/ |
|
public static Color getForeground(AttributeSet a) { |
|
Color fg = (Color) a.getAttribute(Foreground); |
|
if (fg == null) { |
|
fg = Color.black; |
|
} |
|
return fg; |
|
} |
|
/** |
|
* Sets the foreground color. |
|
* |
|
* @param a the attribute set |
|
* @param fg the color |
|
*/ |
|
public static void setForeground(MutableAttributeSet a, Color fg) { |
|
a.addAttribute(Foreground, fg); |
|
} |
|
/** |
|
* Gets the background color setting from the attribute list. |
|
* |
|
* @param a the attribute set |
|
* @return the color, Color.black as the default |
|
*/ |
|
public static Color getBackground(AttributeSet a) { |
|
Color fg = (Color) a.getAttribute(Background); |
|
if (fg == null) { |
|
fg = Color.black; |
|
} |
|
return fg; |
|
} |
|
/** |
|
* Sets the background color. |
|
* |
|
* @param a the attribute set |
|
* @param fg the color |
|
*/ |
|
public static void setBackground(MutableAttributeSet a, Color fg) { |
|
a.addAttribute(Background, fg); |
|
} |
|
// --- paragraph attribute accessors ---------------------------- |
|
/** |
|
* Gets the first line indent setting. |
|
* |
|
* @param a the attribute set |
|
* @return the value, 0 if not set |
|
*/ |
|
public static float getFirstLineIndent(AttributeSet a) { |
|
Float indent = (Float) a.getAttribute(FirstLineIndent); |
|
if (indent != null) { |
|
return indent.floatValue(); |
|
} |
|
return 0; |
|
} |
|
/** |
|
* Sets the first line indent. |
|
* |
|
* @param a the attribute set |
|
* @param i the value |
|
*/ |
|
public static void setFirstLineIndent(MutableAttributeSet a, float i) { |
|
a.addAttribute(FirstLineIndent, new Float(i)); |
|
} |
|
/** |
|
* Gets the right indent setting. |
|
* |
|
* @param a the attribute set |
|
* @return the value, 0 if not set |
|
*/ |
|
public static float getRightIndent(AttributeSet a) { |
|
Float indent = (Float) a.getAttribute(RightIndent); |
|
if (indent != null) { |
|
return indent.floatValue(); |
|
} |
|
return 0; |
|
} |
|
/** |
|
* Sets right indent. |
|
* |
|
* @param a the attribute set |
|
* @param i the value |
|
*/ |
|
public static void setRightIndent(MutableAttributeSet a, float i) { |
|
a.addAttribute(RightIndent, new Float(i)); |
|
} |
|
/** |
|
* Gets the left indent setting. |
|
* |
|
* @param a the attribute set |
|
* @return the value, 0 if not set |
|
*/ |
|
public static float getLeftIndent(AttributeSet a) { |
|
Float indent = (Float) a.getAttribute(LeftIndent); |
|
if (indent != null) { |
|
return indent.floatValue(); |
|
} |
|
return 0; |
|
} |
|
/** |
|
* Sets left indent. |
|
* |
|
* @param a the attribute set |
|
* @param i the value |
|
*/ |
|
public static void setLeftIndent(MutableAttributeSet a, float i) { |
|
a.addAttribute(LeftIndent, new Float(i)); |
|
} |
|
/** |
|
* Gets the line spacing setting. |
|
* |
|
* @param a the attribute set |
|
* @return the value, 0 if not set |
|
*/ |
|
public static float getLineSpacing(AttributeSet a) { |
|
Float space = (Float) a.getAttribute(LineSpacing); |
|
if (space != null) { |
|
return space.floatValue(); |
|
} |
|
return 0; |
|
} |
|
/** |
|
* Sets line spacing. |
|
* |
|
* @param a the attribute set |
|
* @param i the value |
|
*/ |
|
public static void setLineSpacing(MutableAttributeSet a, float i) { |
|
a.addAttribute(LineSpacing, new Float(i)); |
|
} |
|
/** |
|
* Gets the space above setting. |
|
* |
|
* @param a the attribute set |
|
* @return the value, 0 if not set |
|
*/ |
|
public static float getSpaceAbove(AttributeSet a) { |
|
Float space = (Float) a.getAttribute(SpaceAbove); |
|
if (space != null) { |
|
return space.floatValue(); |
|
} |
|
return 0; |
|
} |
|
/** |
|
* Sets space above. |
|
* |
|
* @param a the attribute set |
|
* @param i the value |
|
*/ |
|
public static void setSpaceAbove(MutableAttributeSet a, float i) { |
|
a.addAttribute(SpaceAbove, new Float(i)); |
|
} |
|
/** |
|
* Gets the space below setting. |
|
* |
|
* @param a the attribute set |
|
* @return the value, 0 if not set |
|
*/ |
|
public static float getSpaceBelow(AttributeSet a) { |
|
Float space = (Float) a.getAttribute(SpaceBelow); |
|
if (space != null) { |
|
return space.floatValue(); |
|
} |
|
return 0; |
|
} |
|
/** |
|
* Sets space below. |
|
* |
|
* @param a the attribute set |
|
* @param i the value |
|
*/ |
|
public static void setSpaceBelow(MutableAttributeSet a, float i) { |
|
a.addAttribute(SpaceBelow, new Float(i)); |
|
} |
|
/** |
|
* Gets the alignment setting. |
|
* |
|
* @param a the attribute set |
|
* @return the value <code>StyleConstants.ALIGN_LEFT</code> if not set |
|
*/ |
|
public static int getAlignment(AttributeSet a) { |
|
Integer align = (Integer) a.getAttribute(Alignment); |
|
if (align != null) { |
|
return align.intValue(); |
|
} |
|
return ALIGN_LEFT; |
|
} |
|
/** |
|
* Sets alignment. |
|
* |
|
* @param a the attribute set |
|
* @param align the alignment value |
|
*/ |
|
public static void setAlignment(MutableAttributeSet a, int align) { |
|
a.addAttribute(Alignment, Integer.valueOf(align)); |
|
} |
|
/** |
|
* Gets the TabSet. |
|
* |
|
* @param a the attribute set |
|
* @return the <code>TabSet</code> |
|
*/ |
|
public static TabSet getTabSet(AttributeSet a) { |
|
TabSet tabs = (TabSet)a.getAttribute(TabSet); |
|
// PENDING: should this return a default? |
|
return tabs; |
|
} |
|
/** |
|
* Sets the TabSet. |
|
* |
|
* @param a the attribute set. |
|
* @param tabs the TabSet |
|
*/ |
|
public static void setTabSet(MutableAttributeSet a, TabSet tabs) { |
|
a.addAttribute(TabSet, tabs); |
|
} |
|
// --- privates --------------------------------------------- |
|
static Object[] keys = { |
|
NameAttribute, ResolveAttribute, BidiLevel, |
|
FontFamily, FontSize, Bold, Italic, Underline, |
|
StrikeThrough, Superscript, Subscript, Foreground, |
|
Background, ComponentAttribute, IconAttribute, |
|
FirstLineIndent, LeftIndent, RightIndent, LineSpacing, |
|
SpaceAbove, SpaceBelow, Alignment, TabSet, Orientation, |
|
ModelAttribute, ComposedTextAttribute |
|
}; |
|
StyleConstants(String representation) { |
|
this.representation = representation; |
|
} |
|
private String representation; |
|
/** |
|
* This is a typesafe enumeration of the <em>well-known</em> |
|
* attributes that contribute to a paragraph style. These are |
|
* aliased by the outer class for general presentation. |
|
*/ |
|
public static class ParagraphConstants extends StyleConstants |
|
implements AttributeSet.ParagraphAttribute { |
|
private ParagraphConstants(String representation) { |
|
super(representation); |
|
} |
|
} |
|
/** |
|
* This is a typesafe enumeration of the <em>well-known</em> |
|
* attributes that contribute to a character style. These are |
|
* aliased by the outer class for general presentation. |
|
*/ |
|
public static class CharacterConstants extends StyleConstants |
|
implements AttributeSet.CharacterAttribute { |
|
private CharacterConstants(String representation) { |
|
super(representation); |
|
} |
|
} |
|
/** |
|
* This is a typesafe enumeration of the <em>well-known</em> |
|
* attributes that contribute to a color. These are aliased |
|
* by the outer class for general presentation. |
|
*/ |
|
public static class ColorConstants extends StyleConstants |
|
implements AttributeSet.ColorAttribute, AttributeSet.CharacterAttribute { |
|
private ColorConstants(String representation) { |
|
super(representation); |
|
} |
|
} |
|
/** |
|
* This is a typesafe enumeration of the <em>well-known</em> |
|
* attributes that contribute to a font. These are aliased |
|
* by the outer class for general presentation. |
|
*/ |
|
public static class FontConstants extends StyleConstants |
|
implements AttributeSet.FontAttribute, AttributeSet.CharacterAttribute { |
|
private FontConstants(String representation) { |
|
super(representation); |
|
} |
|
} |
|
} |