sdl3-bindgen-sys
Safe HaskellNone
LanguageGHC2021

SDL3.Sys.Tray

Description

SDL offers a way to add items to the "system tray" (more correctly called the "notification area" on Windows). On platforms that offer this concept, an SDL app can add a tray icon, submenus, checkboxes, and clickable entries, and register a callback that is fired when the user clicks on these pieces. An opaque handle representing a toplevel system tray object.

FFI conventions

Unsuffixed aliases are unsafe foreign imports; aliases suffixed Safe are safe. Functions whose callbacks fire during the call export only the Safe alias (the genuine unsafe import stays reachable under SDL3.Sys.Bindgen.Tray.Unsafe); functions curated unsafe-only export only the unsuffixed one. Each alias's documentation records its flavor and rationale.

Full conventions: SDL3.Sys.

Since: 3.2.0

Synopsis

Documentation

Typed constants

pattern SDL_TRAYENTRY_BUTTON :: SDL_TrayEntryFlags Source #

Typed constant for macro SDL_TRAYENTRY_BUTTON. Combine with .|. from Data.Bits.

pattern SDL_TRAYENTRY_CHECKBOX :: SDL_TrayEntryFlags Source #

Typed constant for macro SDL_TRAYENTRY_CHECKBOX. Combine with .|. from Data.Bits.

pattern SDL_TRAYENTRY_SUBMENU :: SDL_TrayEntryFlags Source #

Typed constant for macro SDL_TRAYENTRY_SUBMENU. Combine with .|. from Data.Bits.

pattern SDL_TRAYENTRY_DISABLED :: SDL_TrayEntryFlags Source #

Typed constant for macro SDL_TRAYENTRY_DISABLED. Combine with .|. from Data.Bits.

pattern SDL_TRAYENTRY_CHECKED :: SDL_TrayEntryFlags Source #

Typed constant for macro SDL_TRAYENTRY_CHECKED. Combine with .|. from Data.Bits.

Function aliases

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
createTrayMenu, getTrayMenu, destroyTray

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_CreateTray. The safe flavor is createTraySafe .
C declaration
SDL_CreateTray, defined at SDL3/SDL_tray.h 121:40

Since: 3.2.0

createTraySafe 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
createTrayMenu, getTrayMenu, destroyTray

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_CreateTray. The unsafe flavor is createTray .
C declaration
SDL_CreateTray, defined at SDL3/SDL_tray.h 121:40

Since: 3.2.0

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
createTray

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_SetTrayIcon. The safe flavor is setTrayIconSafe .
C declaration
SDL_SetTrayIcon, defined at SDL3/SDL_tray.h 136:34

Since: 3.2.0

setTrayIconSafe 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
createTray

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_SetTrayIcon. The unsafe flavor is setTrayIcon .
C declaration
SDL_SetTrayIcon, defined at SDL3/SDL_tray.h 136:34

Since: 3.2.0

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
createTray

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_SetTrayTooltip. The safe flavor is setTrayTooltipSafe .
C declaration
SDL_SetTrayTooltip, defined at SDL3/SDL_tray.h 151:34

Since: 3.2.0

setTrayTooltipSafe 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
createTray

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_SetTrayTooltip. The unsafe flavor is setTrayTooltip .
C declaration
SDL_SetTrayTooltip, defined at SDL3/SDL_tray.h 151:34

Since: 3.2.0

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 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
createTray, getTrayMenu, getTrayMenuParentTray

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_CreateTrayMenu. The safe flavor is createTrayMenuSafe .
C declaration
SDL_CreateTrayMenu, defined at SDL3/SDL_tray.h 175:44

Since: 3.2.0

createTrayMenuSafe 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 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
createTray, getTrayMenu, getTrayMenuParentTray

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_CreateTrayMenu. The unsafe flavor is createTrayMenu .
C declaration
SDL_CreateTrayMenu, defined at SDL3/SDL_tray.h 175:44

Since: 3.2.0

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 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
insertTrayEntryAt, getTraySubmenu, getTrayMenuParentEntry

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_CreateTraySubmenu. The safe flavor is createTraySubmenuSafe .
C declaration
SDL_CreateTraySubmenu, defined at SDL3/SDL_tray.h 199:44

Since: 3.2.0

