ApplicationWindowOptionsKit

class ApplicationWindowOptionsKit : public HPS::Kit

The ApplicationWindowOptionsKit class is a user space object. It is used to specify application-window-specific options. Calling HPS::ApplicationWindowOptionsKit::GetDefault() will return a kit with values found in this table.

Public Functions

ApplicationWindowOptionsKit()

The default constructor creates an empty ApplicationWindowOptionsKit object.

ApplicationWindowOptionsKit(ApplicationWindowOptionsKit &&in_that)

The move constructor creates an ApplicationWindowOptionsKit by transferring the underlying impl of the rvalue reference to this ApplicationWindowOptionsKit thereby avoiding a copy and allocation.

Parameters:in_that – An rvalue reference to an ApplicationWindowOptionsKit to take the impl from.
ApplicationWindowOptionsKit(ApplicationWindowOptionsKit const &in_kit)

The copy constructor creates a new ApplicationWindowOptionsKit object that contains the same settings as the source ApplicationWindowOptionsKit.

Parameters:in_kit – The source ApplicationWindowOptionsKit to copy.
virtual bool Empty() const

Indicates whether this ApplicationWindowOptionsKit has any values set on it.

Returns:true if no values are set on this ApplicationWindowOptionsKit, false otherwise.
bool Equals(ApplicationWindowOptionsKit const &in_kit) const

Check if the source ApplicationWindowOptionsKit is equivalent to this ApplicationWindowOptionsKit.

Parameters:in_kit – The source ApplicationWindowOptionsKit to compare to this ApplicationWindowOptionsKit.
Returns:true if the objects are equivalent, false otherwise.
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.
bool operator!=(ApplicationWindowOptionsKit const &in_kit) const

Check if the source ApplicationWindowOptionsKit is not equivalent to this ApplicationWindowOptionsKit.

Parameters:in_kit – The source ApplicationWindowOptionsKit to compare to this ApplicationWindowOptionsKit.
Returns:true if the objects are not equivalent, false otherwise.
ApplicationWindowOptionsKit &operator=(ApplicationWindowOptionsKit &&in_that)

The move assignment operator transfers the underlying impl of the rvalue reference to this ApplicationWindowOptionsKit thereby avoiding a copy.

Parameters:in_that – An rvalue reference to an ApplicationWindowOptionsKit to take the impl from.
Returns:A reference to this ApplicationWindowOptionsKit.
ApplicationWindowOptionsKit &operator=(ApplicationWindowOptionsKit const &in_kit)

Copies the source ApplicationWindowOptionsKit into this ApplicationWindowOptionsKit.

Parameters:in_kit – The source ApplicationWindowOptionsKit to copy.
Returns:A reference to this ApplicationWindowOptionsKit.
bool operator==(ApplicationWindowOptionsKit const &in_kit) const

Check if the source ApplicationWindowOptionsKit is equivalent to this ApplicationWindowOptionsKit.

Parameters:in_kit – The source ApplicationWindowOptionsKit to compare to this ApplicationWindowOptionsKit.
Returns:true if the objects are equivalent, false otherwise.
void Set(ApplicationWindowOptionsKit const &in_kit)

Copies the source ApplicationWindowOptionsKit into this ApplicationWindowOptionsKit.

Parameters:in_kit – The source ApplicationWindowOptionsKit to copy.
ApplicationWindowOptionsKit &SetAntiAliasCapable(bool in_state, unsigned int in_samples = 4)

Sets the anti-alias options for this ApplicationWindowOptionsKit.

Parameters:
  • in_state – Whether the associated application window should be anti-alias capable.
  • in_samples – The number of anti-alias samples to use for the associated application window. Defaults to 4.
Returns:

A reference to this ApplicationWindowOptionsKit.

ApplicationWindowOptionsKit &SetDriver(Window::Driver in_driver)

Sets the driver for this ApplicationWindowOptionsKit.

Parameters:in_driver – The driver for this ApplicationWindowOptionsKit.
Returns:A reference to this ApplicationWindowOptionsKit.
ApplicationWindowOptionsKit &SetFramebufferRetention(bool in_retain)

Sets the framebuffer retention option for this ApplicationWindowOptionsKit.

Parameters:in_retain – Whether the associated application window retains the image from the previous frame.
Returns:A reference to this ApplicationWindowOptionsKit.
ApplicationWindowOptionsKit &SetPlatformData(PlatformData in_platform_data)

Sets the platform specific data for this ApplicationWindowOptionsKit.

Parameters:in_platform_data – Platform specific data for this ApplicationWindowOptionsKit.
Returns:A reference to this ApplicationWindowOptionsKit.
ApplicationWindowOptionsKit &SetPreferredGPU(GPU::Preference in_gpu_preference, char const *in_gpu_name = "")

