1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 Jochen Becher
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of Qt Creator.
7 **
8 ** Commercial License Usage
9 ** Licensees holding valid commercial Qt licenses may use this file in
10 ** accordance with the commercial license agreement provided with the
11 ** Software or, alternatively, in accordance with the terms contained in
12 ** a written agreement between you and The Qt Company. For licensing terms
13 ** and conditions see https://www.qt.io/terms-conditions. For further
14 ** information use the contact form at https://www.qt.io/contact-us.
15 **
16 ** GNU General Public License Usage
17 ** Alternatively, this file may be used under the terms of the GNU
18 ** General Public License version 3 as published by the Free Software
19 ** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
20 ** included in the packaging of this file. Please review the following
21 ** information to ensure the GNU General Public License requirements will
22 ** be met: https://www.gnu.org/licenses/gpl-3.0.html.
23 **
24 ****************************************************************************/
25
26 #include "objectvisuals.h"
27
28 #include <qhash.h>
29
30 namespace qmt {
31
ObjectVisuals()32 ObjectVisuals::ObjectVisuals()
33 {
34 }
35
ObjectVisuals(DObject::VisualPrimaryRole visualPrimaryRole,DObject::VisualSecondaryRole visualSecondaryRole,bool emphasized,const QColor & baseColor,int depth)36 ObjectVisuals::ObjectVisuals(DObject::VisualPrimaryRole visualPrimaryRole,
37 DObject::VisualSecondaryRole visualSecondaryRole,
38 bool emphasized, const QColor &baseColor, int depth)
39 : m_visualPrimaryRole(visualPrimaryRole),
40 m_visualSecondaryRole(visualSecondaryRole),
41 m_isEmphasized(emphasized),
42 m_baseColor(baseColor),
43 m_depth(depth)
44 {
45 }
46
~ObjectVisuals()47 ObjectVisuals::~ObjectVisuals()
48 {
49 }
50
setVisualPrimaryRole(DObject::VisualPrimaryRole visualPrimaryRole)51 void ObjectVisuals::setVisualPrimaryRole(DObject::VisualPrimaryRole visualPrimaryRole)
52 {
53 m_visualPrimaryRole = visualPrimaryRole;
54 }
55
setVisualSecondaryRole(DObject::VisualSecondaryRole visualSecondaryRole)56 void ObjectVisuals::setVisualSecondaryRole(DObject::VisualSecondaryRole visualSecondaryRole)
57 {
58 m_visualSecondaryRole = visualSecondaryRole;
59 }
60
setEmphasized(bool emphasized)61 void ObjectVisuals::setEmphasized(bool emphasized)
62 {
63 m_isEmphasized = emphasized;
64 }
65
setBaseColor(const QColor & baseColor)66 void ObjectVisuals::setBaseColor(const QColor &baseColor)
67 {
68 m_baseColor = baseColor;
69 }
70
setDepth(int depth)71 void ObjectVisuals::setDepth(int depth)
72 {
73 m_depth = depth;
74 }
75
operator ==(const ObjectVisuals & lhs,const ObjectVisuals & rhs)76 bool operator==(const ObjectVisuals &lhs, const ObjectVisuals &rhs)
77 {
78 return lhs.visualPrimaryRole() == rhs.visualPrimaryRole()
79 && lhs.visualSecondaryRole() == rhs.visualSecondaryRole()
80 && lhs.isEmphasized() == rhs.isEmphasized()
81 && lhs.baseColor() == rhs.baseColor()
82 && lhs.depth() == rhs.depth();
83 }
84
qHash(const ObjectVisuals & objectVisuals)85 uint qHash(const ObjectVisuals &objectVisuals)
86 {
87 return ::qHash(static_cast<int>(objectVisuals.visualPrimaryRole()))
88 ^ ::qHash(static_cast<int>(objectVisuals.visualSecondaryRole()))
89 ^ ::qHash(objectVisuals.isEmphasized())
90 ^ ::qHash(objectVisuals.baseColor().rgb())
91 ^ ::qHash(objectVisuals.depth());
92 }
93
94 } // namespace qmt
95