WindowKey
- class HPS.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 (HPS.Coordinate.Space in_space, HPS.Point in_point, HPS.Coordinate.Space in_output_space, out HPS.Point out_point)
Converts the point in_point from in_space to in_output_space using the transforms associated with this window. Returns success.
- override void Dispose ()
- ulong FindFonts (out HPS.FontSearchResults out_results)
Searches the system for fonts.
- Param out_results
Out parameter that contains results of the font search
- Return
The number of fonts found
- ulong FindHighlights (HPS.HighlightSearchOptionsKit in_options, out HPS.HighlightSearchResults out_results)
Searches for any highlights under this WindowKey.
- Param in_options
Search options constraining what type of highlights to look for. If this is empty, all highlights will be returned.
- Param out_results
The key paths under the window that are highlighted with the given search options.
- Return
The number of highlighted key paths found.
- ulong FindHighlights (HPS.KeyPath in_key_path, HPS.HighlightSearch.Scope in_scope, HPS.HighlightSearchOptionsKit in_options, out HPS.HighlightSearchResults out_results)
Searches for any highlights under this WindowKey.
- Param in_key_path
The key path to scope this highlight search by.
- Param in_scope
Determines how the scope is interpreted during a highlight search.
- Param in_options
Search options constraining what type of highlights to look for. If this is empty, all highlights will be returned.
- Param out_results
The key paths under the window that are highlighted with the given search options.
- Return
The number of highlighted key paths found.
- HPS.DebuggingControl GetDebuggingControl ()
Returns a control that allows the user to manipulate and query details of the debugging attribute on this segment.
- HPS.EventDispatcher GetEventDispatcher ()
Returns a control that allows the user to interact with events in various ways.
- HPS.HighlightControl GetHighlightControl ()
Returns a control that allows the user to highlight segments or geometry in this window.
- HPS.PostProcessEffectsControl GetPostProcessEffectsControl ()
Returns a control that allows the user to manipulate and query details of the post-process effects attribute on this segment.
- HPS.SelectionControl GetSelectionControl ()
Returns a control that allows the user to perform selections in this window.
- HPS.SelectionOptionsControl GetSelectionOptionsControl ()
Returns a control that allows the user to manipulate and query details of the selection options on this window.
- HPS.UpdateOptionsControl GetUpdateOptionsControl ()
Returns a control that allows the user to change update options in this window.
- HPS.WindowInfoControl GetWindowInfoControl ()
Returns a control that allows the user to query various window properties, including size, aspect ratio, resolution, etc.
- override HPS.Type ObjectType ()
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).
- Return
The declared type of the object in question, which may differ from the true, underlying type.
- HPS.WindowKey SetDebugging (HPS.DebuggingKit in_kit)
Sets the debugging attributes designated by in_kit on this segment.
- HPS.WindowKey SetDriverEventHandler (HPS.DriverEventHandler in_handler, IntPtr in_type)
Sets the specified driver event handler as the handler for the specified driver event type on this window.
- Param in_handler
Driver event handler to be set.
- Param in_type
Type of driver event to add the handler for.
- HPS.WindowKey SetPostProcessEffects (HPS.PostProcessEffectsKit in_kit)
Sets the post-process effects attributes designated by in_kit on this segment.
- HPS.WindowKey SetSelectionOptions (HPS.SelectionOptionsKit in_kit)
Sets the options that will be used by default for selections performed from this window. Note: these options cannot be unset.
- HPS.WindowKey SetUpdateOptions (HPS.UpdateOptionsKit 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 (out HPS.DebuggingKit out_kit)
Shows the debugging attribute settings on this segment.
- Return
False if no debugging attribute settings exist on this segment.
- bool ShowPostProcessEffects (out HPS.PostProcessEffectsKit out_kit)
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 (out HPS.SelectionOptionsKit out_kit)
Shows the options that will be used by default for selections performed from this window.
- bool ShowSnapshot (out HPS.ImageKit out_kit)
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.
- Param out_kit
An image kit to show the display into.
- Return
true if able to show display into ImageKit, false otherwise.
- bool ShowUpdateOptions (out HPS.UpdateOptionsKit out_kit)
Shows the options that will be used by default for update options performed from this window.
- bool ShowWindowInfo (out HPS.WindowInfoKit out_kit)
- HPS.WindowKey UnsetDriverEventHandler (IntPtr in_type)
Unsets the driver event handler for the specified driver event type on this window.
- Param 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 (HPS.UpdateOptionsKit in_kit)
Performs an update in this window, redrawing and refreshing the display using the options in the UpdateOptionsKit.
- Param in_kit
Allows the user to control how thorough an update should be.
- void Update (HPS.Window.UpdateType in_type)
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.)
-
-
-
- void Update (HPS.Window.UpdateType in_type, double in_time_limit)
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.)
-
-
- Param in_time_limit
Specifies the desired maximum time this update should take.
-
- HPS.UpdateNotifier UpdateWithNotifier ()
Performs a default update in this window, redrawing and refreshing the display.
- Return
A UpdateNotifier object that can be used to find out information about the update.
- HPS.UpdateNotifier UpdateWithNotifier (HPS.UpdateOptionsKit in_kit)
Performs a default update in this window, redrawing and refreshing the display.
- Return
A UpdateNotifier object that can be used to find out information about the update.
- HPS.UpdateNotifier UpdateWithNotifier (HPS.Window.UpdateType in_type)
Performs an update in this window, redrawing and refreshing the display.
- Param in_type
Allows the user to control how thorough an update should be.
- Return
A UpdateNotifier object that can be used to find out information about the update.
- HPS.UpdateNotifier UpdateWithNotifier (HPS.Window.UpdateType in_type, double in_time_limit)
Performs an update in this window, redrawing and refreshing the display.
- Param in_type
Allows the user to control how thorough an update should be.
- Param in_time_limit
Specifies a maximum time this update should take.
- Return
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 (HPS.Key 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 (HPS.WindowKey in_window)
Shares a reference to a database object referred to by in_window.