Public Member Functions | List of all members
HPS::Canvas Class Reference

#include <sprk.h>

Inheritance diagram for HPS::Canvas:
HPS::Sprocket HPS::Object

Public Member Functions

 Canvas (Canvas const &that)
 
HPS::Type ObjectType () const
 
void Delete ()
 
Canvasoperator= (Canvas const &in_that)
 
void Assign (Canvas const &in_that)
 
bool Equals (Canvas const &in_that) const
 
bool operator!= (Canvas const &in_that) const
 
bool operator== (Canvas const &in_that) const
 
UTF8 GetName () const
 
void AttachLayout (Layout const &in_layout)
 
void AttachViewAsLayout (View const &in_view)
 
void DetachLayout ()
 
Layout GetAttachedLayout () const
 
IncludeKey GetAttachedLayoutIncludeLink () const
 
View GetFrontView () const
 
WindowKey const GetWindowKey () const
 
WindowKey GetWindowKey ()
 
PortfolioKey const GetPortfolioKey () const
 
PortfolioKey GetPortfolioKey ()
 
void Update (HPS::Sprocket::UpdateType in_update_type=Sprocket::UpdateType::Asynchronous) const
 
UpdateNotifier UpdateWithNotifier () const
 
void Update (HPS::Window::UpdateControl const in_control, HPS::Time const time_limit=-1.) const
 
UpdateNotifier UpdateWithNotifier (HPS::Window::UpdateControl const in_control, HPS::Time const time_limit=-1.) const
 
void SetFrameRate (float in_frame_rate=20)
 
float GetFrameRate () const
 
- Public Member Functions inherited from HPS::Sprocket
 Sprocket (HPS::Sprocket const &in_that)=default
 
 Sprocket (Sprocket &&in_that)
 
- Public Member Functions inherited from HPS::Object
 Object (Object const &that)
 
Objectoperator= (Object const &other_object)
 
 Object (Object &&in_that)
 
Objectoperator= (Object &&in_that)
 
HPS::Type Type () const
 
virtual bool Empty () const
 
virtual void Reset ()
 
bool HasType (HPS::Type in_mask) const
 
intptr_t GetClassID () const
 
intptr_t GetInstanceID () const
 

Additional Inherited Members

- Public Types inherited from HPS::Sprocket
enum  UpdateType { Synchronous, Asynchronous }
 
- Static Public Member Functions inherited from HPS::Object
template<typename T >
static intptr_t ClassID ()
 

Detailed Description

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.

Member Function Documentation

void HPS::Canvas::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_layoutthe Layout to attach to this HPS::Canvas.
void HPS::Canvas::AttachViewAsLayout ( View const &  in_view)

Attaches a View to this HPS::Canvas using an implicit Layout that convers the whole window. If a Layout is already attached to this Canvas, the new Layout will replace the old one.

Parameters
in_viewthe View to attach to this HPS::Canvas.
void HPS::Canvas::Delete ( )

Deletes this Canvas, and the Window that backs it. If the Canvas has Layouts attached, they are not destroyed.

void HPS::Canvas::DetachLayout ( )

Detaches the Layout from this Canvas.

Layout HPS::Canvas::GetAttachedLayout ( ) const

Returns the Layout that is currently attached to this Canvas.

IncludeKey HPS::Canvas::GetAttachedLayoutIncludeLink ( ) const

Returns the IncludeKey that attaches the current layout to this Canvas.

float HPS::Canvas::GetFrameRate ( ) const

Returns true if frame rate is active for this HPS::Canvas.

Returns
Returns frame rate in number of frames per second.
View HPS::Canvas::GetFrontView ( ) const

Views can overlap. This function returns a reference to the frontmost View.

UTF8 HPS::Canvas::GetName ( ) const

Get the name used when creating this Canvas.

PortfolioKey HPS::Canvas::GetPortfolioKey ( )

Returns the HPS::PortfolioKey associated with this Canvas' SegmentKey.

WindowKey HPS::Canvas::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.

HPS::Type HPS::Canvas::ObjectType ( ) const
inlinevirtual

This function returns the type the object, as declared. This does not necessarily give the true type of the underlying object.

Returns
The declared type of the object in question, which may differ from the true, underlying type.

Reimplemented from HPS::Object.

void HPS::Canvas::SetFrameRate ( float  in_frame_rate = 20)

Sets the maximum frame rate for this HPS::Canvas in number of frames per second.

Parameters
in_frame_rateFrame rate in number of frames per second. Pass 0 to disable frame rate.
void HPS::Canvas::Update ( HPS::Sprocket::UpdateType  in_update_type = Sprocket::UpdateType::Asynchronous) const

Redraws the entire Canvas, including all of its child components.

void HPS::Canvas::Update ( HPS::Window::UpdateControl const  in_control,
HPS::Time const  time_limit = -1. 
) const

Redraws the entire Canvas, including all of its child components using the specified parameters.

Parameters
in_controlone of the enum values specified by HPS::Window::UpdateControl
time_limitthe maximum amount of time, in seconds, to spend updating this HPS::Canvas
UpdateNotifier HPS::Canvas::UpdateWithNotifier ( ) const

Redraws the entire Canvas, including all of its child components, and also returns an HPS::UpdateNotifier to facilitate tracking the update progress.

UpdateNotifier HPS::Canvas::UpdateWithNotifier ( HPS::Window::UpdateControl const  in_control,
HPS::Time const  time_limit = -1. 
) const

Redraws the entire Canvas, including all of its child components using the specified parameters, and also returns an HPS::UpdateNotifier to facilitate tracking the update progress.

Parameters
in_controlone of the enum values specified by HPS::Window::UpdateControl
time_limitthe maximum amount of time, in seconds, to spend updating this HPS::Canvas

The documentation for this class was generated from the following file: