WindowKey
-
class
WindowKey
: public HPS::SegmentKey The WindowKey class is a smart pointer to a database object. Windows are special segments that are backed by a driver instance and a physical window. Some operations and attributes can only be performed or set from window keys. The WindowKey class itself is a base class for more specific window types (application windows, off-screen windows, stand-alone windows).
Subclassed by HPS::ApplicationWindowKey, HPS::OffScreenWindowKey, HPS::StandAloneWindowKey
Public Functions
-
bool
ConvertCoordinate
(Coordinate::Space in_space, Point const &in_point, Coordinate::Space in_output_space, Point &out_point) const Converts the point in_point from in_space to in_output_space using the transforms associated with this window. Returns success.
-
size_t
FindFonts
(FontSearchResults &out_results) const Searches the system for fonts.
Parameters: out_results – Out parameter that contains results of the font search Returns: The number of fonts found
-
size_t
FindHighlights
(HighlightSearchOptionsKit const &in_options, HighlightSearchResults &out_results) const Searches for any highlights under this WindowKey.
Parameters: - in_options – Search options constraining what type of highlights to look for. If this is empty, all highlights will be returned.
- out_results – The key paths under the window that are highlighted with the given search options.
Returns: The number of highlighted key paths found.
-
size_t
FindHighlights
(KeyPath const &in_key_path, HPS::HighlightSearch::Scope in_scope, HighlightSearchOptionsKit const &in_options, HighlightSearchResults &out_results) const Searches for any highlights under this WindowKey.
Parameters: - in_key_path – The key path to scope this highlight search by.
- in_scope – Determines how the scope is interpreted during a highlight search.
- in_options – Search options constraining what type of highlights to look for. If this is empty, all highlights will be returned.
- out_results – The key paths under the window that are highlighted with the given search options.
Returns: The number of highlighted key paths found.
-
DebuggingControl
GetDebuggingControl
() Returns a control that allows the user to manipulate and query details of the debugging attribute on this segment.
-
DebuggingControl const
GetDebuggingControl
() const Returns a control that allows the user to manipulate and query details of the debugging attribute on this segment.
-
EventDispatcher &
GetEventDispatcher
() Returns a control that allows the user to interact with events in various ways.
-
EventDispatcher const &
GetEventDispatcher
() const Returns a control that allows the user to interact with events in various ways.
-
HighlightControl
GetHighlightControl
() Returns a control that allows the user to highlight segments or geometry in this window.
-
HighlightControl const
GetHighlightControl
() const Returns a control that allows the user to highlight segments or geometry in this window.
-
PostProcessEffectsControl
GetPostProcessEffectsControl
() Returns a control that allows the user to manipulate and query details of the post-process effects attribute on this segment.
-
PostProcessEffectsControl const
GetPostProcessEffectsControl
() const Returns a control that allows the user to manipulate and query details of the post-process effects attribute on this segment.
-
SelectionControl
GetSelectionControl
() Returns a control that allows the user to perform selections in this window.
-
SelectionControl const
GetSelectionControl
() const Returns a control that allows the user to perform selections in this window.
-
SelectionOptionsControl
GetSelectionOptionsControl
() Returns a control that allows the user to manipulate and query details of the selection options on this window.
-
SelectionOptionsControl const
GetSelectionOptionsControl
() const Returns a control that allows the user to manipulate and query details of the selection options on this window.
-
UpdateOptionsControl
GetUpdateOptionsControl
() Returns a control that allows the user to change update options in this window.
-
UpdateOptionsControl const
GetUpdateOptionsControl
() const Returns a control that allows the user to change update options in this window.
-
WindowInfoControl const
GetWindowInfoControl
() const Returns a control that allows the user to query various window properties, including size, aspect ratio, resolution, etc.
-
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.
-
WindowKey &
operator=
(WindowKey &&in_that) The move assignment operator transfers the underlying impl of the rvalue reference to this WindowKey thereby avoiding a copy.
Parameters: in_that – An rvalue reference to a WindowKey to take the impl from. Returns: A reference to this WindowKey.
-
WindowKey &
SetDebugging
(DebuggingKit const &in_kit) Sets the debugging attributes designated by in_kit on this segment.
-
WindowKey &
SetDriverEventHandler
(DriverEventHandler const &in_handler, intptr_t in_type) Sets the specified driver event handler as the handler for the specified driver event type on this window.
Parameters: - in_handler – Driver event handler to be set.
- in_type – Type of driver event to add the handler for.
-
WindowKey &
SetPostProcessEffects
(PostProcessEffectsKit const &in_kit) Sets the post-process effects attributes designated by in_kit on this segment.
-
WindowKey &
SetSelectionOptions
(SelectionOptionsKit const &in_kit) Sets the options that will be used by default for selections performed from this window. Note: these options cannot be unset.
-
WindowKey &
SetUpdateOptions
(HPS::UpdateOptionsKit const &in_kit) Sets the options that will be used by default for update options performed from this window. Note: these options cannot be unset.
-
bool
ShowDebugging
(DebuggingKit &out_kit) const Shows the debugging attribute settings on this segment.
Returns: False if no debugging attribute settings exist on this segment.
-
bool
ShowPostProcessEffects
(PostProcessEffectsKit &out_kit) const Shows the post-process effects attribute settings on this segment. Returns false if no post-process effects attribute settings exist on this segment.
-
bool
ShowSelectionOptions
(SelectionOptionsKit &out_kit) const Shows the options that will be used by default for selections performed from this window.
-
bool
ShowSnapshot
(ImageKit &out_kit) const Shows the current display as an image. Note: this will return false if an Update was never made or if the window key has framebuffer retention disabled.
Parameters: out_kit – An image kit to show the display into. Returns: true if able to show display into ImageKit, false otherwise.
-
bool
ShowUpdateOptions
(HPS::UpdateOptionsKit &out_kit) const Shows the options that will be used by default for update options performed from this window.
-
bool
ShowWindowInfo
(WindowInfoKit &out_kit) const
-
WindowKey &
UnsetDriverEventHandler
(intptr_t in_type) Unsets the driver event handler for the specified driver event type on this window.
Parameters: in_type – Type of driver event to remove the handler for
-
void
Update
() Performs a default update in this window, redrawing and refreshing the display.
-
void
Update
(UpdateOptionsKit const &in_kit) Performs an update in this window, redrawing and refreshing the display using the options in the UpdateOptionsKit.
Parameters: in_kit – Allows the user to control how thorough an update should be.
-
void
Update
(Window::UpdateType in_type, Time in_time_limit = -1) Performs an update in this window within the specified amount of time, redrawing and refreshing the display based on the Window::UpdateType value. Key behavioral notes regarding a timed-update:
- Geometry deferral/omission
- View-dependent shadows will not be drawn (view-independent shadows will be drawn.)
- Transparent geometry will be deferred and processed after the rest of the scene.
- If static tree + lmv is enabled, text and lines will be deferred and drawn after opaque facetted geometry
- Non-incremental rendering modes/attributes
- A timed update requires Visualize to interrupt the rendering process. However, certain types of rendering modes/attributes cannot be interrupted because they are ‘non-incremental’. - If your application wishes to use such modes/attributes alongside fixed-framerate, it will need to make a decision about whether Fixed-framerate is preferred. They include: - HiddenLine and FastHiddenLine rendering algorithms
- Transparency that is drawn using ‘depth peeling’. (All depth-peeled transparent geometry will be processed once it is started.)
- A timed update requires Visualize to interrupt the rendering process. However, certain types of rendering modes/attributes cannot be interrupted because they are ‘non-incremental’. - If your application wishes to use such modes/attributes alongside fixed-framerate, it will need to make a decision about whether Fixed-framerate is preferred. They include: - HiddenLine and FastHiddenLine rendering algorithms
Parameters: - in_control – Allows the user to control how thorough this update should be.
- in_time_limit – Specifies the desired maximum time this update should take.
- Geometry deferral/omission
-
UpdateNotifier
UpdateWithNotifier
() Performs a default update in this window, redrawing and refreshing the display.
Returns: A UpdateNotifier object that can be used to find out information about the update.
-
UpdateNotifier
UpdateWithNotifier
(HPS::UpdateOptionsKit const &in_kit) Performs a default update in this window, redrawing and refreshing the display.
Returns: A UpdateNotifier object that can be used to find out information about the update.
-
UpdateNotifier
UpdateWithNotifier
(Window::UpdateType in_type, Time in_time_limit = -1) Performs an update in this window, redrawing and refreshing the display.
Parameters: - in_type – Allows the user to control how thorough an update should be.
- in_time_limit – Specifies a maximum time this update should take.
Returns: A UpdateNotifier object that can be used to find out information about the update.
-
WindowKey
() An uninitialized key refers to no database object and Type() will return Type::None.
-
WindowKey
(Key const &in_key) Shares a reference to a database object referred to by in_that. If the key assignment is invalid, this key will revert to an uninitialized state.
-
WindowKey
(WindowKey &&in_that) The move constructor creates a WindowKey by transferring the underlying impl of the rvalue reference to this WindowKey thereby avoiding a copy and allocation.
Parameters: in_that – An rvalue reference to a WindowKey to take the impl from.
-
WindowKey
(WindowKey const &in_window) Shares a reference to a database object referred to by in_window.
-
~WindowKey
() Releases a reference to a database object but does not destroy the database object.
-
bool