public class XSSFColor extends ExtendedColor
Constructor and Description |
---|
XSSFColor()
Deprecated.
as of 4.0.0, we want to have the indexed map, and all calling contexts have access to it.
|
XSSFColor(byte[] rgb,
IndexedColorMap colorMap) |
XSSFColor(java.awt.Color clr)
Deprecated.
3.17 beta 1 - pass the workbook styles indexed color map, if any
|
XSSFColor(java.awt.Color clr,
IndexedColorMap map)
TEST ONLY
|
XSSFColor(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor color)
Deprecated.
3.17 beta 1 - pass the workbook styles indexed color map, if any
|
XSSFColor(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor color,
IndexedColorMap map)
Deprecated.
4.0.0 - use the factory
from(CTColor, IndexedColorMap) method instead to check for null CTColor instances. Make private eventually |
XSSFColor(IndexedColorMap colorMap)
new color with the given indexed color map
|
XSSFColor(IndexedColors indexedColor,
IndexedColorMap colorMap) |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object o) |
static XSSFColor |
from(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor color,
IndexedColorMap map) |
byte[] |
getARGB()
Standard Alpha Red Green Blue ctColor value (ARGB).
|
org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor |
getCTColor()
Returns the underlying XML bean
|
short |
getIndex()
Indexed ctColor value.
|
short |
getIndexed() |
protected byte[] |
getIndexedRGB() |
byte[] |
getRGB()
Standard Red Green Blue ctColor value (RGB).
|
protected byte[] |
getStoredRBG() |
int |
getTheme()
Index into the
|
double |
getTint()
Specifies the tint value applied to the ctColor.
|
boolean |
hasAlpha() |
int |
hashCode() |
boolean |
hasTint() |
boolean |
isAuto()
A boolean value indicating the ctColor is automatic and system ctColor dependent.
|
boolean |
isIndexed()
A boolean value indicating the ctColor is Indexed
|
boolean |
isRGB() |
boolean |
isThemed() |
void |
setAuto(boolean auto) |
void |
setIndexed(int indexed)
Indexed ctColor value.
|
void |
setRGB(byte[] rgb)
Standard Alpha Red Green Blue ctColor value (ARGB).
|
void |
setTheme(int theme)
Index into the
|
void |
setTint(double tint)
Specifies the tint value applied to the ctColor.
|
static XSSFColor |
toXSSFColor(Color color)
Checked type cast color to an XSSFColor.
|
getARGBHex, getRGBOrARGB, getRGBWithTint, setARGBHex, setColor
@Deprecated @Removal(version="4.2") public XSSFColor(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor color)
color
- The CTColor
to use as color-value.@Deprecated @Removal(version="4.2") public XSSFColor(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor color, IndexedColorMap map)
from(CTColor, IndexedColorMap)
method instead to check for null CTColor instances. Make private eventuallycolor
- The CTColor
to use as color-value.map
- The IndexedColorMap to use instead of the default one@Deprecated @Removal(version="4.2") public XSSFColor()
public XSSFColor(IndexedColorMap colorMap)
colorMap
- @Deprecated @Removal(version="4.2") public XSSFColor(java.awt.Color clr)
clr
- awt Colorpublic XSSFColor(java.awt.Color clr, IndexedColorMap map)
clr
- awt Colormap
- public XSSFColor(byte[] rgb, IndexedColorMap colorMap)
rgb
- The RGB-byte-values for the ColorcolorMap
- The IndexedColorMap to use instead of the default onepublic XSSFColor(IndexedColors indexedColor, IndexedColorMap colorMap)
indexedColor
- color index (Enum named for default colors)colorMap
- The IndexedColorMap to use instead of the default onepublic static XSSFColor from(org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor color, IndexedColorMap map)
color
- map
- public boolean isAuto()
isAuto
in class ExtendedColor
public void setAuto(boolean auto)
auto
- true if the ctColor is automatic and system ctColor dependent.public boolean isIndexed()
isIndexed
in class ExtendedColor
public boolean isRGB()
isRGB
in class ExtendedColor
public boolean isThemed()
isThemed
in class ExtendedColor
public boolean hasAlpha()
public boolean hasTint()
public short getIndex()
getIndex
in class ExtendedColor
ExtendedColor.isIndexed()
is truepublic short getIndexed()
public void setIndexed(int indexed)
indexed
- color indexpublic byte[] getRGB()
getRGB
in class ExtendedColor
public byte[] getARGB()
getARGB
in class ExtendedColor
protected byte[] getStoredRBG()
getStoredRBG
in class ExtendedColor
protected byte[] getIndexedRGB()
getIndexedRGB
in class ExtendedColor
ExtendedColor.isIndexed()
== true, null if not indexed or index is invalidpublic void setRGB(byte[] rgb)
setRGB
in class ExtendedColor
rgb
- bytespublic int getTheme()
getTheme
in class ExtendedColor
ExtendedColor.isThemed()
is truepublic void setTheme(int theme)
theme
- indexpublic double getTint()
If tint is supplied, then it is applied to the RGB value of the ctColor to determine the final ctColor applied.
The tint value is stored as a double from -1.0 .. 1.0, where -1.0 means 100% darken and 1.0 means 100% lighten. Also, 0.0 means no change.
In loading the RGB value, it is converted to HLS where HLS values are (0..HLSMAX), where HLSMAX is currently 255.
Here are some examples of how to apply tint to ctColor:If (tint < 0) Lum' = Lum * (1.0 + tint) For example: Lum = 200; tint = -0.5; Darken 50% Lum' = 200 * (0.5) => 100 For example: Lum = 200; tint = -1.0; Darken 100% (make black) Lum' = 200 * (1.0-1.0) => 0 If (tint > 0) Lum' = Lum * (1.0-tint) + (HLSMAX - HLSMAX * (1.0-tint)) For example: Lum = 100; tint = 0.75; Lighten 75% Lum' = 100 * (1-.75) + (HLSMAX - HLSMAX*(1-.75)) = 100 * .25 + (255 - 255 * .25) = 25 + (255 - 63) = 25 + 192 = 217 For example: Lum = 100; tint = 1.0; Lighten 100% (make white) Lum' = 100 * (1-1) + (HLSMAX - HLSMAX*(1-1)) = 100 * 0 + (255 - 255 * 0) = 0 + (255 - 0) = 255
getTint
in class ExtendedColor
public void setTint(double tint)
If tint is supplied, then it is applied to the RGB value of the ctColor to determine the final ctColor applied.
The tint value is stored as a double from -1.0 .. 1.0, where -1.0 means 100% darken and 1.0 means 100% lighten. Also, 0.0 means no change.
In loading the RGB value, it is converted to HLS where HLS values are (0..HLSMAX), where HLSMAX is currently 255.
Here are some examples of how to apply tint to ctColor:If (tint < 0) Lum' = Lum * (1.0 + tint) For example: Lum = 200; tint = -0.5; Darken 50% Lum' = 200 * (0.5) => 100 For example: Lum = 200; tint = -1.0; Darken 100% (make black) Lum' = 200 * (1.0-1.0) => 0 If (tint > 0) Lum' = Lum * (1.0-tint) + (HLSMAX - HLSMAX * (1.0-tint)) For example: Lum = 100; tint = 0.75; Lighten 75% Lum' = 100 * (1-.75) + (HLSMAX - HLSMAX*(1-.75)) = 100 * .25 + (255 - 255 * .25) = 25 + (255 - 63) = 25 + 192 = 217 For example: Lum = 100; tint = 1.0; Lighten 100% (make white) Lum' = 100 * (1-1) + (HLSMAX - HLSMAX*(1-1)) = 100 * 0 + (255 - 255 * 0) = 0 + (255 - 0) = 255
setTint
in class ExtendedColor
tint
- the tint value@Internal public org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor getCTColor()
public static XSSFColor toXSSFColor(Color color)
color
- the color to type castjava.lang.IllegalArgumentException
- if color is null or is not an instance of XSSFColorpublic int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
Copyright 2018 The Apache Software Foundation or its licensors, as applicable.