sdl3-bindgen-sys
Safe HaskellNone
LanguageGHC2021

SDL3.Sys.Bindgen.Tray.Safe

Synopsis

Documentation

sDL_CreateTray Source #

Arguments

:: Ptr SDL_Surface
icon
a surface to be used as icon. May be NULL.
-> PtrConst CChar
tooltip
a tooltip to be displayed when the mouse hovers the icon in UTF-8 encoding. Not supported on all platforms. May be NULL.
-> IO (Ptr SDL_Tray) 

Create an icon to be placed in the operating system's tray, or equivalent.

Many platforms advise not using a system tray unless persistence is a necessary feature. Avoid needlessly creating a tray icon, as the user may feel like it clutters their interface.

Using tray icons require the video subsystem.

Returns
The newly created system tray icon.
Thread safety
This function should only be called on the main thread.
See also
sDL_CreateTrayMenu, sDL_GetTrayMenu, sDL_DestroyTray
C declaration
SDL_CreateTray, defined at SDL3/SDL_tray.h 121:40

Since: 3.2.0

sDL_SetTrayIcon Source #

Arguments

:: Ptr SDL_Tray
tray
the tray icon to be updated.
-> Ptr SDL_Surface
icon
the new icon. May be NULL.
-> IO () 

Updates the system tray icon's icon.

Thread safety
This function should be called on the thread that created the tray.
See also
sDL_CreateTray
C declaration
SDL_SetTrayIcon, defined at SDL3/SDL_tray.h 136:34

Since: 3.2.0

sDL_SetTrayTooltip Source #

Arguments

:: Ptr SDL_Tray
tray
the tray icon to be updated.
-> PtrConst CChar
tooltip
the new tooltip in UTF-8 encoding. May be NULL.
-> IO () 

Updates the system tray icon's tooltip.

Thread safety
This function should be called on the thread that created the tray.
See also
sDL_CreateTray
C declaration
SDL_SetTrayTooltip, defined at SDL3/SDL_tray.h 151:34

Since: 3.2.0

sDL_CreateTrayMenu Source #

Arguments

:: Ptr SDL_Tray
tray
the tray to bind the menu to.
-> IO (Ptr SDL_TrayMenu) 

Create a menu for a system tray.

This should be called at most once per tray icon.

This function does the same thing as SDL_CreateTraySubmenu(), except that it takes a SDL_Tray instead of a SDL_TrayEntry.

A menu does not need to be destroyed; it will be destroyed with the tray.

Returns
the newly created menu.
Thread safety
This function should be called on the thread that created the tray.
See also
sDL_CreateTray, sDL_GetTrayMenu, sDL_GetTrayMenuParentTray
C declaration
SDL_CreateTrayMenu, defined at SDL3/SDL_tray.h 175:44

Since: 3.2.0

sDL_CreateTraySubmenu Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the tray entry to bind the menu to.
-> IO (Ptr SDL_TrayMenu) 

Create a submenu for a system tray entry.

This should be called at most once per tray entry.

This function does the same thing as SDL_CreateTrayMenu, except that it takes a SDL_TrayEntry instead of a SDL_Tray.

A menu does not need to be destroyed; it will be destroyed with the tray.

Returns
the newly created menu.
Thread safety
This function should be called on the thread that created the tray.
See also
sDL_InsertTrayEntryAt, sDL_GetTraySubmenu, sDL_GetTrayMenuParentEntry
C declaration
SDL_CreateTraySubmenu, defined at SDL3/SDL_tray.h 199:44

Since: 3.2.0

sDL_GetTrayMenu Source #

Arguments

:: Ptr SDL_Tray
tray
the tray entry to bind the menu to.
-> IO (Ptr SDL_TrayMenu) 

Gets a previously created tray menu.

You should have called SDL_CreateTrayMenu() on the tray object. This function allows you to fetch it again later.

This function does the same thing as SDL_GetTraySubmenu(), except that it takes a SDL_Tray instead of a SDL_TrayEntry.

A menu does not need to be destroyed; it will be destroyed with the tray.

Returns
the newly created menu.
Thread safety
This function should be called on the thread that created the tray.
See also
sDL_CreateTray, sDL_CreateTrayMenu
C declaration
SDL_GetTrayMenu, defined at SDL3/SDL_tray.h 223:44

Since: 3.2.0

sDL_GetTraySubmenu Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the tray entry to bind the menu to.
-> IO (Ptr SDL_TrayMenu) 

Gets a previously created tray entry submenu.

You should have called SDL_CreateTraySubmenu() on the entry object. This function allows you to fetch it again later.

This function does the same thing as SDL_GetTrayMenu(), except that it takes a SDL_TrayEntry instead of a SDL_Tray.

A menu does not need to be destroyed; it will be destroyed with the tray.

Returns
the newly created menu.
Thread safety
This function should be called on the thread that created the tray.
See also
sDL_InsertTrayEntryAt, sDL_CreateTraySubmenu
C declaration
SDL_GetTraySubmenu, defined at SDL3/SDL_tray.h 247:44

Since: 3.2.0

sDL_GetTrayEntries Source #

Arguments

:: Ptr SDL_TrayMenu
menu
The menu to get entries from.
-> Ptr CInt
count
An optional pointer to obtain the number of entries in the menu.
-> IO (Ptr (PtrConst SDL_TrayEntry)) 

Returns a list of entries in the menu, in order.

Returns
a NULL-terminated list of entries within the given menu. The pointer becomes invalid when any function that inserts or deletes entries in the menu is called.
Thread safety
This function should be called on the thread that created the tray.
See also
sDL_RemoveTrayEntry, sDL_InsertTrayEntryAt
C declaration
SDL_GetTrayEntries, defined at SDL3/SDL_tray.h 267:52

Since: 3.2.0

sDL_RemoveTrayEntry Source #

Arguments

:: Ptr SDL_TrayEntry
entry
The entry to be deleted.
-> IO () 

Removes a tray entry.

Thread safety
This function should be called on the thread that created the tray.
See also
sDL_GetTrayEntries, sDL_InsertTrayEntryAt
C declaration
SDL_RemoveTrayEntry, defined at SDL3/SDL_tray.h 282:34

Since: 3.2.0

sDL_InsertTrayEntryAt Source #

Arguments

:: Ptr SDL_TrayMenu
menu
the menu to append the entry to.
-> CInt
pos
the desired position for the new entry. Entries at or following this place will be moved. If pos is -1, the entry is appended.
-> PtrConst CChar
label
the text to be displayed on the entry, in UTF-8 encoding, or NULL for a separator.
-> SDL_TrayEntryFlags
flags
a combination of flags, some of which are mandatory.
-> IO (Ptr SDL_TrayEntry) 

Insert a tray entry at a given position.

If label is NULL, the entry will be a separator. Many functions won't work for an entry that is a separator.

An entry does not need to be destroyed; it will be destroyed with the tray.

Returns
the newly created entry, or NULL if pos is out of bounds.
Thread safety
This function should be called on the thread that created the tray.
See also
SDL_TrayEntryFlags, sDL_GetTrayEntries, sDL_RemoveTrayEntry, sDL_GetTrayEntryParent
C declaration
SDL_InsertTrayEntryAt, defined at SDL3/SDL_tray.h 310:45

Since: 3.2.0

sDL_SetTrayEntryLabel Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry to be updated.
-> PtrConst CChar
label
the new label for the entry in UTF-8 encoding.
-> IO () 

Sets the label of an entry.

An entry cannot change between a separator and an ordinary entry; that is, it is not possible to set a non-NULL label on an entry that has a NULL label (separators), or to set a NULL label to an entry that has a non-NULL label. The function will silently fail if that happens.

Thread safety
This function should be called on the thread that created the tray.
See also
sDL_GetTrayEntries, sDL_InsertTrayEntryAt, sDL_GetTrayEntryLabel
C declaration
SDL_SetTrayEntryLabel, defined at SDL3/SDL_tray.h 332:34

Since: 3.2.0

sDL_GetTrayEntryLabel Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry to be read.
-> IO (PtrConst CChar) 

Gets the label of an entry.

If the returned value is NULL, the entry is a separator.

Returns
the label of the entry in UTF-8 encoding.
Thread safety
This function should be called on the thread that created the tray.
See also
sDL_GetTrayEntries, sDL_InsertTrayEntryAt, sDL_SetTrayEntryLabel
C declaration
SDL_GetTrayEntryLabel, defined at SDL3/SDL_tray.h 351:42

Since: 3.2.0

sDL_SetTrayEntryChecked Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry to be updated.
-> CBool
checked
true if the entry should be checked; false otherwise.
-> IO () 

Sets whether or not an entry is checked.

The entry must have been created with the SDL_TRAYENTRY_CHECKBOX flag.

Thread safety
This function should be called on the thread that created the tray.
See also
sDL_GetTrayEntries, sDL_InsertTrayEntryAt, sDL_GetTrayEntryChecked
C declaration
SDL_SetTrayEntryChecked, defined at SDL3/SDL_tray.h 370:34

Since: 3.2.0

sDL_GetTrayEntryChecked Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry to be read.
-> IO CBool 

Gets whether or not an entry is checked.

The entry must have been created with the SDL_TRAYENTRY_CHECKBOX flag.

Returns
true if the entry is checked; false otherwise.
Thread safety
This function should be called on the thread that created the tray.
See also
sDL_GetTrayEntries, sDL_InsertTrayEntryAt, sDL_SetTrayEntryChecked
C declaration
SDL_GetTrayEntryChecked, defined at SDL3/SDL_tray.h 389:34

Since: 3.2.0

sDL_SetTrayEntryEnabled Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry to be updated.
-> CBool
enabled
true if the entry should be enabled; false otherwise.
-> IO () 

Sets whether or not an entry is enabled.

Thread safety
This function should be called on the thread that created the tray.
See also
sDL_GetTrayEntries, sDL_InsertTrayEntryAt, sDL_GetTrayEntryEnabled
C declaration
SDL_SetTrayEntryEnabled, defined at SDL3/SDL_tray.h 406:34

Since: 3.2.0

sDL_GetTrayEntryEnabled Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry to be read.
-> IO CBool 

Gets whether or not an entry is enabled.

Returns
true if the entry is enabled; false otherwise.
Thread safety
This function should be called on the thread that created the tray.
See also
sDL_GetTrayEntries, sDL_InsertTrayEntryAt, sDL_SetTrayEntryEnabled
C declaration
SDL_GetTrayEntryEnabled, defined at SDL3/SDL_tray.h 423:34

Since: 3.2.0

sDL_SetTrayEntryCallback Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry to be updated.
-> SDL_TrayCallback
callback
a callback to be invoked when the entry is selected.
-> Ptr Void
userdata
an optional pointer to pass extra data to the callback when it will be invoked.
-> IO () 

Sets a callback to be invoked when the entry is selected.

Thread safety
This function should be called on the thread that created the tray.
See also
sDL_GetTrayEntries, sDL_InsertTrayEntryAt
C declaration
SDL_SetTrayEntryCallback, defined at SDL3/SDL_tray.h 441:34

Since: 3.2.0

sDL_ClickTrayEntry Source #

Arguments

:: Ptr SDL_TrayEntry
entry
The entry to activate.
-> IO () 

Simulate a click on a tray entry.

Thread safety
This function should be called on the thread that created the tray.
C declaration
SDL_ClickTrayEntry, defined at SDL3/SDL_tray.h 453:34

Since: 3.2.0

sDL_DestroyTray Source #

Arguments

:: Ptr SDL_Tray
tray
the tray icon to be destroyed.
-> IO () 

Destroys a tray object.

This also destroys all associated menus and entries.

Thread safety
This function should be called on the thread that created the tray.
See also
sDL_CreateTray
C declaration
SDL_DestroyTray, defined at SDL3/SDL_tray.h 469:34

Since: 3.2.0

sDL_GetTrayEntryParent Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry for which to get the parent menu.
-> IO (Ptr SDL_TrayMenu) 

Gets the menu containing a certain tray entry.

Returns
the parent menu.
Thread safety
This function should be called on the thread that created the tray.
See also
sDL_InsertTrayEntryAt
C declaration
SDL_GetTrayEntryParent, defined at SDL3/SDL_tray.h 484:44

Since: 3.2.0

sDL_GetTrayMenuParentEntry Source #

Arguments

:: Ptr SDL_TrayMenu
menu
the menu for which to get the parent entry.
-> IO (Ptr SDL_TrayEntry) 

Gets the entry for which the menu is a submenu, if the current menu is a submenu.

Either this function or SDL_GetTrayMenuParentTray() will return non-NULL for any given menu.

Returns
the parent entry, or NULL if this menu is not a submenu.
Thread safety
This function should be called on the thread that created the tray.
See also
sDL_CreateTraySubmenu, sDL_GetTrayMenuParentTray
C declaration
SDL_GetTrayMenuParentEntry, defined at SDL3/SDL_tray.h 504:45

Since: 3.2.0

sDL_GetTrayMenuParentTray Source #

Arguments

:: Ptr SDL_TrayMenu
menu
the menu for which to get the parent enttrayry.
-> IO (Ptr SDL_Tray) 

Gets the tray for which this menu is the first-level menu, if the current menu isn't a submenu.

Either this function or SDL_GetTrayMenuParentEntry() will return non-NULL for any given menu.

Returns
the parent tray, or NULL if this menu is a submenu.
Thread safety
This function should be called on the thread that created the tray.
See also
sDL_CreateTrayMenu, sDL_GetTrayMenuParentEntry
C declaration
SDL_GetTrayMenuParentTray, defined at SDL3/SDL_tray.h 524:40

Since: 3.2.0

sDL_UpdateTrays :: IO () Source #

Update the trays.

This is called automatically by the event loop and is only needed if you're using trays but aren't handling SDL events.

Thread safety
This function should only be called on the main thread.
C declaration
SDL_UpdateTrays, defined at SDL3/SDL_tray.h 536:34

Since: 3.2.0