RAMSES Documentation  27.0.130
Information for RAMSES users and developers
CategoryInfoUpdate.h
Go to the documentation of this file.
1 // -------------------------------------------------------------------------
2 // Copyright (C) 2020 BMW AG
3 // -------------------------------------------------------------------------
4 // This Source Code Form is subject to the terms of the Mozilla Public
5 // License, v. 2.0. If a copy of the MPL was not distributed with this
6 // file, You can obtain one at https://mozilla.org/MPL/2.0/.
7 // -------------------------------------------------------------------------
8 
9 #ifndef RAMSES_CATEGORYINFOUPDATE_H
10 #define RAMSES_CATEGORYINFOUPDATE_H
11 
15 
16 namespace ramses
17 {
18  class CategoryInfoUpdateImpl;
19 
29  {
30  public:
31 
35  enum class Layout : uint32_t
36  {
37  Drive = 0,
38  Focus,
39  Gallery,
40  Autonomous,
41  Sport_Road,
42  Sport_Track,
43  };
44 
47 
56  CategoryInfoUpdate(SizeInfo renderSize, Rect categoryRect, Rect safeRect, Layout layout);
57 
65  CategoryInfoUpdate(SizeInfo renderSize, Rect categoryRect, Rect safeRect);
66 
73  CategoryInfoUpdate(SizeInfo renderSize, Rect categoryRect);
74 
77 
83  bool hasCategoryRectUpdate() const;
84 
92 
106 
112  bool hasRenderSizeUpdate() const;
113 
121 
133 
139  bool hasSafeRectUpdate() const;
140 
147  Rect getSafeRect() const;
148 
163 
169  bool hasActiveLayoutUpdate() const;
170 
178 
192 
197  explicit CategoryInfoUpdate(CategoryInfoUpdateImpl& impl_);
198 
204 
211 
216  CategoryInfoUpdate(const CategoryInfoUpdate& other) = delete;
217 
223  bool operator==(const CategoryInfoUpdate& rhs) const;
229  bool operator!=(const CategoryInfoUpdate& rhs) const;
230 
237 
241  CategoryInfoUpdateImpl& impl;
242  };
243 }
244 
245 #endif
#define RAMSES_API
Definition: APIExport.h:35
Update of information about a DCSM category. Contains information like changes in size....
Definition: CategoryInfoUpdate.h:29
CategoryInfoUpdate & operator=(CategoryInfoUpdate &&other)=delete
Deleted move assignment.
CategoryInfoUpdate(SizeInfo renderSize, Rect categoryRect, Rect safeRect, Layout layout)
constructor for CategoryInfoUpdate
bool hasRenderSizeUpdate() const
Check if object contains render size update.
bool hasActiveLayoutUpdate() const
Check if object contains active layout update.
Layout
The possible layout values in the instrument cluster.
Definition: CategoryInfoUpdate.h:36
CategoryInfoUpdate()
Default constructor with no data set.
status_t setRenderSize(SizeInfo sizeInfo)
Set new render size.
Rect getCategoryRect() const
Get new category rect. Only valid when hasCategoryRectUpdate().
status_t setActiveLayout(CategoryInfoUpdate::Layout layout)
Set new active layout.
CategoryInfoUpdate(SizeInfo renderSize, Rect categoryRect)
constructor for CategoryInfoUpdate
status_t setCategoryRect(Rect rect)
Set new category rect.
CategoryInfoUpdate & operator=(const CategoryInfoUpdate &other)=delete
Deleted copy assignment.
status_t setSafeRect(Rect rect)
Set new safe rect.
Layout getActiveLayout() const
Get new active layout. Only valid when hasActiveLayoutUpdate().
CategoryInfoUpdate(CategoryInfoUpdate &&other)=delete
Deleted move constructor.
bool operator==(const CategoryInfoUpdate &rhs) const
The equality comparison operator.
~CategoryInfoUpdate()
Destructor.
CategoryInfoUpdate(SizeInfo renderSize, Rect categoryRect, Rect safeRect)
constructor for CategoryInfoUpdate
CategoryInfoUpdate(CategoryInfoUpdateImpl &impl_)
Constructor from impl.
CategoryInfoUpdateImpl & impl
Definition: CategoryInfoUpdate.h:241
bool hasSafeRectUpdate() const
Check if object contains safe rect update.
CategoryInfoUpdate(const CategoryInfoUpdate &other)=delete
Deleted copy constructor.
bool operator!=(const CategoryInfoUpdate &rhs) const
The inequality comparison operator.
Rect getSafeRect() const
Get new safe rect. Only valid when hasSafeRectUpdate().
bool hasCategoryRectUpdate() const
Check if object contains category rect update.
SizeInfo getRenderSize() const
Get new render size. Only valid when hasRenderSizeUpdate().
The StatusObject provides status message handling.
Definition: StatusObject.h:22
The RAMSES namespace contains all client side objects and functions used to implement RAMSES applicat...
Definition: AnimatedProperty.h:15
uint32_t status_t
Status is a handle to the result of an API call.
Definition: RamsesFrameworkTypes.h:26
Rectangle consisting of x, y, width, height.
Definition: DcsmApiTypes.h:56
Size information for DCSM canvas size change.
Definition: DcsmApiTypes.h:109