Search documentation of wx

# wxImageList (wx v2.6)

Copy Markdown View Source

A `wxImageList` contains a list of images, which are stored in an unspecified form.

Images can have masks for transparent drawing, and can be made from a variety of sources including bitmaps and icons.

`wxImageList` is used principally in conjunction with `wxTreeCtrl` and `wxListCtrl` classes.

See:

- `wxTreeCtrl`

- `wxListCtrl`

wxWidgets docs: wxImageList

## Summary

### Types

wxImageList()

### Functions

add(This, Icon)

Adds a new image using an icon.

add/3

Adds a new image or images using a bitmap and mask colour.

create(This, Width, Height)

Equivalent to `create(This, Width, Height, [])`.

create/4

Initializes the list.

destroy(This)

Destroys the object

draw(This, Index, Dc, X, Y)

Equivalent to `draw(This, Index, Dc, X, Y, [])`.

draw/6

Draws a specified image onto a device context.

getBitmap(This, Index)

Returns the bitmap corresponding to the given index.

getIcon(This, Index)

Returns the icon corresponding to the given index.

getImageCount(This)

Returns the number of images in the list.

getSize(This, Index)

Retrieves the size of the images in the list.

new()

Default ctor.

new(Width, Height)

Equivalent to `new(Width, Height, [])`.

new(Width, Height, Options)

Constructor specifying the image size, whether image masks should be created, and the initial size of the list.

remove(This, Index)

Removes the image at the given position.

removeAll(This)

Removes all the images in the list.

replace(This, Index, Icon)

Replaces the existing image with the new image.

replace(This, Index, Bitmap, Mask)

Replaces the existing image with the new image.

## Types

# wxImageList()

    -type wxImageList() :: wx:wx_object().

## Functions

# add(This, Icon)

    -spec add(This, Icon) -> integer()
                 when This :: wxImageList(), Icon :: wxIcon:wxIcon() | wxBitmap:wxBitmap().

Adds a new image using an icon.

Return: The new zero-based image index.

Remark: The original bitmap or icon is not affected by the `add/3` operation, and can be deleted afterwards. If the bitmap is wider than the images in the list, then the bitmap will automatically be split into smaller images, each matching the dimensions of the image list. This does not apply when adding icons.

Only for:wxmsw,wxosx

# add/3

    -spec add(This, Bitmap, Mask) -> integer()
                 when This :: wxImageList(), Bitmap :: wxBitmap:wxBitmap(), Mask :: wxBitmap:wxBitmap();
             (This, Bitmap, MaskColour) -> integer()
                 when This :: wxImageList(), Bitmap :: wxBitmap:wxBitmap(), MaskColour :: wx:wx_colour().

Adds a new image or images using a bitmap and mask colour.

Return: The new zero-based image index.

Remark: The original bitmap or icon is not affected by the `add/3` operation, and can be deleted afterwards. If the bitmap is wider than the images in the list, then the bitmap will automatically be split into smaller images, each matching the dimensions of the image list. This does not apply when adding icons.

# create(This, Width, Height)

    -spec create(This, Width, Height) -> boolean()
                    when This :: wxImageList(), Width :: integer(), Height :: integer().

Equivalent to `create(This, Width, Height, [])`.

# create/4

    -spec create(This, Width, Height, [Option]) -> boolean()
                    when
                        This :: wxImageList(),
                        Width :: integer(),
                        Height :: integer(),
                        Option :: {mask, boolean()} | {initialCount, integer()}.

Initializes the list.

See `new/3` for details.

# destroy(This)

    -spec destroy(This :: wxImageList()) -> ok.

Destroys the object

# draw(This, Index, Dc, X, Y)

    -spec draw(This, Index, Dc, X, Y) -> boolean()
                  when
                      This :: wxImageList(),
                      Index :: integer(),
                      Dc :: wxDC:wxDC(),
                      X :: integer(),
                      Y :: integer().

Equivalent to `draw(This, Index, Dc, X, Y, [])`.

# draw/6

    -spec draw(This, Index, Dc, X, Y, [Option]) -> boolean()
                  when
                      This :: wxImageList(),
                      Index :: integer(),
                      Dc :: wxDC:wxDC(),
                      X :: integer(),
                      Y :: integer(),
                      Option :: {flags, integer()} | {solidBackground, boolean()}.

Draws a specified image onto a device context.

# getBitmap(This, Index)

    -spec getBitmap(This, Index) -> wxBitmap:wxBitmap() when This :: wxImageList(), Index :: integer().

Returns the bitmap corresponding to the given index.

# getIcon(This, Index)

    -spec getIcon(This, Index) -> wxIcon:wxIcon() when This :: wxImageList(), Index :: integer().

Returns the icon corresponding to the given index.

# getImageCount(This)

    -spec getImageCount(This) -> integer() when This :: wxImageList().

Returns the number of images in the list.

# getSize(This, Index)

    -spec getSize(This, Index) -> Result
                     when
                         Result :: {Res :: boolean(), Width :: integer(), Height :: integer()},
                         This :: wxImageList(),
                         Index :: integer().

Retrieves the size of the images in the list.

Currently, the `index` parameter is ignored as all images in the list have the same size.

Return: true if the function succeeded, false if it failed (for example, if the image list was not yet initialized).

# new()

    -spec new() -> wxImageList().

Default ctor.

# new(Width, Height)

    -spec new(Width, Height) -> wxImageList() when Width :: integer(), Height :: integer().

Equivalent to `new(Width, Height, [])`.

# new(Width, Height, Options)

    -spec new(Width, Height, [Option]) -> wxImageList()
                 when
                     Width :: integer(),
                     Height :: integer(),
                     Option :: {mask, boolean()} | {initialCount, integer()}.

Constructor specifying the image size, whether image masks should be created, and the initial size of the list.

See: `create/4`

# remove(This, Index)

    -spec remove(This, Index) -> boolean() when This :: wxImageList(), Index :: integer().

Removes the image at the given position.

# removeAll(This)

    -spec removeAll(This) -> boolean() when This :: wxImageList().

Removes all the images in the list.

# replace(This, Index, Icon)

    -spec replace(This, Index, Icon) -> boolean()
                     when
                         This :: wxImageList(),
                         Index :: integer(),
                         Icon :: wxIcon:wxIcon() | wxBitmap:wxBitmap().

Replaces the existing image with the new image.

Return: true if the replacement was successful, false otherwise.

Remark: The original bitmap or icon is not affected by the `replace/4` operation, and can be deleted afterwards.

Only for:wxmsw,wxosx

# replace(This, Index, Bitmap, Mask)

    -spec replace(This, Index, Bitmap, Mask) -> boolean()
                     when
                         This :: wxImageList(),
                         Index :: integer(),
                         Bitmap :: wxBitmap:wxBitmap(),
                         Mask :: wxBitmap:wxBitmap().

Replaces the existing image with the new image.

Windows only.

Return: true if the replacement was successful, false otherwise.

Remark: The original bitmap or icon is not affected by the `replace/4` operation, and can be deleted afterwards.