createTraySubmenuSafe 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 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
insertTrayEntryAt, getTraySubmenu, getTrayMenuParentEntry

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_CreateTraySubmenu. The unsafe flavor is createTraySubmenu .
C declaration
SDL_CreateTraySubmenu, defined at SDL3/SDL_tray.h 199:44

Since: 3.2.0

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 createTrayMenu on the tray object. This function allows you to fetch it again later.

This function does the same thing as 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
createTray, createTrayMenu

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_GetTrayMenu. The safe flavor is getTrayMenuSafe .
C declaration
SDL_GetTrayMenu, defined at SDL3/SDL_tray.h 223:44

Since: 3.2.0

getTrayMenuSafe 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 createTrayMenu on the tray object. This function allows you to fetch it again later.

This function does the same thing as 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
createTray, createTrayMenu

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_GetTrayMenu. The unsafe flavor is getTrayMenu .
C declaration
SDL_GetTrayMenu, defined at SDL3/SDL_tray.h 223:44

Since: 3.2.0

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 createTraySubmenu on the entry object. This function allows you to fetch it again later.

This function does the same thing as 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
insertTrayEntryAt, createTraySubmenu

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_GetTraySubmenu. The safe flavor is getTraySubmenuSafe .
C declaration
SDL_GetTraySubmenu, defined at SDL3/SDL_tray.h 247:44

Since: 3.2.0

getTraySubmenuSafe 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 createTraySubmenu on the entry object. This function allows you to fetch it again later.

This function does the same thing as 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
insertTrayEntryAt, createTraySubmenu

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_GetTraySubmenu. The unsafe flavor is getTraySubmenu .
C declaration
SDL_GetTraySubmenu, defined at SDL3/SDL_tray.h 247:44

Since: 3.2.0

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
removeTrayEntry, insertTrayEntryAt

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_GetTrayEntries. The safe flavor is getTrayEntriesSafe .
C declaration
SDL_GetTrayEntries, defined at SDL3/SDL_tray.h 267:52

Since: 3.2.0

getTrayEntriesSafe 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
removeTrayEntry, insertTrayEntryAt

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_GetTrayEntries. The unsafe flavor is getTrayEntries .
C declaration
SDL_GetTrayEntries, defined at SDL3/SDL_tray.h 267:52

Since: 3.2.0

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
getTrayEntries, insertTrayEntryAt

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_RemoveTrayEntry. The safe flavor is removeTrayEntrySafe .
C declaration
SDL_RemoveTrayEntry, defined at SDL3/SDL_tray.h 282:34

Since: 3.2.0

removeTrayEntrySafe 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
getTrayEntries, insertTrayEntryAt

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_RemoveTrayEntry. The unsafe flavor is removeTrayEntry .
C declaration
SDL_RemoveTrayEntry, defined at SDL3/SDL_tray.h 282:34

Since: 3.2.0

insertTrayEntryAt Source #

Arguments

:: Ptr SDL_TrayMenu
menu
the menu to append the entry to.
-> Int32
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, getTrayEntries, removeTrayEntry, getTrayEntryParent

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_InsertTrayEntryAt. The safe flavor is insertTrayEntryAtSafe .
Scalars
The binding generation has mapped C scalars to native Haskell scalars for this function. Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
C declaration
SDL_InsertTrayEntryAt, defined at SDL3/SDL_tray.h 310:45

Since: 3.2.0

insertTrayEntryAtSafe Source #

Arguments

:: Ptr SDL_TrayMenu
menu
the menu to append the entry to.
-> Int32
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, getTrayEntries, removeTrayEntry, getTrayEntryParent

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_InsertTrayEntryAt. The unsafe flavor is insertTrayEntryAt .
Scalars
The binding generation has mapped C scalars to native Haskell scalars for this function. Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
C declaration
SDL_InsertTrayEntryAt, defined at SDL3/SDL_tray.h 310:45

Since: 3.2.0

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
getTrayEntries, insertTrayEntryAt, getTrayEntryLabel

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_SetTrayEntryLabel. The safe flavor is setTrayEntryLabelSafe .
C declaration
SDL_SetTrayEntryLabel, defined at SDL3/SDL_tray.h 332:34

Since: 3.2.0

