1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3  * This file is part of the LibreOffice project.
4  *
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/.
8  *
9  * This file incorporates work covered by the following license notice:
10  *
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 .
18  */
19 
20 #ifndef INCLUDED_SVX_SVDTYPES_HXX
21 #define INCLUDED_SVX_SVDTYPES_HXX
22 
23 #include <sal/types.h>
24 #include <o3tl/strong_int.hxx>
25 
26 // commands for EndCreate()
27 enum class SdrCreateCmd
28 {
29     NextPoint,     // next traverse station, segment of a circle: next coordinate
30     NextObject,    // next polygon in PolyPolygon
31     ForceEnd       // forced end
32 };
33 
34 enum class SdrDragMode
35 {
36     Move,
37     Resize,
38     Rotate,
39     Mirror,
40     Shear,
41     Crook,
42 
43     // new modes for interactive transparence and gradient tools
44     Transparence,
45     Gradient,
46 
47     // new mode for interactive cropping of graphics
48     Crop
49 };
50 
51 
52 
53 /*
54  * Layer
55  */
56 // You can use this value in the methods of SdrLayerSet, but false is returned
57 // every time or the method does nothing.
58 // type declaration for Layer-IDs
59 typedef o3tl::strong_int<sal_uInt8, struct SdrLayerIDTag> SdrLayerID;
60 
61 // If there is no layer when it should be identified, then
62 // SdrLayerAdmin::GetLayerID(const String&) returns a value.
63 constexpr SdrLayerID SDRLAYER_NOTFOUND(0xff);
64 
65 /*
66  * Repeat
67  */
68 enum class SdrRepeatFunc {
69     NONE,
70     // with parameter
71     Move,         // distance
72     Resize,       // factor, reference(%) related to MarkRect
73     Rotate,       // rotation angle, reference(%) related to MarkRect
74     // Without parameter
75     Delete,
76     CombinePolyPoly,
77     CombineOnePoly,
78     DismantlePolys,
79     DismantleLines,
80     ConvertToPoly,
81     ConvertToPath,
82     Group,
83     Ungroup,
84     PutToTop,
85     PutToBottom,
86     MoveToTop,
87     MoveToBottom,
88     ReverseOrder,
89     ImportMtf,
90 };
91 
92 #endif // INCLUDED_SVX_SVDTYPES_HXX
93 
94 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
95