# WindowInfoControl

class `WindowInfoControl` : public HPS::Control

  The WindowInfoControl class is a smart pointer that is tied to a database object. This object allows you to query various attributes about a window, such as its size and aspect ratio.

  Public Functions

  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.

  WindowInfoControl &`operator=`(WindowInfoControl &&in_that)

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

    Parameters: | in_that – An rvalue reference to a WindowInfoControl to take the impl from.
    Returns: | A reference to this WindowInfoControl.

  WindowInfoControl &`operator=`(WindowInfoControl const &in_that)

    Share the underlying smart-pointer of the WindowInfoControl source.

    Parameters: | in_that – The WindowInfoControl source of the assignment.
    Returns: | A reference to this WindowInfoControl.

  bool `ShowColorBitPlanes`(size_t &out_planes) const

    Shows the number of color bit planes present for each pixel in the frame buffer.

    Parameters: | out_planes – The number of color bit planes present for each pixel in the frame buffer.
    Returns: | true if the color bit plane count can be queried from the hardware, false otherwise.

  bool `ShowDepthBufferSize`(size_t &out_bits) const

    Shows the number of bits used in this window’s depth buffer.

    Parameters: | out_bits – The number of bits used in this window’s depth buffer.
    Returns: | true if depth buffer size can be queried from the hardware, false otherwise.

  bool `ShowDepthPeelingLayers`(size_t &out_layers) const

    Shows the number of depth peeling layers that are supported for this window associated with this control.

    Parameters: | out_layers – The number of depth peeling layers that are supported for this window associated with this control.
    Returns: | true if depth peeling layers can be queried from the hardware, false otherwise.

  bool `ShowGPUName`(UTF8 &out_name) const

    Shows the name of the GPU that is being used to render to this window.

    Parameters: | out_name – The name of the GPU.
    Returns: | true if the name can be queried from the hardware, false otherwise.

  bool `ShowLastUpdateInfo`(UpdateInfo &out_info) const

    Shows information pertaining to the last performed update.

    Parameters: | out_info – The information pertaining to the last performed update.
    Returns: | false if called before the initial update, true otherwise.

  bool `ShowLastUpdateTime`(Time &out_time) const

    Shows the time taken (in milliseconds) to complete the last update. This function is limited to the resolution of the system timer. In practice, that means that frame rates above 20 per second cannot be accurately measured in this manner.

    Parameters: | out_time – The time taken (in milliseconds) to complete the last update.
    Returns: | false if called before the initial update, true otherwise.

  bool `ShowMaxLights`(size_t &out_lights) const

    Shows the maximum number of lights that can be used within the window associated with this control.

    Parameters: | out_lights – The maximum number of lights that can be used within the window associated with this control.
    Returns: | true if the maximum light count can be queried from the hardware, false otherwise.

  bool `ShowMaxTextureSize`(unsigned int &out_width, unsigned int &out_height) const

    Shows the maximum texture size that can be used.

    Parameters: | out_width – The maximum texture width that can be used. out_height – The maximum texture height that can be used.
    Returns: | true if the maximum texture size can be queried from the hardware, false otherwise.

  bool `ShowPhysicalPixels`(unsigned int &out_width, unsigned int &out_height) const

    Shows the number of pixels in the physical display (monitor, off-screen renderer, printer, etc.).

    Parameters: | out_width – The width of the physical display in pixels. out_height – The height of the physical display in pixels.
    Returns: | true if the setting is valid, false otherwise.

  bool `ShowPhysicalSize`(float &out_width, float &out_height) const

    Shows the size, in centimeters, of the physical display (monitor, off-screen renderer, printer, etc.).

    Parameters: | out_width – The width of the physical display in centimeters. out_height – The height of the physical display in centimeters.
    Returns: | true if the setting is valid, false otherwise.

  bool `ShowPixelAspectRatio`(float &out_pixel_aspect) const

    Shows the aspect ratio of the window’s pixels. This is computed as the horizontal resolution divided by the vertical resolution.

    Parameters: | out_pixel_aspect – The aspect ratio of the window defined as width / height in pixels.
    Returns: | true if the setting is valid, false otherwise.

  bool `ShowResolution`(float &out_horizontal, float &out_vertical) const

    Shows both the horizontal and vertical resolution of the window. Resolution is computed as pixels per centimeter. If the size or the pixels are not set, this function will return false.

    Parameters: | out_horizontal – The horizontal resolution of the window. out_vertical – The vertical resolution of the window.
    Returns: | true if the setting is valid, false otherwise.

  bool `ShowVideoMemory`(size_t &out_video_memory) const

    Shows the number (in MB) of video memory available on the system.

    Parameters: | out_video_memory – The number (in MB) of video memory available on the system.
    Returns: | true if video memory can be queried from the hardware, false otherwise.

  bool `ShowWindowAspectRatio`(float &out_window_aspect) const

    Shows the aspect ratio of the window. Aspect ratio is computed as width / height in centimeters.

    Parameters: | out_window_aspect – The aspect ratio of the window defined as width / height in centimeters.
    Returns: | true if the setting is valid, false otherwise.

  bool `ShowWindowPixels`(unsigned int &out_width, unsigned int &out_height) const

    Shows the number of pixels in the window.

    Parameters: | out_width – The width of the window in pixels. out_height – The height of the window in pixels.
    Returns: | true if the setting is valid, false otherwise.

  bool `ShowWindowSize`(float &out_width, float &out_height) const

    Shows the size, in centimeters, of the window.

    Parameters: | out_width – The width of the window in centimeters. out_height – The height of the window in centimeters.
    Returns: | true if the setting is valid, false otherwise.

  `WindowInfoControl`(WindowInfoControl &&in_that)

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

    Parameters: | in_that – An rvalue reference to a WindowInfoControl to take the impl from.

  `WindowInfoControl`(WindowInfoControl const &in_that)

    Initializes a control tied to the same object as in_that.

  explicit `WindowInfoControl`(WindowKey &in_window)

    Initializes a control tied to the window segment in_window.

  `~WindowInfoControl`()

    Releases a reference to the database object this control is tied to.

  Public Static Attributes

  static const HPS::Type `staticType` = HPS::Type::WindowInfoControl

Conversation saved
HOOPSY BETA

### Hello! I'm HOOPSY

Your multilingual generative AI assistant for documentation. Ask me anything about HOOPS Visualize Desktop in your own language, or choose a sample question below to start a conversation:

What is HOOPS Visualize Desktop?
What are the latest release notes for HOOPS Visualize Desktop?
How do I start evaluating HOOPS Visualize Desktop?
How do I write my first sample application?
How can I get assistance?

HOOPSY may store conversations according to OpenAI's policy. Responses may not always be accurate.

HOOPSY is thinking...