setTrayEntryLabelSafe 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
getTrayEntries, insertTrayEntryAt, getTrayEntryLabel

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_SetTrayEntryLabel. The unsafe flavor is setTrayEntryLabel .
C declaration
SDL_SetTrayEntryLabel, defined at SDL3/SDL_tray.h 332:34

Since: 3.2.0

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
getTrayEntries, insertTrayEntryAt, setTrayEntryLabel

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_GetTrayEntryLabel. The safe flavor is getTrayEntryLabelSafe .
C declaration
SDL_GetTrayEntryLabel, defined at SDL3/SDL_tray.h 351:42

Since: 3.2.0

getTrayEntryLabelSafe 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
getTrayEntries, insertTrayEntryAt, setTrayEntryLabel

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_GetTrayEntryLabel. The unsafe flavor is getTrayEntryLabel .
C declaration
SDL_GetTrayEntryLabel, defined at SDL3/SDL_tray.h 351:42

Since: 3.2.0

setTrayEntryChecked Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry to be updated.
-> Bool
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
getTrayEntries, insertTrayEntryAt, getTrayEntryChecked

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_SetTrayEntryChecked. The safe flavor is setTrayEntryCheckedSafe .
Scalars
The binding generation has mapped C scalars to native Haskell scalars for this function. Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
C declaration
SDL_SetTrayEntryChecked, defined at SDL3/SDL_tray.h 370:34

Since: 3.2.0

setTrayEntryCheckedSafe Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry to be updated.
-> Bool
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
getTrayEntries, insertTrayEntryAt, getTrayEntryChecked

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_SetTrayEntryChecked. The unsafe flavor is setTrayEntryChecked .
Scalars
The binding generation has mapped C scalars to native Haskell scalars for this function. Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
C declaration
SDL_SetTrayEntryChecked, defined at SDL3/SDL_tray.h 370:34

Since: 3.2.0

getTrayEntryChecked Source #

Arguments

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

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
getTrayEntries, insertTrayEntryAt, setTrayEntryChecked

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_GetTrayEntryChecked. The safe flavor is getTrayEntryCheckedSafe .
Scalars
The binding generation has mapped C scalars to native Haskell scalars for this function. Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
C declaration
SDL_GetTrayEntryChecked, defined at SDL3/SDL_tray.h 389:34

Since: 3.2.0

getTrayEntryCheckedSafe Source #

Arguments

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

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
getTrayEntries, insertTrayEntryAt, setTrayEntryChecked

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_GetTrayEntryChecked. The unsafe flavor is getTrayEntryChecked .
Scalars
The binding generation has mapped C scalars to native Haskell scalars for this function. Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
C declaration
SDL_GetTrayEntryChecked, defined at SDL3/SDL_tray.h 389:34

Since: 3.2.0

setTrayEntryEnabled Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry to be updated.
-> Bool
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
getTrayEntries, insertTrayEntryAt, getTrayEntryEnabled

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_SetTrayEntryEnabled. The safe flavor is setTrayEntryEnabledSafe .
Scalars
The binding generation has mapped C scalars to native Haskell scalars for this function. Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
C declaration
SDL_SetTrayEntryEnabled, defined at SDL3/SDL_tray.h 406:34

Since: 3.2.0

setTrayEntryEnabledSafe Source #

Arguments

:: Ptr SDL_TrayEntry
entry
the entry to be updated.
-> Bool
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
getTrayEntries, insertTrayEntryAt, getTrayEntryEnabled

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_SetTrayEntryEnabled. The unsafe flavor is setTrayEntryEnabled .
Scalars
The binding generation has mapped C scalars to native Haskell scalars for this function. Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
C declaration
SDL_SetTrayEntryEnabled, defined at SDL3/SDL_tray.h 406:34

Since: 3.2.0

getTrayEntryEnabled Source #

Arguments

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

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
getTrayEntries, insertTrayEntryAt, setTrayEntryEnabled

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_GetTrayEntryEnabled. The safe flavor is getTrayEntryEnabledSafe .
Scalars
The binding generation has mapped C scalars to native Haskell scalars for this function. Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
C declaration
SDL_GetTrayEntryEnabled, defined at SDL3/SDL_tray.h 423:34

Since: 3.2.0

getTrayEntryEnabledSafe Source #

