Class RMColor

  • All Implemented Interfaces:
    RMArchiver.Archiving, java.lang.Cloneable

    public class RMColor
    extends RMObject
    This class represents an RGBA color, just like Java.awt.Color. It was originally needed when running without AWT. It still has some convenience, but maybe one day should be replaced by, or just subclass, Java.awt.Color.
    • Constructor Detail

      • RMColor

        public RMColor()
        Creates a plain black opaque color.
      • RMColor

        public RMColor​(float g)
        Creates a color with the given gray value (0-1).
      • RMColor

        public RMColor​(float g,
                       float a)
        Creates a color with the given gray and alpha values (0-1).
      • RMColor

        public RMColor​(float r,
                       float g,
                       float b)
        Creates a color with the given red, green blue values (0-1).
      • RMColor

        public RMColor​(float r,
                       float g,
                       float b,
                       float a)
        Creates a color with the given red, green, blue values (0-1).
      • RMColor

        public RMColor​(float c,
                       float m,
                       float y,
                       float k,
                       float a)
        Creates a color with the given cyan, magenta, yellow, black and alpha values (0-1).
      • RMColor

        public RMColor​(java.awt.Color awt)
        Creates an RMColor from the given AWT color.
      • RMColor

        public RMColor​(java.lang.String aHexString)
        Creates a new color from the given hex string.
    • Method Detail

      • getRed

        public int getRed()
        Returns the red component in the range 0-255.
      • getGreen

        public int getGreen()
        Returns the green component in the range 0-255.
      • getBlue

        public int getBlue()
        Returns the blue component in the range 0-255.
      • getAlpha

        public int getAlpha()
        Returns the alpha component in the range 0-255.
      • getRed2D

        public float getRed2D()
        Returns the red component in the range 0-1.
      • getGreen2D

        public float getGreen2D()
        Returns the green component in the range 0-1.
      • getBlue2D

        public float getBlue2D()
        Returns the blue component in the range 0-1.
      • getAlpha2D

        public float getAlpha2D()
        Returns the alpha component in the range 0-1.
      • brighter

        public RMColor brighter()
        Returns a color 70% brighter than this color.
      • brighter

        public RMColor brighter​(float aFactor)
        Retures a color with the given percent brighter than this color.
      • darker

        public RMColor darker()
        Returns a color darker than this color (70% of this color's brightness).
      • blend

        public RMColor blend​(RMColor aColor,
                             float fraction)
        Returns a color darker than this color (by this given fraction).
      • equals

        public boolean equals​(java.lang.Object obj)
        Standar equals implementaiton.
        Overrides:
        equals in class java.lang.Object
      • toString

        public java.lang.String toString()
        Returns a string representation of this color.
        Overrides:
        toString in class java.lang.Object
      • toHexString

        public java.lang.String toHexString()
        Returns a hex string representation of this color.
      • awt

        public java.awt.Color awt()
        Returns an AWT version of this color.
      • awt

        public java.awt.Color awt​(float dissolve)
        Returns an AWT version of this color, with the alpha component scaled by the given dissolve factor.
      • colorValue

        public static RMColor colorValue​(java.lang.Object anObj)
        Returns a color value for a given object.
      • fromXML

        public java.lang.Object fromXML​(RXArchiver anArchiver,
                                        RXElement anElement)
        XML unarchival.