pub struct Icon {
    pub handle: HANDLE,
    /* private fields */
}
Expand description

A wrapper over a icon file (*.ico)

Windows icons are a legacy thing and should only be used when winapi forces you to use them (ex: when setting a window icon). The Bitmap object of NWG not only supports transparency if “image-decoder” is enabled but it can also be create from multiple different sources (including “.ico” files).

To display a icon in an application, see the ImageFrame control.

Note: Loading an icon from binary source (source_bin) REQUIRES the “image-decoder” feature.

Builder parameters:

  • source_file: The source of the icon if it is a file.
  • source_bin: The source of the icon if it is a binary blob. For example using include_bytes!("my_icon.ico").
  • source_system: The source of the icon if it is a system resource (see OemIcon)
  • source_embed: The source of the icon if it is stored in an embedded file
  • source_embed_id: The number identifier of the icon in the embedded file
  • source_embed_str: The string identifier of the icon in the embedded file
  • size: Optional. Resize the image to this size.
  • strict: Use a system placeholder instead of panicking if the image source do no exists.

Example:

use native_windows_gui as nwg;

fn load_icon() -> nwg::Icon {
    nwg::Icon::from_file("hello.ico", true).unwrap()
}

fn load_icon_builder() -> nwg::Icon {
    let mut icon = nwg::Icon::default();

    nwg::Icon::builder()
        .source_file(Some("hello.ico"))
        .strict(true)
        .build(&mut icon);

    icon
}

Fields

handle: HANDLE

Implementations

Single line helper function over the icon builder api.

Use system resources.

Single line helper function over the icon builder api.

Use a file resource.

Single line helper function over the icon builder api.

Use a binary resource.

Single line helper function over the icon builder api.

Use an embedded resource. Either embed_id or embed_str must be defined, not both.

Requires the embed-resource feature.

Trait Implementations

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

Executes the destructor for this type. 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.