Arguments

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

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
getTrayEntries, insertTrayEntryAt, setTrayEntryEnabled

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_GetTrayEntryEnabled. The unsafe flavor is getTrayEntryEnabled .
Scalars
The binding generation has mapped C scalars to native Haskell scalars for this function. Pointers and structs are untouched by this best-effort mapping. Higher-level bindings are expected to map structs and pointers as appropriate.
C declaration
SDL_GetTrayEntryEnabled, defined at SDL3/SDL_tray.h 423:34

Since: 3.2.0

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
getTrayEntries, insertTrayEntryAt

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_SetTrayEntryCallback. The safe flavor is setTrayEntryCallbackSafe : registration; fires from the event loop.
C declaration
SDL_SetTrayEntryCallback, defined at SDL3/SDL_tray.h 441:34

Since: 3.2.0

setTrayEntryCallbackSafe 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
getTrayEntries, insertTrayEntryAt

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_SetTrayEntryCallback. The unsafe flavor is setTrayEntryCallback : registration; fires from the event loop.
C declaration
SDL_SetTrayEntryCallback, defined at SDL3/SDL_tray.h 441:34

Since: 3.2.0

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.

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_ClickTrayEntry. The safe flavor is clickTrayEntrySafe .
C declaration
SDL_ClickTrayEntry, defined at SDL3/SDL_tray.h 453:34

Since: 3.2.0

clickTrayEntrySafe 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.

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_ClickTrayEntry. The unsafe flavor is clickTrayEntry .
C declaration
SDL_ClickTrayEntry, defined at SDL3/SDL_tray.h 453:34

Since: 3.2.0

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
createTray

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_DestroyTray. The safe flavor is destroyTraySafe .
C declaration
SDL_DestroyTray, defined at SDL3/SDL_tray.h 469:34

Since: 3.2.0

destroyTraySafe 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
createTray

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_DestroyTray. The unsafe flavor is destroyTray .
C declaration
SDL_DestroyTray, defined at SDL3/SDL_tray.h 469:34

Since: 3.2.0

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
insertTrayEntryAt

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_GetTrayEntryParent. The safe flavor is getTrayEntryParentSafe .
C declaration
SDL_GetTrayEntryParent, defined at SDL3/SDL_tray.h 484:44

Since: 3.2.0

getTrayEntryParentSafe 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
insertTrayEntryAt

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_GetTrayEntryParent. The unsafe flavor is getTrayEntryParent .
C declaration
SDL_GetTrayEntryParent, defined at SDL3/SDL_tray.h 484:44

Since: 3.2.0

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 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
createTraySubmenu, getTrayMenuParentTray

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_GetTrayMenuParentEntry. The safe flavor is getTrayMenuParentEntrySafe .
C declaration
SDL_GetTrayMenuParentEntry, defined at SDL3/SDL_tray.h 504:45

Since: 3.2.0

getTrayMenuParentEntrySafe 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 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
createTraySubmenu, getTrayMenuParentTray

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_GetTrayMenuParentEntry. The unsafe flavor is getTrayMenuParentEntry .
C declaration
SDL_GetTrayMenuParentEntry, defined at SDL3/SDL_tray.h 504:45

Since: 3.2.0

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 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
createTrayMenu, getTrayMenuParentEntry

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_GetTrayMenuParentTray. The safe flavor is getTrayMenuParentTraySafe .
C declaration
SDL_GetTrayMenuParentTray, defined at SDL3/SDL_tray.h 524:40

Since: 3.2.0

getTrayMenuParentTraySafe 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 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
createTrayMenu, getTrayMenuParentEntry

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_GetTrayMenuParentTray. The unsafe flavor is getTrayMenuParentTray .
C declaration
SDL_GetTrayMenuParentTray, defined at SDL3/SDL_tray.h 524:40

Since: 3.2.0

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.

sdl3-bindgen-sys notes

Expand
FFI safety
Unsafe foreign import of SDL_UpdateTrays. The safe flavor is updateTraysSafe .
C declaration
SDL_UpdateTrays, defined at SDL3/SDL_tray.h 536:34

Since: 3.2.0

updateTraysSafe :: 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.

sdl3-bindgen-sys notes

Expand
FFI safety
Safe foreign import of SDL_UpdateTrays. The unsafe flavor is updateTrays .
C declaration
SDL_UpdateTrays, defined at SDL3/SDL_tray.h 536:34

Since: 3.2.0