/* | |
* ==================================================================== | |
* Licensed to the Apache Software Foundation (ASF) under one or more | |
* contributor license agreements. See the NOTICE file distributed with | |
* this work for additional information regarding copyright ownership. | |
* The ASF licenses this file to You under the Apache License, Version 2.0 | |
* (the "License"); you may not use this file except in compliance with | |
* the License. You may obtain a copy of the License at | |
* | |
* http://www.apache.org/licenses/LICENSE-2.0 | |
* | |
* Unless required by applicable law or agreed to in writing, software | |
* distributed under the License is distributed on an "AS IS" BASIS, | |
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
* See the License for the specific language governing permissions and | |
* limitations under the License. | |
* ==================================================================== | |
*/ | |
package org.apache.poi.sl.usermodel; | |
import java.awt.Color; | |
import java.util.HashMap; | |
import java.util.Map; | |
/** | |
* Preset colors defined in DrawingML aka known/system colors | |
* | |
* @see <a href="https://msdn.microsoft.com/library/system.drawing.knowncolor.aspx">KnownColor Enumeration</a> | |
* @see <a href="https://msdn.microsoft.com/library/system.windows.media.colors.aspx">Colors Class</a> | |
*/ | |
public enum PresetColor { | |
// the order of this enum can be found in the definition of .net System.Drawing.KnownColor enumeration | |
// or by running the the program in the linked documentation | |
// default colors for theme-depending colors taken from ... (last post): | |
// https://social.technet.microsoft.com/Forums/windows/en-US/ac76cc56-6ff2-4778-b260-8141d7170a3b/windows-7-highlight-text-color-or-selected-text-color-in-aero | |
// see ST_SystemColorVal for system color names | |
/** The system-defined color of the active window's border. */ | |
ActiveBorder (0xffb4b4b4, 1, "activeBorder"), | |
/** The system-defined color of the background of the active window's title bar. */ | |
ActiveCaption (0xff99b4d1, 2, "activeCaption"), | |
/** The system-defined color of the text in the active window's title bar. */ | |
ActiveCaptionText (0xff000000, 3, "captionText"), | |
/** The application workspace is the area in a multiple-document view that is not being occupied by documents. */ | |
AppWorkspace (0xffababab, 4, "appWorkspace"), | |
/** The system-defined face color of a 3-D element. */ | |
Control (0xfff0f0f0, 5, "btnFace"), | |
/** The system-defined shadow color of a 3-D element. The shadow color is applied to parts of a 3-D element that face away from the light source. */ | |
ControlDark (0xff696969, 6, "btnShadow"), | |
/** The system-defined color that is the dark shadow color of a 3-D element. The dark shadow color is applied to the parts of a 3-D element that are the darkest color. */ | |
ControlDarkDark (0xff000000, 7, "3dDkShadow"), | |
/** The system-defined color that is the light color of a 3-D element. The light color is applied to parts of a 3-D element that face the light source. */ | |
ControlLight (0xffe3e3e3, 8, "btnHighlight"), | |
/** The system-defined highlight color of a 3-D element. The highlight color is applied to the parts of a 3-D element that are the lightest color. */ | |
ControlLightLight (0xffe3e3e3, 9, "3dLight"), | |
/** The system-defined color of text in a 3-D element. */ | |
ControlText (0xff000000, 10, "btnText"), | |
/** The system-defined color of the desktop. */ | |
Desktop (0xff000000, 11, "background"), | |
/** The system-defined color of dimmed text. Items in a list that are disabled are displayed in dimmed text. */ | |
GrayText (0xff6d6d6d, 12, "grayText"), | |
/** The system-defined color of the background of selected items. This includes selected menu items as well as selected text. */ | |
Highlight (0xff3399ff, 13, "highlight"), | |
/** The system-defined color of the text of selected items. */ | |
HighlightText (0xffffffff, 14, "highlightText"), | |
/** The system-defined color used to designate a hot-tracked item. Single-clicking a hot-tracked item executes the item. */ | |
HotTrack (0xff0066cc, 15, "hotLight"), | |
/** The system-defined color of an inactive window's border. */ | |
InactiveBorder (0xfff4f7fc, 16, "inactiveBorder"), | |
/** The system-defined color of the background of an inactive window's title bar. */ | |
InactiveCaption (0xffbfcddb, 17, "inactiveCaption"), | |
/** The system-defined color of the text in an inactive window's title bar. */ | |
InactiveCaptionText (0xff000000, 18, "inactiveCaptionText"), | |
/** The system-defined color of the background of a ToolTip. */ | |
Info (0xffffffe1, 19, "infoBk"), | |
/** The system-defined color of the text of a ToolTip. */ | |
InfoText (0xff000000, 20, "infoText"), | |
/** The system-defined color of a menu's background. */ | |
Menu (0xfff0f0f0, 21, "menu"), | |
/** The system-defined color of a menu's text. */ | |
MenuText (0xff000000, 22, "menuText"), | |
/** The system-defined color of the background of a scroll bar. */ | |
ScrollBar (0xffc8c8c8, 23, "scrollBar"), | |
/** The system-defined color of the background in the client area of a window. */ | |
Window (0xffffffff, 24, "window"), | |
/** The system-defined color of a window frame. */ | |
WindowFrame (0xff646464, 25, "windowFrame"), | |
/** The system-defined color of the text in the client area of a window. */ | |
WindowText (0xff000000, 26, "windowText"), | |
Transparent (0x00ffffff, 27, null), | |
AliceBlue (0xfff0f8ff, 28, "aliceBlue"), | |
AntiqueWhite (0xfffaebd7, 29, "antiqueWhite"), | |
Aqua (0xff00ffff, 30, "aqua"), | |
Aquamarine (0xff7fffd4, 31, "aquamarine"), | |
Azure (0xfff0ffff, 32, "azure"), | |
Beige (0xfff5f5dc, 33, "beige"), | |
Bisque (0xffffe4c4, 34, "bisque"), | |
Black (0xff000000, 35, "black"), | |
BlanchedAlmond (0xffffebcd, 36, "blanchedAlmond"), | |
Blue (0xff0000ff, 37, "blue"), | |
BlueViolet (0xff8a2be2, 38, "blueViolet"), | |
Brown (0xffa52a2a, 39, "brown"), | |
BurlyWood (0xffdeb887, 40, "burlyWood"), | |
CadetBlue (0xff5f9ea0, 41, "cadetBlue"), | |
Chartreuse (0xff7fff00, 42, "chartreuse"), | |
Chocolate (0xffd2691e, 43, "chocolate"), | |
Coral (0xffff7f50, 44, "coral"), | |
CornflowerBlue (0xff6495ed, 45, "cornflowerBlue"), | |
Cornsilk (0xfffff8dc, 46, "cornsilk"), | |
Crimson (0xffdc143c, 47, "crimson"), | |
Cyan (0xff00ffff, 48, "cyan"), | |
DarkBlue (0xff00008b, 49, "dkBlue"), | |
DarkCyan (0xff008b8b, 50, "dkCyan"), | |
DarkGoldenrod (0xffb8860b, 51, "dkGoldenrod"), | |
DarkGray (0xffa9a9a9, 52, "dkGray"), | |
DarkGreen (0xff006400, 53, "dkGreen"), | |
DarkKhaki (0xffbdb76b, 54, "dkKhaki"), | |
DarkMagenta (0xff8b008b, 55, "dkMagenta"), | |
DarkOliveGreen (0xff556b2f, 56, "dkOliveGreen"), | |
DarkOrange (0xffff8c00, 57, "dkOrange"), | |
DarkOrchid (0xff9932cc, 58, "dkOrchid"), | |
DarkRed (0xff8b0000, 59, "dkRed"), | |
DarkSalmon (0xffe9967a, 60, "dkSalmon"), | |
DarkSeaGreen (0xff8fbc8b, 61, "dkSeaGreen"), | |
DarkSlateBlue (0xff483d8b, 62, "dkSlateBlue"), | |
DarkSlateGray (0xff2f4f4f, 63, "dkSlateGray"), | |
DarkTurquoise (0xff00ced1, 64, "dkTurquoise"), | |
DarkViolet (0xff9400d3, 65, "dkViolet"), | |
DeepPink (0xffff1493, 66, "deepPink"), | |
DeepSkyBlue (0xff00bfff, 67, "deepSkyBlue"), | |
DimGray (0xff696969, 68, "dimGray"), | |
DodgerBlue (0xff1e90ff, 69, "dodgerBlue"), | |
Firebrick (0xffb22222, 70, "firebrick"), | |
FloralWhite (0xfffffaf0, 71, "floralWhite"), | |
ForestGreen (0xff228b22, 72, "forestGreen"), | |
Fuchsia (0xffff00ff, 73, "fuchsia"), | |
Gainsboro (0xffdcdcdc, 74, "gainsboro"), | |
GhostWhite (0xfff8f8ff, 75, "ghostWhite"), | |
Gold (0xffffd700, 76, "gold"), | |
Goldenrod (0xffdaa520, 77, "goldenrod"), | |
Gray (0xff808080, 78, "gray"), | |
Green (0xff008000, 79, "green"), | |
GreenYellow (0xffadff2f, 80, "greenYellow"), | |
Honeydew (0xfff0fff0, 81, "honeydew"), | |
HotPink (0xffff69b4, 82, "hotPink"), | |
IndianRed (0xffcd5c5c, 83, "indianRed"), | |
Indigo (0xff4b0082, 84, "indigo"), | |
Ivory (0xfffffff0, 85, "ivory"), | |
Khaki (0xfff0e68c, 86, "khaki"), | |
Lavender (0xffe6e6fa, 87, "lavender"), | |
LavenderBlush (0xfffff0f5, 88, "lavenderBlush"), | |
LawnGreen (0xff7cfc00, 89, "lawnGreen"), | |
LemonChiffon (0xfffffacd, 90, "lemonChiffon"), | |
LightBlue (0xffadd8e6, 91, "ltBlue"), | |
LightCoral (0xfff08080, 92, "ltCoral"), | |
LightCyan (0xffe0ffff, 93, "ltCyan"), | |
LightGoldenrodYellow (0xfffafa78, 94, "ltGoldenrodYellow"), | |
LightGray (0xffd3d3d3, 95, "ltGray"), | |
LightGreen (0xff90ee90, 96, "ltGreen"), | |
LightPink (0xffffb6c1, 97, "ltPink"), | |
LightSalmon (0xffffa07a, 98, "ltSalmon"), | |
LightSeaGreen (0xff20b2aa, 99, "ltSeaGreen"), | |
LightSkyBlue (0xff87cefa, 100, "ltSkyBlue"), | |
LightSlateGray (0xff778899, 101, "ltSlateGray"), | |
LightSteelBlue (0xffb0c4de, 102, "ltSteelBlue"), | |
LightYellow (0xffffffe0, 103, "ltYellow"), | |
Lime (0xff00ff00, 104, "lime"), | |
LimeGreen (0xff32cd32, 105, "limeGreen"), | |
Linen (0xfffaf0e6, 106, "linen"), | |
Magenta (0xffff00ff, 107, "magenta"), | |
Maroon (0xff800000, 108, "maroon"), | |
MediumAquamarine (0xff66cdaa, 109, "medAquamarine"), | |
MediumBlue (0xff0000cd, 110, "medBlue"), | |
MediumOrchid (0xffba55d3, 111, "medOrchid"), | |
MediumPurple (0xff9370db, 112, "medPurple"), | |
MediumSeaGreen (0xff3cb371, 113, "medSeaGreen"), | |
MediumSlateBlue (0xff7b68ee, 114, "medSlateBlue"), | |
MediumSpringGreen (0xff00fa9a, 115, "medSpringGreen"), | |
MediumTurquoise (0xff48d1cc, 116, "medTurquoise"), | |
MediumVioletRed (0xffc71585, 117, "medVioletRed"), | |
MidnightBlue (0xff191970, 118, "midnightBlue"), | |
MintCream (0xfff5fffa, 119, "mintCream"), | |
MistyRose (0xffffe4e1, 120, "mistyRose"), | |
Moccasin (0xffffe4b5, 121, "moccasin"), | |
NavajoWhite (0xffffdead, 122, "navajoWhite"), | |
Navy (0xff000080, 123, "navy"), | |
OldLace (0xfffdf5e6, 124, "oldLace"), | |
Olive (0xff808000, 125, "olive"), | |
OliveDrab (0xff6b8e23, 126, "oliveDrab"), | |
Orange (0xffffa500, 127, "orange"), | |
OrangeRed (0xffff4500, 128, "orangeRed"), | |
Orchid (0xffda70d6, 129, "orchid"), | |
PaleGoldenrod (0xffeee8aa, 130, "paleGoldenrod"), | |
PaleGreen (0xff98fb98, 131, "paleGreen"), | |
PaleTurquoise (0xffafeeee, 132, "paleTurquoise"), | |
PaleVioletRed (0xffdb7093, 133, "paleVioletRed"), | |
PapayaWhip (0xffffefd5, 134, "papayaWhip"), | |
PeachPuff (0xffffdab9, 135, "peachPuff"), | |
Peru (0xffcd853f, 136, "peru"), | |
Pink (0xffffc0cb, 137, "pink"), | |
Plum (0xffdda0dd, 138, "plum"), | |
PowderBlue (0xffb0e0e6, 139, "powderBlue"), | |
Purple (0xff800080, 140, "purple"), | |
Red (0xffff0000, 141, "red"), | |
RosyBrown (0xffbc8f8f, 142, "rosyBrown"), | |
RoyalBlue (0xff4169e1, 143, "royalBlue"), | |
SaddleBrown (0xff8b4513, 144, "saddleBrown"), | |
Salmon (0xfffa8072, 145, "salmon"), | |
SandyBrown (0xfff4a460, 146, "sandyBrown"), | |
SeaGreen (0xff2e8b57, 147, "seaGreen"), | |
SeaShell (0xfffff5ee, 148, "seaShell"), | |
Sienna (0xffa0522d, 149, "sienna"), | |
Silver (0xffc0c0c0, 150, "silver"), | |
SkyBlue (0xff87ceeb, 151, "skyBlue"), | |
SlateBlue (0xff6a5acd, 152, "slateBlue"), | |
SlateGray (0xff708090, 153, "slateGray"), | |
Snow (0xfffffafa, 154, "snow"), | |
SpringGreen (0xff00ff7f, 155, "springGreen"), | |
SteelBlue (0xff4682b4, 156, "steelBlue"), | |
Tan (0xffd2b48c, 157, "tan"), | |
Teal (0xff008080, 158, "teal"), | |
Thistle (0xffd8bfd8, 159, "thistle"), | |
Tomato (0xffff6347, 160, "tomato"), | |
Turquoise (0xff40e0d0, 161, "turquoise"), | |
Violet (0xffee82ee, 162, "violet"), | |
Wheat (0xfff5deb3, 163, "wheat"), | |
White (0xffffffff, 164, "white"), | |
WhiteSmoke (0xfff5f5f5, 165, "whiteSmoke"), | |
Yellow (0xffffff00, 166, "yellow"), | |
YellowGreen (0xff9acd32, 167, "yellowGreen"), | |
/** The system-defined face color of a 3-D element. */ | |
ButtonFace (0xfff0f0f0, 168, null), | |
/** The system-defined color that is the highlight color of a 3-D element. This color is applied to parts of a 3-D element that face the light source. */ | |
ButtonHighlight (0xffffffff, 169, null), | |
/** The system-defined color that is the shadow color of a 3-D element. This color is applied to parts of a 3-D element that face away from the light source. */ | |
ButtonShadow (0xffa0a0a0, 170, null), | |
/** The system-defined color of the lightest color in the color gradient of an active window's title bar. */ | |
GradientActiveCaption (0xffb9d1ea, 171, "gradientActiveCaption"), | |
/** The system-defined color of the lightest color in the color gradient of an inactive window's title bar. */ | |
GradientInactiveCaption (0xffd7e4f2, 172, "gradientInactiveCaption"), | |
/** The system-defined color of the background of a menu bar. */ | |
MenuBar (0xfff0f0f0, 173, "menuBar"), | |
/** The system-defined color used to highlight menu items when the menu appears as a flat menu. */ | |
MenuHighlight (0xff3399ff, 174, "menuHighlight") | |
; | |
public final Color color; | |
public final int nativeId; | |
public final String ooxmlId; | |
PresetColor(Integer rgb, int nativeId, String ooxmlId) { | |
this.color = (rgb == null) ? null : new Color(rgb, true); | |
this.nativeId = nativeId; | |
this.ooxmlId = ooxmlId; | |
} | |
private static final Map<String,PresetColor> lookupOoxmlId; | |
static { | |
lookupOoxmlId = new HashMap<String,PresetColor>(); | |
for(PresetColor pc : PresetColor.values()) { | |
if (pc.ooxmlId != null) { | |
lookupOoxmlId.put(pc.ooxmlId, pc); | |
} | |
} | |
} | |
public static PresetColor valueOfOoxmlId(String ooxmlId) { | |
return lookupOoxmlId.get(ooxmlId); | |
} | |
public static PresetColor valueOfNativeId(int nativeId) { | |
PresetColor vals[] = values(); | |
return (0 < nativeId && nativeId <= vals.length) ? vals[nativeId-1] : null; | |
} | |
} |