Avoid potential negative array index access to cached text.
[LibreOffice.git] / include / svx / svdobjkind.hxx
blobd25eba0a00278232838bb5f423b14f6c4def4016
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #pragma once
22 #include <com/sun/star/form/FormComponentType.hpp>
24 enum class SdrObjKind : sal_uInt16
26 NONE = 0, /// abstract object (SdrObject)
27 Group = 1, /// object group
28 Line = 2, /// line
29 Rectangle = 3, /// rectangle (round corners optional)
30 CircleOrEllipse = 4, /// circle, ellipse
31 CircleSection = 5, /// circle section
32 CircleArc = 6, /// circle arc
33 CircleCut = 7, /// circle cut
34 Polygon = 8, /// polygon, PolyPolygon
35 PolyLine = 9, /// PolyLine
36 PathLine = 10, /// open Bezier-curve
37 PathFill = 11, /// closed Bezier-curve
38 FreehandLine = 12, /// open free-hand line
39 FreehandFill = 13, /// closed free-hand line
40 Text = 16, /// text object
41 TitleText = 20, /// TitleText, special text object for StarDraw
42 OutlineText = 21, /// OutlineText, special text object for StarDraw
43 Graphic = 22, /// foreign graphic (StarView Graphic)
44 OLE2 = 23, /// OLE object
45 Edge = 24, /// connector object
46 Caption = 25, /// caption object
47 PathPoly = 26, /// Polygon/PolyPolygon represented by SdrPathObj
48 PathPolyLine = 27, /// Polyline represented by SdrPathObj
49 Page = 28, /// object that represents a SdrPage
50 Measure = 29, /// measurement object
51 OLEPluginFrame = 31, /// continuously activated OLE (PlugIn-Frame or similar)
52 UNO = 32, /// Universal Network Object packed into SvDraw object
53 CustomShape = 33, /// custom shape
54 Media = 34, /// media shape
55 Table = 35, /// table
57 OLE2Applet = 100,
58 OLE2Plugin = 101,
60 // engine3d, arbitrarily place at 200
61 E3D_Scene = 202,
62 // E3D_OBJECT_ID should not be used, it's only a helper class for E3DScene and E3DCompoundObject
63 E3D_Object = 203,
64 E3D_Cube = 204,
65 E3D_Sphere = 205,
66 E3D_Extrusion = 206,
67 E3D_Lathe = 207,
68 E3D_CompoundObject = 208,
69 E3D_Polygon = 209,
70 E3D_INVENTOR_FIRST = E3D_Scene,
71 E3D_INVENTOR_LAST = E3D_Polygon,
73 // for form components, arbitrarily place at 300
74 FormControl = 300 + css::form::FormComponentType::CONTROL,
75 FormEdit = 300 + css::form::FormComponentType::TEXTFIELD,
76 FormButton = 300 + css::form::FormComponentType::COMMANDBUTTON,
77 FormFixedText = 300 + css::form::FormComponentType::FIXEDTEXT,
78 FormListbox = 300 + css::form::FormComponentType::LISTBOX,
79 FormCheckbox = 300 + css::form::FormComponentType::CHECKBOX,
80 FormCombobox = 300 + css::form::FormComponentType::COMBOBOX,
81 FormRadioButton = 300 + css::form::FormComponentType::RADIOBUTTON,
82 FormGroupBox = 300 + css::form::FormComponentType::GROUPBOX,
83 FormGrid = 300 + css::form::FormComponentType::GRIDCONTROL,
84 FormImageButton = 300 + css::form::FormComponentType::IMAGEBUTTON,
85 FormFileControl = 300 + css::form::FormComponentType::FILECONTROL,
86 FormDateField = 300 + css::form::FormComponentType::DATEFIELD,
87 FormTimeField = 300 + css::form::FormComponentType::TIMEFIELD,
88 FormNumericField = 300 + css::form::FormComponentType::NUMERICFIELD,
89 FormCurrencyField = 300 + css::form::FormComponentType::CURRENCYFIELD,
90 FormPatternField = 300 + css::form::FormComponentType::PATTERNFIELD,
91 FormHidden = 300 + css::form::FormComponentType::HIDDENCONTROL,
92 FormImageControl = 300 + css::form::FormComponentType::IMAGECONTROL,
93 FormFormattedField = 300 + css::form::FormComponentType::PATTERNFIELD + 1,
94 FormScrollbar = 300 + css::form::FormComponentType::PATTERNFIELD + 2,
95 FormSpinButton = 300 + css::form::FormComponentType::PATTERNFIELD + 3,
96 FormNavigationBar = 300 + css::form::FormComponentType::PATTERNFIELD + 4,
98 // basctl, arbitrarily place at 400
99 BasicDialogControl = 401,
100 BasicDialogDialog = 402,
101 BasicDialogPushButton = 403,
102 BasicDialogRadioButton = 404,
103 BasicDialogCheckbox = 405,
104 BasicDialogListbox = 406,
105 BasicDialogCombobox = 407,
106 BasicDialogGroupBox = 408,
107 BasicDialogEdit = 409,
108 BasicDialogFixedText = 410,
109 BasicDialogImageControl = 411,
110 BasicDialogProgressbar = 412,
111 BasicDialogHorizontalScrollbar = 413,
112 BasicDialogVerticalScrollbar = 414,
113 BasicDialogHorizontalFixedLine = 415,
114 BasicDialogVerticalFixedLine = 416,
115 BasicDialogDateField = 417,
116 BasicDialogTimeField = 418,
117 BasicDialogNumericField = 419,
118 BasicDialogCurencyField = 420,
119 BasicDialogFormattedField = 421,
120 BasicDialogPatternField = 422,
121 BasicDialogFileControl = 423,
122 BasicDialogTreeControl = 424,
123 BasicDialogSpinButton = 425,
124 BasicDialogGridControl = 426,
125 BasicDialogHyperlinkControl = 427,
127 BasicDialogFormRadio = 428,
128 BasicDialogFormCheck = 429,
129 BasicDialogFormList = 430,
130 BasicDialogFormCombo = 431,
131 BasicDialogFormSpin = 432,
132 BasicDialogFormVerticalScroll = 433,
133 BasicDialogFormHorizontalScroll = 434,
135 // reportdesign, arbitrarily place at 500
136 ReportDesignFixedText = 501,
137 ReportDesignImageControl = 502,
138 ReportDesignFormattedField = 503,
139 ReportDesignHorizontalFixedLine = 504,
140 ReportDesignVerticalFixedLine = 505,
141 ReportDesignSubReport = 506,
143 // writer, arbitrarily place at 600
144 SwFlyDrawObjIdentifier = 601,
145 NewFrame = 602
148 inline constexpr bool IsInventorE3D(SdrObjKind e)
150 return e >= SdrObjKind::E3D_INVENTOR_FIRST && e <= SdrObjKind::E3D_INVENTOR_LAST;
153 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */