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. SeeExternCanvasFlags
ex_flags
: A combination of win32 window extended flags. Unlikeflags
, ex_flags must be used straight from winapititle
: The text in the window title barsize
: The default size of the windowposition
: The default position of the window in the desktopicon
: The window iconparent
: Logical parent of the window, unlike children controls, this is NOT required.
Control events:
OnInit
: The window was createdMousePress(_)
: Generic mouse press events on the buttonOnMouseMove
: Generic mouse mouse eventOnMouseWheel
: Generic mouse wheel eventOnPaint
: Generic on paint eventOnKeyPress
: Generic key pressOnKeyRelease
: Generic ket releaseOnResize
: When the window is resizedOnResizeBegin
: Just before the window begins being resized by the userOnResizeEnd
: Just after the user stops resizing the windowOnWindowMaximize
: When the window is maximizedOnWindowMinimize
: When the window is minimizedOnMove
: When the window is moved by the userOnMinMaxInfo
: 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§
Source§impl ExternCanvas
impl ExternCanvas
pub fn builder<'a>() -> ExternCanvasBuilder<'a>
Sourcepub fn invalidate(&self)
pub fn invalidate(&self)
Invalidate the whole drawing region. For canvas that are children control, this should be called in the paint event.
Sourcepub fn set_icon(&self, icon: Option<&Icon>)
pub fn set_icon(&self, icon: Option<&Icon>)
Set the icon in the window
- icon: The new icon. If None, the icon is removed
Sourcepub fn enabled(&self) -> bool
pub fn enabled(&self) -> bool
Return true if the control user can interact with the control, return false otherwise
Sourcepub fn set_enabled(&self, v: bool)
pub fn set_enabled(&self, v: bool)
Enable or disable the control
Sourcepub fn visible(&self) -> bool
pub fn visible(&self) -> bool
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))
Sourcepub fn set_visible(&self, v: bool)
pub fn set_visible(&self, v: bool)
Show or hide the control to the user
Sourcepub fn physical_size(&self) -> (u32, u32)
pub fn physical_size(&self) -> (u32, u32)
Return the physical size of canvas in pixels considering the dpi scale
Sourcepub fn set_position(&self, x: i32, y: i32)
pub fn set_position(&self, x: i32, y: i32)
Set the position of the button in the parent window
Sourcepub fn class_name(&self) -> &'static str
pub fn class_name(&self) -> &'static str
Winapi class name used during control creation
pub fn flags(&self) -> u32
Sourcepub fn forced_flags(&self) -> u32
pub fn forced_flags(&self) -> u32
Winapi flags required by the control