Branch libreoffice-5-0-4
[LibreOffice.git] / include / svx / svdtypes.hxx
blobc6845e51976c138627264fc950f6fa9fc12ce05c
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 #ifndef INCLUDED_SVX_SVDTYPES_HXX
21 #define INCLUDED_SVX_SVDTYPES_HXX
23 #include <sal/types.h>
26 * SdrObject
28 const sal_uInt32 SdrInventor=sal_uInt32('S')*0x00000001+
29 sal_uInt32('V')*0x00000100+
30 sal_uInt32('D')*0x00010000+
31 sal_uInt32('r')*0x01000000;
33 // commands for EndCreate()
34 enum SdrCreateCmd {SDRCREATE_NEXTPOINT, // next traverse station, segment of a circle: next coordinate
35 SDRCREATE_NEXTOBJECT, // next polygon in PolyPolygon
36 SDRCREATE_FORCEEND}; // forced end
38 enum SdrDragMode
40 SDRDRAG_MOVE,
41 SDRDRAG_RESIZE,
42 SDRDRAG_ROTATE,
43 SDRDRAG_MIRROR,
44 SDRDRAG_SHEAR,
45 SDRDRAG_CROOK,
46 SDRDRAG_DISTORT, // Free deform (transform Rect in arbitrary quad)
48 // new modes for interactive transparence and gradient tools
49 SDRDRAG_TRANSPARENCE,
50 SDRDRAG_GRADIENT,
52 // new mode for interactive cropping of graphics
53 SDRDRAG_CROP
57 // fuer SdrObject::ConvertToPoly()
58 enum SdrConvertType {SDRCONVERT_POLY, // create pure polygon
59 SDRCONVERT_BEZIER, // Beziersegment
60 SDRCONVERT_MIXED}; // mixed object (optimal)
63 * Layer
65 // If there is no layer when it should be identified, then
66 // drLayerAdmin::GetLayerID(const String&) returns a value.
67 #define SDRLAYER_NOTFOUND 0xFF
68 // You can use this value in the methods of SdrLayerSet, but sal_False is returned
69 // every time or the methode does nothing.
70 // type deklaration for Layer-IDs
71 typedef sal_uInt8 SdrLayerID;
74 * Page + ObjList
76 enum SdrObjListKind {SDROBJLIST_UNKNOWN =0x00,
77 // reine Objektlisten:
78 SDROBJLIST_GROUPOBJ =0x01,
79 SDROBJLIST_VIRTOBJECTS=0x02,
80 SDROBJLIST_SYMBOLTABLE=0x03,
81 // Here is space for 12 more types of lists
82 // Pages:
83 SDROBJLIST_DRAWPAGE =0x10,
84 SDROBJLIST_MASTERPAGE =0x11
85 // Here is space for 8 more types of pages
86 }; // reserved for Surrogate
88 inline bool SdrIsPageKind(SdrObjListKind eK) { return eK>=SDROBJLIST_DRAWPAGE && eK<=0x1A; }
91 * Repeat
93 enum SdrRepeatFunc {SDRREPFUNC_OBJ_NONE,
94 // with parameter
95 SDRREPFUNC_OBJ_MOVE, // distance
96 SDRREPFUNC_OBJ_RESIZE, // factor, reference(%) related to MarkRect
97 SDRREPFUNC_OBJ_SETSNAPRECT, // rectangle
98 SDRREPFUNC_OBJ_SETLOGICRECT, // rectangle
99 SDRREPFUNC_OBJ_ROTATE, // rotation angle, reference(%) related to MarkRect
100 SDRREPFUNC_OBJ_SHEAR, // angle, factor, reference(%) related to MarkRect
101 SDRREPFUNC_OBJ_CROOKROTATE,
102 SDRREPFUNC_OBJ_CROOKSLANT,
103 SDRREPFUNC_OBJ_CROOKSTRETCH,
104 SDRREPFUNC_OBJ_ALIGN, // Hor/Vert/bBound
105 SDRREPFUNC_OBJ_SETATTRIBUTES,// ItemSet
106 SDRREPFUNC_OBJ_SETSTYLESHEET,// StyleSheet*
107 // Without parameter
108 SDRREPFUNC_OBJ_DELETE,
109 SDRREPFUNC_OBJ_COMBINE_POLYPOLY,
110 SDRREPFUNC_OBJ_COMBINE_ONEPOLY,
111 SDRREPFUNC_OBJ_DISMANTLE_POLYS,
112 SDRREPFUNC_OBJ_DISMANTLE_LINES,
113 SDRREPFUNC_OBJ_CONVERTTOPOLY,
114 SDRREPFUNC_OBJ_CONVERTTOPATH,
115 SDRREPFUNC_OBJ_GROUP,
116 SDRREPFUNC_OBJ_UNGROUP,
117 SDRREPFUNC_OBJ_PUTTOTOP,
118 SDRREPFUNC_OBJ_PUTTOBTM,
119 SDRREPFUNC_OBJ_MOVTOTOP,
120 SDRREPFUNC_OBJ_MOVTOBTM,
121 SDRREPFUNC_OBJ_REVORDER,
122 SDRREPFUNC_OBJ_IMPORTMTF,
123 SDRREPFUNC_PAGE_DELETE,
124 SDRREPFUNC_LAST};
126 #endif // INCLUDED_SVX_SVDTYPES_HXX
128 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */