Canvas
-
class HPS::Canvas : public HPS::Sprocket
The Canvas class is one of the four core display classes used in a Visualize application. It is meant to be used as part of a display hierarchy along with the Layout, View, and Model objects. The Canvas is the top-level object of the hierarchy and roughly correlates to a window. The Canvas is backed by an HPS::WindowKey.
Public Functions
-
void AttachLayout(Layout const &in_layout)
Attaches a layout to this HPS::Canvas. There can only be one layout per HPS::Canvas. If a Layout is already attached to this Canvas, the new Layout will replace the old one.
- Parameters
in_layout – the Layout to attach to this HPS::Canvas.
-
void AttachViewAsLayout(View const &in_view)
Attaches a View to this HPS::Canvas using an implicit Layout that covers the whole window.
- Parameters
in_view – the View to attach to this HPS::Canvas.
-
Canvas()
-
void Delete()
Deletes this Canvas, and the Window that backs it. If the Canvas has Layouts attached, they are not destroyed.
-
IncludeKey GetAttachedLayoutIncludeLink() const
Returns the IncludeKey that attaches the current layout to this Canvas.
-
float GetFrameRate() const
Returns frame rate as a float value for this HPS::Canvas.
- Returns
Returns frame rate in number of frames per second.
-
View GetFrontView() const
Views can overlap. This function returns a reference to the frontmost View.
-
PortfolioKey GetPortfolioKey()
Returns the HPS::PortfolioKey associated with this Canvas’ SegmentKey.
-
PortfolioKey const GetPortfolioKey() const
-
WindowKey GetWindowKey()
Each of the four display hierarchy objects (HPS::Canvas, HPS::Layout, HPS::View, HPS::Model) are backed by a HPS::SegmentKey. This function returns the HPS::SegmentKey that is associated with this Canvas.
-
inline virtual HPS::Type ObjectType() const
This function returns the type the object, as declared (if the object is derived, this does not give the true type of the derived object).
- Returns
The declared type of the object in question, which may differ from the true, underlying type.
-
void SetFrameRate(float in_frame_rate = 20)
Sets the minimum frame rate for this HPS::Canvas in number of frames per second.
- Parameters
in_frame_rate – Frame rate in number of frames per second. Pass 0 to disable frame rate.
-
void Update() const
Redraws the entire Canvas, including all of its child components using the default options.
-
void Update(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const
Redraws the entire Canvas, including all of its child components using the specified parameters.
- Parameters
in_type – one of the enum values specified by HPS::Window::UpdateType
in_time_limit – the maximum amount of time, in seconds, to spend updating this HPS::Canvas
-
UpdateNotifier UpdateWithNotifier() const
Redraws the entire Canvas, including all of its child components using the default options, and also returns a notifier to facilitate tracking the update progress.
- Returns
An UpdateNotifier object used to find out information about the update.
-
UpdateNotifier UpdateWithNotifier(HPS::Window::UpdateType in_type, HPS::Time in_time_limit = -1.0) const
Redraws the entire Canvas, including all of its child components using the specified parameters, and also returns an
- Parameters
in_type – one of the enum values specified by HPS::Window::UpdateType
in_time_limit – the maximum amount of time, in seconds, to spend updating this HPS::Canvas
- Returns
An UpdateNotifier object used to find out information about the update.
-
~Canvas()
Public Static Attributes
-
static const HPS::Type staticType = HPS::Type::Canvas
-
void AttachLayout(Layout const &in_layout)