001: /* ====================================================================
002: Licensed to the Apache Software Foundation (ASF) under one or more
003: contributor license agreements. See the NOTICE file distributed with
004: this work for additional information regarding copyright ownership.
005: The ASF licenses this file to You under the Apache License, Version 2.0
006: (the "License"); you may not use this file except in compliance with
007: the License. You may obtain a copy of the License at
008:
009: http://www.apache.org/licenses/LICENSE-2.0
010:
011: Unless required by applicable law or agreed to in writing, software
012: distributed under the License is distributed on an "AS IS" BASIS,
013: WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014: See the License for the specific language governing permissions and
015: limitations under the License.
016: ==================================================================== */
017: package org.apache.poi.hslf.model;
018:
019: import org.apache.poi.hslf.exceptions.HSLFException;
020:
021: import java.util.HashMap;
022: import java.lang.reflect.Field;
023:
024: /**
025: * Contains all known shape types in PowerPoint
026: *
027: * @author Yegor Kozlov
028: */
029: public class ShapeTypes {
030: public static final int NotPrimitive = 0;
031: public static final int Rectangle = 1;
032: public static final int RoundRectangle = 2;
033: public static final int Ellipse = 3;
034: public static final int Diamond = 4;
035: public static final int IsocelesTriangle = 5;
036: public static final int RightTriangle = 6;
037: public static final int Parallelogram = 7;
038: public static final int Trapezoid = 8;
039: public static final int Hexagon = 9;
040: public static final int Octagon = 10;
041: public static final int Plus = 11;
042: public static final int Star = 12;
043: public static final int Arrow = 13;
044: public static final int ThickArrow = 14;
045: public static final int HomePlate = 15;
046: public static final int Cube = 16;
047: public static final int Balloon = 17;
048: public static final int Seal = 18;
049: public static final int Arc = 19;
050: public static final int Line = 20;
051: public static final int Plaque = 21;
052: public static final int Can = 22;
053: public static final int Donut = 23;
054: public static final int TextSimple = 24;
055: public static final int TextOctagon = 25;
056: public static final int TextHexagon = 26;
057: public static final int TextCurve = 27;
058: public static final int TextWave = 28;
059: public static final int TextRing = 29;
060: public static final int TextOnCurve = 30;
061: public static final int TextOnRing = 31;
062: public static final int StraightConnector1 = 32;
063: public static final int BentConnector2 = 33;
064: public static final int BentConnector3 = 34;
065: public static final int BentConnector4 = 35;
066: public static final int BentConnector5 = 36;
067: public static final int CurvedConnector2 = 37;
068: public static final int CurvedConnector3 = 38;
069: public static final int CurvedConnector4 = 39;
070: public static final int CurvedConnector5 = 40;
071: public static final int Callout1 = 41;
072: public static final int Callout2 = 42;
073: public static final int Callout3 = 43;
074: public static final int AccentCallout1 = 44;
075: public static final int AccentCallout2 = 45;
076: public static final int AccentCallout3 = 46;
077: public static final int BorderCallout1 = 47;
078: public static final int BorderCallout2 = 48;
079: public static final int BorderCallout3 = 49;
080: public static final int AccentBorderCallout1 = 50;
081: public static final int AccentBorderCallout2 = 51;
082: public static final int AccentBorderCallout3 = 52;
083: public static final int Ribbon = 53;
084: public static final int Ribbon2 = 54;
085: public static final int Chevron = 55;
086: public static final int Pentagon = 56;
087: public static final int NoSmoking = 57;
088: public static final int Star8 = 58;
089: public static final int Star16 = 59;
090: public static final int Star32 = 60;
091: public static final int WedgeRectCallout = 61;
092: public static final int WedgeRRectCallout = 62;
093: public static final int WedgeEllipseCallout = 63;
094: public static final int Wave = 64;
095: public static final int FoldedCorner = 65;
096: public static final int LeftArrow = 66;
097: public static final int DownArrow = 67;
098: public static final int UpArrow = 68;
099: public static final int LeftRightArrow = 69;
100: public static final int UpDownArrow = 70;
101: public static final int IrregularSeal1 = 71;
102: public static final int IrregularSeal2 = 72;
103: public static final int LightningBolt = 73;
104: public static final int Heart = 74;
105: public static final int PictureFrame = 75;
106: public static final int QuadArrow = 76;
107: public static final int LeftArrowCallout = 77;
108: public static final int RightArrowCallout = 78;
109: public static final int UpArrowCallout = 79;
110: public static final int DownArrowCallout = 80;
111: public static final int LeftRightArrowCallout = 81;
112: public static final int UpDownArrowCallout = 82;
113: public static final int QuadArrowCallout = 83;
114: public static final int Bevel = 84;
115: public static final int LeftBracket = 85;
116: public static final int RightBracket = 86;
117: public static final int LeftBrace = 87;
118: public static final int RightBrace = 88;
119: public static final int LeftUpArrow = 89;
120: public static final int BentUpArrow = 90;
121: public static final int BentArrow = 91;
122: public static final int Star24 = 92;
123: public static final int StripedRightArrow = 93;
124: public static final int NotchedRightArrow = 94;
125: public static final int BlockArc = 95;
126: public static final int SmileyFace = 96;
127: public static final int VerticalScroll = 97;
128: public static final int HorizontalScroll = 98;
129: public static final int CircularArrow = 99;
130: public static final int NotchedCircularArrow = 100;
131: public static final int UturnArrow = 101;
132: public static final int CurvedRightArrow = 102;
133: public static final int CurvedLeftArrow = 103;
134: public static final int CurvedUpArrow = 104;
135: public static final int CurvedDownArrow = 105;
136: public static final int CloudCallout = 106;
137: public static final int EllipseRibbon = 107;
138: public static final int EllipseRibbon2 = 108;
139: public static final int FlowChartProcess = 109;
140: public static final int FlowChartDecision = 110;
141: public static final int FlowChartInputOutput = 111;
142: public static final int FlowChartPredefinedProcess = 112;
143: public static final int FlowChartInternalStorage = 113;
144: public static final int FlowChartDocument = 114;
145: public static final int FlowChartMultidocument = 115;
146: public static final int FlowChartTerminator = 116;
147: public static final int FlowChartPreparation = 117;
148: public static final int FlowChartManualInput = 118;
149: public static final int FlowChartManualOperation = 119;
150: public static final int FlowChartConnector = 120;
151: public static final int FlowChartPunchedCard = 121;
152: public static final int FlowChartPunchedTape = 122;
153: public static final int FlowChartSummingJunction = 123;
154: public static final int FlowChartOr = 124;
155: public static final int FlowChartCollate = 125;
156: public static final int FlowChartSort = 126;
157: public static final int FlowChartExtract = 127;
158: public static final int FlowChartMerge = 128;
159: public static final int FlowChartOfflineStorage = 129;
160: public static final int FlowChartOnlineStorage = 130;
161: public static final int FlowChartMagneticTape = 131;
162: public static final int FlowChartMagneticDisk = 132;
163: public static final int FlowChartMagneticDrum = 133;
164: public static final int FlowChartDisplay = 134;
165: public static final int FlowChartDelay = 135;
166: public static final int TextPlainText = 136;
167: public static final int TextStop = 137;
168: public static final int TextTriangle = 138;
169: public static final int TextTriangleInverted = 139;
170: public static final int TextChevron = 140;
171: public static final int TextChevronInverted = 141;
172: public static final int TextRingInside = 142;
173: public static final int TextRingOutside = 143;
174: public static final int TextArchUpCurve = 144;
175: public static final int TextArchDownCurve = 145;
176: public static final int TextCircleCurve = 146;
177: public static final int TextButtonCurve = 147;
178: public static final int TextArchUpPour = 148;
179: public static final int TextArchDownPour = 149;
180: public static final int TextCirclePour = 150;
181: public static final int TextButtonPour = 151;
182: public static final int TextCurveUp = 152;
183: public static final int TextCurveDown = 153;
184: public static final int TextCascadeUp = 154;
185: public static final int TextCascadeDown = 155;
186: public static final int TextWave1 = 156;
187: public static final int TextWave2 = 157;
188: public static final int TextWave3 = 158;
189: public static final int TextWave4 = 159;
190: public static final int TextInflate = 160;
191: public static final int TextDeflate = 161;
192: public static final int TextInflateBottom = 162;
193: public static final int TextDeflateBottom = 163;
194: public static final int TextInflateTop = 164;
195: public static final int TextDeflateTop = 165;
196: public static final int TextDeflateInflate = 166;
197: public static final int TextDeflateInflateDeflate = 167;
198: public static final int TextFadeRight = 168;
199: public static final int TextFadeLeft = 169;
200: public static final int TextFadeUp = 170;
201: public static final int TextFadeDown = 171;
202: public static final int TextSlantUp = 172;
203: public static final int TextSlantDown = 173;
204: public static final int TextCanUp = 174;
205: public static final int TextCanDown = 175;
206: public static final int FlowChartAlternateProcess = 176;
207: public static final int FlowChartOffpageConnector = 177;
208: public static final int Callout90 = 178;
209: public static final int AccentCallout90 = 179;
210: public static final int BorderCallout90 = 180;
211: public static final int AccentBorderCallout90 = 181;
212: public static final int LeftRightUpArrow = 182;
213: public static final int Sun = 183;
214: public static final int Moon = 184;
215: public static final int BracketPair = 185;
216: public static final int BracePair = 186;
217: public static final int Star4 = 187;
218: public static final int DoubleWave = 188;
219: public static final int ActionButtonBlank = 189;
220: public static final int ActionButtonHome = 190;
221: public static final int ActionButtonHelp = 191;
222: public static final int ActionButtonInformation = 192;
223: public static final int ActionButtonForwardNext = 193;
224: public static final int ActionButtonBackPrevious = 194;
225: public static final int ActionButtonEnd = 195;
226: public static final int ActionButtonBeginning = 196;
227: public static final int ActionButtonReturn = 197;
228: public static final int ActionButtonDocument = 198;
229: public static final int ActionButtonSound = 199;
230: public static final int ActionButtonMovie = 200;
231: public static final int HostControl = 201;
232: public static final int TextBox = 202;
233:
234: /**
235: * Return name of the shape by id
236: * @param type - the id of the shape, one of the static constants defined in this class
237: * @return the name of the shape
238: */
239: public static String typeName(int type) {
240: String name = (String) types.get(new Integer(type));
241: return name;
242: }
243:
244: public static HashMap types;
245: static {
246: types = new HashMap();
247: try {
248: Field[] f = ShapeTypes.class.getFields();
249: for (int i = 0; i < f.length; i++) {
250: Object val = f[i].get(null);
251: if (val instanceof Integer) {
252: types.put(val, f[i].getName());
253: }
254: }
255: } catch (IllegalAccessException e) {
256: throw new HSLFException("Failed to initialize shape types");
257: }
258: }
259:
260: }
|