Wayland Library Display Functions

Functions
Wayland Library Display Functions
Ecore » Ecore_Wl2 - Wayland integration

Functions that deal with creating, connecting, or interacting with Wayland displays. More...

## Functions
EAPI Ecore_Wl2_Display * | ecore_wl2_display_create (const char *name)
| Create a new Wayland display. More...
EAPI void | ecore_wl2_display_destroy (Ecore_Wl2_Display *display)
| Destroy an existing Wayland display. More...
EAPI Ecore_Wl2_Display * | ecore_wl2_display_connect (const char *name)
| Connect to an existing Wayland display. More...
EAPI void | ecore_wl2_display_disconnect (Ecore_Wl2_Display *display)
| Disconnect an existing Wayland display. More...
EAPI struct wl_display * | ecore_wl2_display_get (Ecore_Wl2_Display *display)
| Retrieve the existing Wayland display. More...
EAPI struct wl_shm * | ecore_wl2_display_shm_get (Ecore_Wl2_Display *display)
| Retrieve the wl_shm from a given Ecore_Wl2_Display. More...
EAPI void * | ecore_wl2_display_dmabuf_get (Ecore_Wl2_Display *display)
| Retrieve the wl_dmabuf from a given Ecore_Wl2_Display. More...
EAPI Eina_Iterator * | ecore_wl2_display_globals_get (Ecore_Wl2_Display *display)
| Return an Eina_Iterator that can be used to iterate through globals. More...
EAPI void | ecore_wl2_display_screen_size_get (Ecore_Wl2_Display *display, int *w, int *h)
| Retrieves the size of the current screen. More...
EAPI Eina_Iterator * | ecore_wl2_display_inputs_get (Ecore_Wl2_Display *display)
| Get all the Ecore_Wl2_Input from the display. More...
EAPI Ecore_Wl2_Input * | ecore_wl2_display_input_find (const Ecore_Wl2_Display *display, unsigned int id)
| Find a seat for a given display object using the seat id. More...
EAPI Ecore_Wl2_Input * | ecore_wl2_display_input_find_by_name (const Ecore_Wl2_Display *display, const char *name)
| Find a seat for a given display object using the seat id. More...
EAPI struct wl_registry * | ecore_wl2_display_registry_get (Ecore_Wl2_Display *display)
| Retrieves the Wayland Registry used for the current Wayland display. More...
EAPI Eina_Bool | ecore_wl2_display_sync_is_done (const Ecore_Wl2_Display *display)
| Check if the display has performed a sync. More...
EAPI const char * | ecore_wl2_display_name_get (const Ecore_Wl2_Display *display)
| Get the name of the display object. More...
EAPI Ecore_Wl2_Window * | ecore_wl2_display_window_find_by_surface (Ecore_Wl2_Display *display, struct wl_surface *surface)
| Finds an Ecore_Wl2_Window based on wl_surface. More...
EAPI Ecore_Wl2_Display * | ecore_wl2_connected_display_get (const char *name)
| Gets the connected display object. More...
EAPI struct wl_compositor * | ecore_wl2_display_compositor_get (Ecore_Wl2_Display *display)
| Gets the wl_compositor which belongs to this display. More...
EAPI int | ecore_wl2_display_compositor_version_get (Ecore_Wl2_Display *disp)
| Return the version of the display's compositor object. More...
EAPI void | ecore_wl2_display_terminate (Ecore_Wl2_Display *display)
| Terminate a Wayland display's main loop. More...

## Detailed Description

Functions that deal with creating, connecting, or interacting with Wayland displays.

## Function Documentation

## ◆ ecore_wl2_display_create()

EAPI Ecore_Wl2_Display* ecore_wl2_display_create | ( | const char * | name | ) |

Create a new Wayland display.

This function is typically used to create a new display for use with compositors, or to create a new display for use in nested compositors.

Parameters

  name | The display target name to create. If `NULL`, a default display name will be assigned.

Returns
  The newly created Ecore_Wl2_Display

Since
  1.17

References DBG, ECORE_FD_ERROR, ECORE_FD_READ, ecore_main_fd_handler_add(), ecore_main_fd_handler_prepare_callback_set(), eina_hash_add(), eina_hash_find(), eina_hash_string_superfast_new(), ERR, and setenv().

## ◆ ecore_wl2_display_destroy()

EAPI void ecore_wl2_display_destroy | ( | Ecore_Wl2_Display * | display | ) |

Destroy an existing Wayland display.

This function is typically used by servers to terminate an existing Wayland display.

Parameters

  display | The display to terminate

Since
  1.17

References ecore_timer_del(), eina_hash_del_by_key(), and EINA_SAFETY_ON_NULL_RETURN.

## ◆ ecore_wl2_display_connect()

EAPI Ecore_Wl2_Display* ecore_wl2_display_connect | ( | const char * | name | ) |

Connect to an existing Wayland display.

This function is typically used by clients to connect to an existing Wayland display.

Parameters

  name | The display target name to connect to. If `NULL`, the default display is assumed.

Returns
  The Ecore_Wl2_Display which was connected to

Since
  1.17

References eina_hash_add(), eina_hash_find(), eina_hash_free(), eina_hash_int32_new(), and eina_hash_string_superfast_new().

## ◆ ecore_wl2_display_disconnect()

EAPI void ecore_wl2_display_disconnect | ( | Ecore_Wl2_Display * | display | ) |

Disconnect an existing Wayland display.

This function is typically used by clients to disconnect from an existing Wayland display.

Parameters

  display | The display to disconnect from

Since
  1.17

References eina_hash_del_by_key(), and EINA_SAFETY_ON_NULL_RETURN.

Referenced by ecore_wl2_window_free().

## ◆ ecore_wl2_display_get()

EAPI struct wl_display* ecore_wl2_display_get | ( | Ecore_Wl2_Display * | display | ) |

Retrieve the existing Wayland display.

Parameters

  display | The Ecore_Wl2_Display for which to retrieve the existing Wayland display from

Returns
  The wl_display which this Ecore_Wl2_Display is using

Since
  1.17

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ ecore_wl2_display_shm_get()

EAPI struct wl_shm* ecore_wl2_display_shm_get | ( | Ecore_Wl2_Display * | display | ) |

Retrieve the wl_shm from a given Ecore_Wl2_Display.

Parameters

  display | The Ecore_Wl2_Display for which to retrieve the existing Wayland shm interface from

Returns
  The wl_shm which this Ecore_Wl2_Display is using

Since
  1.17

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ ecore_wl2_display_dmabuf_get()

EAPI void* ecore_wl2_display_dmabuf_get | ( | Ecore_Wl2_Display * | display | ) |

Retrieve the wl_dmabuf from a given Ecore_Wl2_Display.

Parameters

  display | The Ecore_Wl2_Display for which to retrieve the existing Wayland dmabuf interface from

Returns
  The wl_dmabuf which this Ecore_Wl2_Display is using

Note
  This is intended for client use only and should be used only after ecore_wl2_display_connect(). Also, the return type is void * instead of zpw_linux_dmabuf_v1 * since we don't want to change our public API every time the version changes in wayland-protocols.

Since
  1.18

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ ecore_wl2_display_globals_get()

EAPI Eina_Iterator* ecore_wl2_display_globals_get | ( | Ecore_Wl2_Display * | display | ) |

Return an Eina_Iterator that can be used to iterate through globals.

Parameters

  display | The Ecore_Wl2_Display for which to return a global iterator

Note
  The caller of this function should free the returned Eina_Iterator when finished with it.

Since
  1.17