Sets which GPU to use when there are multiple available GPUs on a system. This method is only available when using the DirectX11 driver. Other drivers will ignore this request. in_gpu_name needs to be specified when in_gpu_preference is set to GPU::Preference::Specific. The value passed for in_gpu_name needs to match one of those returned by Database::ShowAvailableGPUs(). If you select something other than default GPU, and Visualize cannot find a GPU which satisfies the requirement, the default GPU

will be used.

All Visualize windows using DirectX11 will use the same

GPU. The user should select the preferred GPU before creating a DirectX11 window. The default is for DirectX11 windows to use HighPerformance GPUs. The Microsoft Basic Software Render Driver is always returned as one of the available GPUs by DirectX11. By selecting it (which users can do by calling SetPreferredGPU(GPU::Preference::Specific, "Microsoft Basic Render Driver")), DirectX11 will run in software mode.

Parameters:
Returns:

A reference to this ApplicationWindowOptionsKit.

ApplicationWindowOptionsKit &SetScreenAntiAliasing(bool in_state)

Manipulates the state of screen anti-aliasing.

Parameters:in_state – Whether screen anti-aliasing should be used.
Returns:A reference to this object.
void Show(ApplicationWindowOptionsKit &out_kit) const

Copies this ApplicationWindowOptionsKit into the given ApplicationWindowOptionsKit.

Parameters:out_kit – The ApplicationWindowOptionsKit to populate with the contents of this ApplicationWindowOptionsKit.
bool ShowAntiAliasCapable(bool &out_state, unsigned int &out_samples) const

Shows the anti-alias options for this ApplicationWindowOptionsKit.

Parameters:
  • out_state – Whether the associated application window should be anti-alias capable.
  • out_samples – The number of anti-alias samples to use for the associated application window.
Returns:

true if anti-alias options were set, false otherwise.

bool ShowDriver(Window::Driver &out_driver) const

Shows the driver for this ApplicationWindowOptionsKit.

Parameters:out_driver – The driver for this ApplicationWindowOptionsKit.
Returns:true if a driver was set, false otherwise.
bool ShowFramebufferRetention(bool &out_retain) const

Shows the framebuffer retention setting for this ApplicationWindowOptionsKit.

Parameters:out_retain – The framebuffer retention setting for this ApplicationWindowOptionsKit.
Returns:true if platform specific data was set, false otherwise.
bool ShowPlatformData(PlatformData &out_platform_data) const

Shows the platform specific data for this ApplicationWindowOptionsKit.

Parameters:out_platform_data – The platform specific data for this ApplicationWindowOptionsKit.
Returns:true if platform specific data was set, false otherwise.
bool ShowPreferredGPU(GPU::Preference &out_gpu_preference, HPS::UTF8 &out_gpu_name) const

Shows the preference settings for picking a GPU when multiple GPUs are available.

Parameters:
  • out_gpu_preference – The preference for picking a GPU when multiple GPUs are available.
  • out_gpu_name – The name of the GPU to use. Only valid when out_gpu_preference is GPU::Preference::Specific
Returns:

true if a GPU preference was set, false otherwise.

ApplicationWindowOptionsKit &UnsetAntiAliasCapable()

Removes the anti-alias options for this ApplicationWindowOptionsKit.

Returns:A reference to this ApplicationWindowOptionsKit.
ApplicationWindowOptionsKit &UnsetDriver()

Removes the driver for this ApplicationWindowOptionsKit.

Returns:A reference to this ApplicationWindowOptionsKit.
ApplicationWindowOptionsKit &UnsetEverything()

Removes all settings from this ApplicationWindowOptionsKit.

Returns:A reference to this ApplicationWindowOptionsKit.
ApplicationWindowOptionsKit &UnsetFramebufferRetention()

Removes the framebuffer retention setting for this ApplicationWindowOptionsKit.

Returns:A reference to this ApplicationWindowOptionsKit.
ApplicationWindowOptionsKit &UnsetPlatformData()

Removes the platform specific data for this ApplicationWindowOptionsKit.

Returns:A reference to this ApplicationWindowOptionsKit.
ApplicationWindowOptionsKit &UnsetPreferredGPU()

Removes the setting for which GPU should be used when multiple GPUs are available.

Returns:A reference to this ApplicationWindowOptionsKit.
ApplicationWindowOptionsKit &UnsetScreenAntiAliasing()

Removes the screen anti-alias options for this ApplicationWindowOptionsKit.

Returns:A reference to this ApplicationWindowOptionsKit.
virtual ~ApplicationWindowOptionsKit()

Public Static Functions

static ApplicationWindowOptionsKit GetDefault()

Creates an ApplicationWindowOptionsKit which contains the default settings. The returned object will not necessarily have values set for every option, but it will have settings for those options where it is reasonable to have a default.

Returns:An ApplicationWindowOptionsKit with the default settings.

Public Static Attributes

static const HPS::Type staticType = HPS::Type::ApplicationWindowOptionsKit