pub struct ExternCanvas {
    pub handle: ControlHandle,
}
Expand description

An ExternCanvas is a window/children control that is painted to by an external API (such as OpenGL, Vulkan or DirectX).

When building a ExternCanvas, leaving the parent field empty will create a window-like canvas. If a parent is set, the canvas will be a children control (like a button). When used as a child, ExternCanvas can be used as a way to add highly dynamic controls to a NWG application (ex: a video player).

Requires the extern-canvas feature.

As a top level window, the extern canvas has the same features as the window control. As a children control, resize and move events cannot be triggered and window parameters are not visible.

Builder parameters:

  • flags: The window flags. See ExternCanvasFlags
  • ex_flags: A combination of win32 window extended flags. Unlike flags, ex_flags must be used straight from winapi
  • title: The text in the window title bar
  • size: The default size of the window
  • position: The default position of the window in the desktop
  • icon: The window icon
  • parent: Logical parent of the window, unlike children controls, this is NOT required.

Control events:

  • OnInit: The window was created
  • MousePress(_): Generic mouse press events on the button
  • OnMouseMove: Generic mouse mouse event
  • OnMouseWheel: Generic mouse wheel event
  • OnPaint: Generic on paint event
  • OnKeyPress: Generic key press
  • OnKeyRelease: Generic ket release
  • OnResize: When the window is resized
  • OnResizeBegin: Just before the window begins being resized by the user
  • OnResizeEnd: Just after the user stops resizing the window
  • OnWindowMaximize: When the window is maximized
  • OnWindowMinimize: When the window is minimized
  • OnMove: When the window is moved by the user
  • OnMinMaxInfo: When the size or position of the window is about to change and the size of the windows must be restricted

Fields

handle: ControlHandle

Implementations

Invalidate the whole drawing region. For canvas that are children control, this should be called in the paint event.

Return the icon of the window

Set the icon in the window

  • icon: The new icon. If None, the icon is removed

Return true if the control currently has the keyboard focus

Set the keyboard focus on the button

Return true if the control user can interact with the control, return false otherwise

Enable or disable the control

Return true if the control is visible to the user. Will return true even if the control is outside of the parent client view (ex: at the position (10000, 10000))

Show or hide the control to the user

Return the size of the button in the parent window

Return the physical size of canvas in pixels considering the dpi scale

Set the size of the button in the parent window

Return the position of the button in the parent window

Set the position of the button in the parent window

Return window title

Set the window title

Winapi class name used during control creation

Winapi flags required by the control

Trait Implementations

Returns the “default value” for a type. Read more

Executes the destructor for this type. Read more

Converts to this type from the input type.

Converts to this type from the input type.

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

This method tests for self and other values to be equal, and is used by ==. Read more

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.