References eina_hash_iterator_data_new(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ ecore_wl2_display_screen_size_get()

EAPI void ecore_wl2_display_screen_size_get | ( | Ecore_Wl2_Display * | display,
|  | int * | w,
|  | int * | h
| ) |  |

Retrieves the size of the current screen.

Parameters

  display | The display to get the screen size of
  w | where to return the width. May be NULL. Returns 0 on error.
  h | where to return the height. May be NULL. Returns 0 on error.

Since
  1.17

References EINA_INLIST_FOREACH, and EINA_SAFETY_ON_NULL_RETURN.

## ◆ ecore_wl2_display_inputs_get()

EAPI Eina_Iterator* ecore_wl2_display_inputs_get | ( | Ecore_Wl2_Display * | display | ) |

Get all the Ecore_Wl2_Input from the display.

Parameters

  display | The display

Returns
  A Eina_Iterator of Ecore_Wl2_Input or `NULL` on error

Since
  1.19

References eina_inlist_iterator_new(), EINA_SAFETY_ON_NULL_RETURN_VAL, and EINA_SAFETY_ON_TRUE_RETURN_VAL.

## ◆ ecore_wl2_display_input_find()

EAPI Ecore_Wl2_Input* ecore_wl2_display_input_find | ( | const Ecore_Wl2_Display * | display,
|  | unsigned int | id
| ) |  |

Find a seat for a given display object using the seat id.

Parameters

  display | The display
  id | The seat id

Returns
  The corresponding Ecore_Wl2_Input object or `NULL` if no match is found

Since
  1.20

References EINA_INLIST_FOREACH, EINA_SAFETY_ON_NULL_RETURN_VAL, and EINA_SAFETY_ON_TRUE_RETURN_VAL.

## ◆ ecore_wl2_display_input_find_by_name()

EAPI Ecore_Wl2_Input* ecore_wl2_display_input_find_by_name | ( | const Ecore_Wl2_Display * | display,
|  | const char * | name
| ) |  |

Find a seat for a given display object using the seat id.

Parameters

  display | The display
  name | The seat name

Returns
  The corresponding Ecore_Wl2_Input object or `NULL` if no match is found

Since
  1.20

References EINA_INLIST_FOREACH, EINA_SAFETY_ON_NULL_RETURN_VAL, EINA_SAFETY_ON_TRUE_RETURN_VAL, and eina_streq().

Referenced by ecore_wl2_input_default_input_get().

## ◆ ecore_wl2_display_registry_get()

EAPI struct wl_registry* ecore_wl2_display_registry_get | ( | Ecore_Wl2_Display * | display | ) |

Retrieves the Wayland Registry used for the current Wayland display.

Parameters

  display | The display to get the registry of

Returns
  The current wayland registry, or NULL on error

Since
  1.17

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ ecore_wl2_display_sync_is_done()

EAPI Eina_Bool ecore_wl2_display_sync_is_done | ( | const Ecore_Wl2_Display * | display | ) |

Check if the display has performed a sync.

Parameters

  display | The display

Returns
  True if the display sync has occurred

See also
  ECORE_WL2_EVENT_SYNC_DONE

Since
  1.20

References EINA_FALSE, and EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ ecore_wl2_display_name_get()

EAPI const char* ecore_wl2_display_name_get | ( | const Ecore_Wl2_Display * | display | ) |

Get the name of the display object.

Parameters

  display | The display

Returns
  The name of the display object

Since
  1.20

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ ecore_wl2_display_window_find_by_surface()

EAPI Ecore_Wl2_Window* ecore_wl2_display_window_find_by_surface | ( | Ecore_Wl2_Display * | display,
|  | struct wl_surface * | surface
| ) |  |

Finds an Ecore_Wl2_Window based on wl_surface.

Parameters

  display | The display to search for the window
  surface | The wl_surface of the window to find

Returns
  The Ecore_Wl2_Window if found, or NULL if no such window exists

Since
  1.24

Referenced by ecore_wl2_window_surface_find().

## ◆ ecore_wl2_connected_display_get()

EAPI Ecore_Wl2_Display* ecore_wl2_connected_display_get | ( | const char * | name | ) |

Gets the connected display object.

This function is typically used by clients to get an existing Wayland display.

Parameters

  name | The display target name. If `NULL`, the default display is assumed.

Returns
  The Ecore_Wl2_Display which was connected to

Since
  1.24

References eina_hash_find(), and EINA_SAFETY_ON_NULL_RETURN_VAL.

Referenced by ecore_wl2_window_surface_find().

## ◆ ecore_wl2_display_compositor_get()

EAPI struct wl_compositor* ecore_wl2_display_compositor_get | ( | Ecore_Wl2_Display * | display | ) |

Gets the wl_compositor which belongs to this display.

Parameters

  display | The Ecore_Wl2_Display to get the compositor of

Returns
  The wl_compositor associated with this display

Since
  1.24

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ ecore_wl2_display_compositor_version_get()

EAPI int ecore_wl2_display_compositor_version_get | ( | Ecore_Wl2_Display * | disp | ) |

Return the version of the display's compositor object.

Parameters

  disp | the display to get the compositor object version from

Returns
  the version of the display's compositor object

Since
  1.17

References EINA_SAFETY_ON_NULL_RETURN_VAL.

## ◆ ecore_wl2_display_terminate()

EAPI void ecore_wl2_display_terminate | ( | Ecore_Wl2_Display * | display | ) |

Terminate a Wayland display's main loop.

This function is typically used by servers to terminate the Wayland display main loop. This is usually only called when a server encounters an error.

Parameters

  display | The Ecore_Wl2_Display to terminate

Since
  1.17

References EINA_SAFETY_ON_NULL_RETURN.