Class MTextAttributes

java.lang.Object
chemaxon.struc.graphics.MTextAttributes
All Implemented Interfaces:
Externalizable, Serializable

@PublicAPI public class MTextAttributes extends Object implements Externalizable
Text attributes. This class is immutable (constant), attributes can only be set by the constructors.
Since:
Marvin 4.1, 10/05/2005
See Also:
  • Field Details

    • DEFAULT

      public static final MTextAttributes DEFAULT
      Default attributes object.
    • A_SUBLEVEL

      public static final int A_SUBLEVEL
      Identifier of the subscript/superscript level attribute.
      See Also:
    • A_FOREGROUND

      public static final int A_FOREGROUND
      Identifier of the color attribute.
      See Also:
    • A_FONT

      public static final int A_FONT
      Identifier of the font attribute.
      See Also:
    • A_FONTFAMILY

      public static final int A_FONTFAMILY
      Identifier of the font family subattribute.
      See Also:
    • A_FONTSIZE

      public static final int A_FONTSIZE
      Identifier of the font size subattribute.
      See Also:
    • A_BOLD

      public static final int A_BOLD
      Identifier of the font's bold subattribute.
      See Also:
    • A_ITALIC

      public static final int A_ITALIC
      Identifier of the font's italic subattribute.
      See Also:
    • A_FONT_BITS

      public static final int A_FONT_BITS
      All font bits.
      See Also:
    • A_SCALE

      public static final int A_SCALE
      Identifier of the font scale attribute.
      See Also:
    • A_DX

      public static final int A_DX
      Identifier of the x shift attribute.
      See Also:
    • A_DY

      public static final int A_DY
      Identifier of the y shift attribute.
      See Also:
    • A_ALL

      public static final int A_ALL
      All identifiers.
      See Also:
    • DEFAULT_SUPERSCRIPT_SCALE

      public static final double DEFAULT_SUPERSCRIPT_SCALE
      Default value of the font scale attribute in superscripts
      See Also:
    • DEFAULT_SUPERSCRIPT_DELTAY

      public static final double DEFAULT_SUPERSCRIPT_DELTAY
      Default value of the y shift attribute in superscripts
      See Also:
    • DEFAULT_SUPERSCRIPT_SUBLEVEL

      public static final int DEFAULT_SUPERSCRIPT_SUBLEVEL
      Default value of the superscript level attribute in superscripts
      See Also:
  • Constructor Details

  • Method Details

    • getSet

      public int getSet()
      Gets the set of attributes used.
      Returns:
      the set
      See Also:
    • decode

      public MTextAttributes decode(String str, MFont deffnt, chemaxon.struc.graphics.MTextAttributes.MFontCreator fntcreator) throws IllegalArgumentException
      Reads attributes of the next section from a string.
      Parameters:
      str - the string
      deffnt - the default font
      fntcreator - the font creator
      Throws:
      IllegalArgumentException
    • decode

      public MTextAttributes decode(String str, MFont deffnt, chemaxon.struc.graphics.MTextAttributes.MFontCreator fntcreator, double fontSizeCorrection) throws IllegalArgumentException
      Reads attributes of the next section from a string.
      Parameters:
      str - the string
      deffnt - the default font
      fntcreator - the font creator
      Throws:
      IllegalArgumentException
    • getSubLevel

      public byte getSubLevel()
      Gets the subscript/superscript level.
      Returns:
      the subscript/superscript level or 0
    • getForeground

      public Color getForeground()
      Gets the foreground color.
      Returns:
      the color
    • getBaseFont

      public MFont getBaseFont()
      Gets the base font.
      Returns:
      the base font or null
    • getFontFamily

      public String getFontFamily()
      Gets the font family name.
      Returns:
      the font family name
    • getScale

      public double getScale()
      Gets the relative size of the font compared to the base font.
      Returns:
      the font scale
    • getDx

      public double getDx()
      Gets the x shift.
      Returns:
      the shift
    • getDy

      public double getDy()
      Gets the y shift.
      Returns:
      the shift
    • isDefault

      public boolean isDefault()
      Tests whether all attributes have default values.
      Returns:
      true if all attributes are null or zero, false if there is at least one nondefault property
    • isFontDefault

      public boolean isFontDefault(MFont deffnt)
      Tests whether the default font is used.
      Parameters:
      deffnt - the default font
      Returns:
      true if the default font is used, false otherwise
    • isFontRegular

      public boolean isFontRegular()
      Tests whether the default font is used.
      Returns:
      true if the default font is used, false otherwise
    • toString

      public String toString()
      Returns the string representation of the attributes.
      Overrides:
      toString in class Object
      Returns:
      the string
    • encode

      public String encode(MFont deffnt, MTextAttributes prev)
      Returns the string representation of the attributes. The returned string is written in the MRV file.
      Parameters:
      deffnt - the default font
      prev - attributes of the previous section or null
      Returns:
      the string
    • equalsNext

      public boolean equalsNext(MTextAttributes o)
      Tests whether the attributes of two neighboring sections equal or not.
      Parameters:
      o - attributes of the next section
      Returns:
      true if the attributes equals, false otherwise
    • equals

      public boolean equals(MTextAttributes o)
      Tests whether two attributes objects equal or not.
      Parameters:
      o - other attributes
      Returns:
      true if the attributes equals, false otherwise
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object
    • equals

      public boolean equals(Object o)
      Tests whether two attributes objects equal or not.
      Overrides:
      equals in class Object
      Parameters:
      o - other attributes
      Returns:
      true if the attributes equals, false otherwise
    • isCompatible

      public boolean isCompatible(MTextAttributes newCommon, MTextAttributes origCommon, MFont deffnt)
      Tests whether two attribute sets are compatible.
      Parameters:
      newCommon - the new common attributes
      origCommon - the original common attributes
      deffnt - default font
      Returns:
      true if the attribute sets equal, false otherwise
      See Also:
    • getCompatibleAttributes

      public MTextAttributes getCompatibleAttributes(MTextAttributes attr, MFont deffnt, chemaxon.struc.graphics.MTextAttributes.MFontCreator ftcreator, int set0)
      Gets the compatible attributes.
      Parameters:
      attr - the other attributes object
      deffnt - the default font
      ftcreator - the font creator
      set0 - the initial set or 0
      Returns:
      two-element array, first element is the attributes object, second element is an integer specifying the subset of attributes
      See Also:
    • createCompatible

      public MTextAttributes createCompatible(MTextAttributes newCommon, MTextAttributes origCommon, MFont deffnt, chemaxon.struc.graphics.MTextAttributes.MFontCreator ftcreator)
    • createNext

      public MTextAttributes createNext()
      Creates identical attributes for the next section.
      Returns:
      the new attributes
    • readExternal

      public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
      Specified by:
      readExternal in interface Externalizable
      Throws:
      IOException
      ClassNotFoundException
    • writeExternal

      public void writeExternal(ObjectOutput out) throws IOException
      Specified by:
      writeExternal in interface Externalizable
      Throws:
      IOException