xref: /aoo4110/main/svx/inc/svx/svdtypes.hxx (revision b1cdbd2c)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _SVDTYPES_HXX
25 #define _SVDTYPES_HXX
26 
27 #include <tools/solar.h>
28 
29 ////////////////////////////////////////////////////////////////////////////////////////////////////
30 //  @@@@  @@@@@  @@@@@    @@@@  @@@@@  @@@@@@ @@@@@  @@@@  @@@@@@
31 // @@  @@ @@  @@ @@  @@  @@  @@ @@  @@     @@ @@    @@  @@   @@
32 // @@     @@  @@ @@  @@  @@  @@ @@  @@     @@ @@    @@       @@
33 //  @@@@  @@  @@ @@@@@   @@  @@ @@@@@      @@ @@@@  @@       @@
34 //     @@ @@  @@ @@  @@  @@  @@ @@  @@     @@ @@    @@       @@
35 // @@  @@ @@  @@ @@  @@  @@  @@ @@  @@ @@  @@ @@    @@  @@   @@
36 //  @@@@  @@@@@  @@  @@   @@@@  @@@@@   @@@@  @@@@@  @@@@    @@
37 ////////////////////////////////////////////////////////////////////////////////////////////////////
38 
39 const sal_uInt32 SdrInventor=sal_uInt32('S')*0x00000001+
40 						 sal_uInt32('V')*0x00000100+
41 						 sal_uInt32('D')*0x00010000+
42 						 sal_uInt32('r')*0x01000000;
43 
44 // Kommandos fuer EndCreate()
45 enum SdrCreateCmd {SDRCREATE_NEXTPOINT,     // Naechster Polygonpunkt, Kreissegment: Naechste Koordinate
46 				   SDRCREATE_NEXTOBJECT,    // Naechstes Polygon im PolyPolygon
47 				   SDRCREATE_FORCEEND};     // Ende erzwungen
48 
49 enum SdrDragMode
50 {
51 	SDRDRAG_MOVE,		// Verschieben
52 	SDRDRAG_RESIZE,		// Groesse aendern
53 	SDRDRAG_ROTATE,		// Drehen
54 	SDRDRAG_MIRROR,		// Spiegeln
55 	SDRDRAG_SHEAR,		// Schraegstellen
56 	SDRDRAG_CROOK,		// Kreisfoermig verbiegen
57 	SDRDRAG_DISTORT,	// Freies verzerren (Rect in beliebiges Viereck transformieren)
58 
59 	// new modes for interactive transparence and gradient tools
60 	SDRDRAG_TRANSPARENCE,
61 	SDRDRAG_GRADIENT,
62 
63 	// new mode for interactive cropping of graphics
64 	SDRDRAG_CROP
65 };
66 
67 
68 // fuer SdrObject::ConvertToPoly()
69 enum SdrConvertType {SDRCONVERT_POLY,   // reines Polygon erzeugen
70 					 SDRCONVERT_BEZIER, // alles Beziersegmente
71 					 SDRCONVERT_MIXED}; // Gemischtes Objekt (optimal)
72 
73 ////////////////////////////////////////////////////////////////////////////////////////////////////
74 //  @@     @@@@  @@  @@ @@@@@ @@@@@
75 //  @@    @@  @@ @@  @@ @@    @@  @@
76 //  @@    @@  @@ @@  @@ @@    @@  @@
77 //  @@    @@@@@@  @@@@  @@@@  @@@@@
78 //  @@    @@  @@   @@   @@    @@  @@
79 //  @@    @@  @@   @@   @@    @@  @@
80 //  @@@@@ @@  @@   @@   @@@@@ @@  @@
81 ////////////////////////////////////////////////////////////////////////////////////////////////////
82 
83 ////////////////////////////////////////////////////////////////////////////////////////////////////
84 // Bei der Identifikation eines Layer kann es vorkommen, das dieser nicht
85 // vorhanden ist. SdrLayerAdmin::GetLayerID(const String&) liefert
86 // dann diesen Wert:
87 #define SDRLAYER_NOTFOUND 0xFF
88 // Man kann diesen Wert jodoch ohne Bedenken den Methoden des SdrLayerSet
89 // zuwerfen, bekommt dann jedoch immer sal_False, bzw. tut die Methode nix.
90 ////////////////////////////////////////////////////////////////////////////////////////////////////
91 // Typdeklaration fuer Layer-IDs
92 typedef sal_uInt8 SdrLayerID;
93 ////////////////////////////////////////////////////////////////////////////////////////////////////
94 
95 ////////////////////////////////////////////////////////////////////////////////////////////////////
96 // @@@@@   @@@@   @@@@  @@@@@         @@@@  @@@@@  @@@@@@ @@    @@  @@@@  @@@@@@
97 // @@  @@ @@  @@ @@  @@ @@           @@  @@ @@  @@     @@ @@    @@ @@  @@   @@
98 // @@  @@ @@  @@ @@     @@      @@   @@  @@ @@  @@     @@ @@    @@ @@       @@
99 // @@@@@  @@@@@@ @@ @@@ @@@@   @@@@  @@  @@ @@@@@      @@ @@    @@  @@@@    @@
100 // @@     @@  @@ @@  @@ @@      @@   @@  @@ @@  @@     @@ @@    @@     @@   @@
101 // @@     @@  @@ @@  @@ @@           @@  @@ @@  @@ @@  @@ @@    @@ @@  @@   @@
102 // @@     @@  @@  @@@@@ @@@@@         @@@@  @@@@@   @@@@  @@@@@ @@  @@@@    @@
103 ////////////////////////////////////////////////////////////////////////////////////////////////////
104 enum SdrObjListKind {SDROBJLIST_UNKNOWN    =0x00,    // Unbekannt
105 					 // reine Objektlisten:
106 					 SDROBJLIST_GROUPOBJ   =0x01,    // Objektliste eines Gruppenobjekts
107 					 SDROBJLIST_VIRTOBJECTS=0x02,    // Liste ist die Liste der virtuellen Objekte
108 					 SDROBJLIST_SYMBOLTABLE=0x03,    // Liste ist die Symboltabelle
109 					 // Hier haben zur Not noch 12 weitere Listentypen Platz
110 					 // Pages:
111 					 SDROBJLIST_DRAWPAGE   =0x10,    // Liste ist eine Zeichenseite
112 					 SDROBJLIST_MASTERPAGE =0x11    // Liste ist eine Masterpage
113 					 // Hier haben zur Not noch 8 weitere Pagetypen Platz
114 };   // fuer die Surrogate reserviert
115 
SdrIsPageKind(SdrObjListKind eK)116 inline FASTBOOL SdrIsPageKind(SdrObjListKind eK) { return eK>=SDROBJLIST_DRAWPAGE && eK<=0x1A; }
117 ////////////////////////////////////////////////////////////////////////////////////////////////////
118 
119 ////////////////////////////////////////////////////////////////////////////////////////////////////
120 //  @@@@@  @@@@@ @@@@@  @@@@@  @@@@  @@@@@@
121 //  @@  @@ @@    @@  @@ @@    @@  @@   @@
122 //  @@  @@ @@    @@  @@ @@    @@  @@   @@
123 //  @@@@@  @@@@  @@@@@  @@@@  @@@@@@   @@
124 //  @@  @@ @@    @@     @@    @@  @@   @@
125 //  @@  @@ @@    @@     @@    @@  @@   @@
126 //  @@  @@ @@@@@ @@     @@@@@ @@  @@   @@
127 ////////////////////////////////////////////////////////////////////////////////////////////////////
128 
129 enum SdrRepeatFunc {SDRREPFUNC_OBJ_NONE,
130 					// Mit Parameter
131 					SDRREPFUNC_OBJ_MOVE,         // Distanz
132 					SDRREPFUNC_OBJ_RESIZE,       // Faktor, Referenz(%) bezogen auf MarkRect
133 					SDRREPFUNC_OBJ_SETSNAPRECT,  // Rectangle
134 					SDRREPFUNC_OBJ_SETLOGICRECT, // Rectangle
135 					SDRREPFUNC_OBJ_ROTATE,       // Drehwinkel, Referenz(%) bezogen auf MarkRect
136 					SDRREPFUNC_OBJ_SHEAR,        // Winkel,Faktor, Referenz(%) bezogen auf MarkRect
137 					SDRREPFUNC_OBJ_CROOKROTATE,
138 					SDRREPFUNC_OBJ_CROOKSLANT,
139 					SDRREPFUNC_OBJ_CROOKSTRETCH,
140 					SDRREPFUNC_OBJ_ALIGN,        // Hor/Vert/bBound
141 					SDRREPFUNC_OBJ_SETATTRIBUTES,// ItemSet
142 					SDRREPFUNC_OBJ_SETSTYLESHEET,// StyleSheet*
143 					// Ohne Parameter
144 					SDRREPFUNC_OBJ_DELETE,
145 					SDRREPFUNC_OBJ_COMBINE_POLYPOLY,
146 					SDRREPFUNC_OBJ_COMBINE_ONEPOLY,
147 					SDRREPFUNC_OBJ_DISMANTLE_POLYS,
148 					SDRREPFUNC_OBJ_DISMANTLE_LINES,
149 					SDRREPFUNC_OBJ_CONVERTTOPOLY,
150 					SDRREPFUNC_OBJ_CONVERTTOPATH,
151 					SDRREPFUNC_OBJ_GROUP,
152 					SDRREPFUNC_OBJ_UNGROUP,
153 					SDRREPFUNC_OBJ_PUTTOTOP,
154 					SDRREPFUNC_OBJ_PUTTOBTM,
155 					SDRREPFUNC_OBJ_MOVTOTOP,
156 					SDRREPFUNC_OBJ_MOVTOBTM,
157 					SDRREPFUNC_OBJ_REVORDER,
158 					SDRREPFUNC_OBJ_IMPORTMTF,
159 					SDRREPFUNC_PAGE_DELETE,
160 					SDRREPFUNC_LAST};
161 
162 ////////////////////////////////////////////////////////////////////////////////////////////////////
163 
164 #endif //_SVDTYPES_HXX
165 
166