Struct ExternCanvas

Source
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§

Source§

impl ExternCanvas

Source

pub fn builder<'a>() -> ExternCanvasBuilder<'a>

Source

pub fn invalidate(&self)

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

Source

pub fn icon(&self) -> Option<Icon>

Return the icon of the window

Source

pub fn set_icon(&self, icon: Option<&Icon>)

Set the icon in the window

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

pub fn focus(&self) -> bool

Return true if the control currently has the keyboard focus

Source

pub fn set_focus(&self)

Set the keyboard focus on the button

Source

pub fn enabled(&self) -> bool

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

Source

pub fn set_enabled(&self, v: bool)

Enable or disable the control

Source

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))

Source

pub fn set_visible(&self, v: bool)

Show or hide the control to the user

Source

pub fn size(&self) -> (u32, u32)

Return the size of the button in the parent window

Source

pub fn physical_size(&self) -> (u32, u32)

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

Source

pub fn set_size(&self, x: u32, y: u32)

Set the size of the button in the parent window

Source

pub fn position(&self) -> (i32, i32)

Return the position of the button in the parent window

Source

pub fn set_position(&self, x: i32, y: i32)

Set the position of the button in the parent window

Source

pub fn text(&self) -> String

Return window title

Source

pub fn set_text<'a>(&self, v: &'a str)

Set the window title

Source

pub fn class_name(&self) -> &'static str

Winapi class name used during control creation

Source

pub fn flags(&self) -> u32

Source

pub fn forced_flags(&self) -> u32

Winapi flags required by the control

Trait Implementations§

Source§

impl Default for ExternCanvas

Source§

fn default() -> ExternCanvas

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

impl Drop for ExternCanvas

Source§

fn drop(&mut self)

Executes the destructor for this type. Read more
Source§

impl From<&ExternCanvas> for ControlHandle

Source§

fn from(control: &ExternCanvas) -> Self

Converts to this type from the input type.
Source§

impl From<&mut ExternCanvas> for ControlHandle

Source§

fn from(control: &mut ExternCanvas) -> Self

Converts to this type from the input type.
Source§

impl PartialEq<ControlHandle> for ExternCanvas

Source§

fn eq(&self, other: &ControlHandle) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl PartialEq<ExternCanvas> for ControlHandle

Source§

fn eq(&self, other: &ExternCanvas) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

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

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.