1 /*
2    Drawpile - a collaborative drawing program.
3 
4    Copyright (C) 2018 Calle Laakkonen
5 
6    Drawpile is free software: you can redistribute it and/or modify
7    it under the terms of the GNU General Public License as published by
8    the Free Software Foundation, either version 3 of the License, or
9    (at your option) any later version.
10 
11    Drawpile is distributed in the hope that it will be useful,
12    but WITHOUT ANY WARRANTY; without even the implied warranty of
13    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14    GNU General Public License for more details.
15 
16    You should have received a copy of the GNU General Public License
17    along with Drawpile.  If not, see <http://www.gnu.org/licenses/>.
18 */
19 
20 #ifndef ACL_FEATURES_H
21 #define ACL_FEATURES_H
22 
23 namespace canvas {
24 
25 // Features with configurable access levels
26 // See also shared/net/meta2.{cpp,h}
27 enum class Feature {
28 	PutImage,
29 	RegionMove,
30 	Resize,
31 	Background,
32 	EditLayers,
33 	OwnLayers,
34 	CreateAnnotation,
35 	Laser,
36 	Undo
37 };
38 
39 static const int FeatureCount = int(Feature::Undo)+1;
40 
41 // Access levels
42 enum class Tier : unsigned char {
43 	Op,      // operators
44 	Trusted, // + users marked as trusted
45 	Auth,    // + registered users
46 	Guest    // everyone
47 };
48 
49 static const int TierCount = 4;
50 
51 }
52 
53 #endif
54 
55