Ecore functions for dealing with drm, virtual terminals. More...
Data Structures | |
struct | _Ecore_Drm2_Event_Output_Changed |
struct | _Ecore_Drm2_Event_Activate |
struct | _Ecore_Drm2_Context |
Typedefs | |
typedef enum _Ecore_Drm2_Rotation | Ecore_Drm2_Rotation |
typedef enum _Ecore_Drm2_Fb_Status | Ecore_Drm2_Fb_Status |
typedef enum _Ecore_Drm2_Relative_Mode | Ecore_Drm2_Relative_Mode |
typedef struct _Ecore_Drm2_Device | Ecore_Drm2_Device |
typedef struct _Ecore_Drm2_Fb | Ecore_Drm2_Fb |
typedef struct _Ecore_Drm2_Output | Ecore_Drm2_Output |
typedef struct _Ecore_Drm2_Output_Mode | Ecore_Drm2_Output_Mode |
typedef struct _Ecore_Drm2_Plane | Ecore_Drm2_Plane |
typedef struct _Ecore_Drm2_Event_Output_Changed | Ecore_Drm2_Event_Output_Changed |
typedef struct _Ecore_Drm2_Event_Activate | Ecore_Drm2_Event_Activate |
typedef struct _Ecore_Drm2_Context | Ecore_Drm2_Context |
typedef void(* | Ecore_Drm2_Release_Handler) (void *data, Ecore_Drm2_Fb *b) |
typedef void(* | Ecore_Drm2_Fb_Status_Handler) (Ecore_Drm2_Fb *b, Ecore_Drm2_Fb_Status status, void *data) |
Functions | |
EAPI int | ecore_drm2_init (void) |
Initialize the Ecore_Drm2 library. More... | |
EAPI int | ecore_drm2_shutdown (void) |
Shutdown the Ecore_Drm2 library. More... | |
EAPI int | ecore_drm2_event_handle (Ecore_Drm2_Device *dev, Ecore_Drm2_Context *drmctx) |
Read and process pending Drm events. More... | |
EAPI Ecore_Drm2_Device * | ecore_drm2_device_open (const char *seat, unsigned int tty) |
Try to open the Ecore_Drm2_Device for a given seat. More... | |
EAPI void | ecore_drm2_device_close (Ecore_Drm2_Device *device) |
Close an open Ecore_Drm2_Device. More... | |
EAPI int | ecore_drm2_device_clock_id_get (Ecore_Drm2_Device *device) |
Get the type of clock used by a given Ecore_Drm2_Device. More... | |
EAPI void | ecore_drm2_device_cursor_size_get (Ecore_Drm2_Device *device, int *width, int *height) |
Get the size of the cursor supported by a given Ecore_Drm2_Device. More... | |
EAPI void | ecore_drm2_device_pointer_xy_get (Ecore_Drm2_Device *device, int *x, int *y) |
Get the current pointer position. More... | |
EAPI void | ecore_drm2_device_pointer_warp (Ecore_Drm2_Device *device, int x, int y) |
Warp the pointer position to given coordinates. More... | |
EAPI Eina_Bool | ecore_drm2_device_pointer_left_handed_set (Ecore_Drm2_Device *device, Eina_Bool left) |
Set a left handed mode for the given device. More... | |
EAPI void | ecore_drm2_device_window_set (Ecore_Drm2_Device *device, unsigned int window) |
Set which window is to be used for input events. More... | |
EAPI void | ecore_drm2_device_pointer_max_set (Ecore_Drm2_Device *device, int w, int h) |
Set maximium position that pointer device is allowed to move. More... | |
EAPI void | ecore_drm2_device_pointer_accel_speed_set (Ecore_Drm2_Device *device, double speed) |
Set pointer acceleration speed. More... | |
EAPI void | ecore_drm2_device_pointer_accel_profile_set (Ecore_Drm2_Device *device, uint32_t profile) |
Set pointer acceleration profile. More... | |
EAPI Eina_Bool | ecore_drm2_device_pointer_rotation_set (Ecore_Drm2_Device *device, int rotation) |
Set pointer value rotation. More... | |
EAPI void | ecore_drm2_device_keyboard_info_set (Ecore_Drm2_Device *device, void *context, void *keymap, int group) |
Set info to be used on keyboards. More... | |
EAPI void | ecore_drm2_device_keyboard_group_set (Ecore_Drm2_Device *device, int group) |
Set a group layout to be used on keyboards. More... | |
EAPI unsigned int * | ecore_drm2_device_crtcs_get (Ecore_Drm2_Device *device, int *num) |
Get the crtcs of a given device. More... | |
EAPI void | ecore_drm2_device_screen_size_range_get (Ecore_Drm2_Device *device, int *minw, int *minh, int *maxw, int *maxh) |
Get the minimum and maximum screen size range. More... | |
EAPI void | ecore_drm2_device_calibrate (Ecore_Drm2_Device *device, int w, int h) |
Calibrate any input devices for given screen size. More... | |
EAPI Eina_Bool | ecore_drm2_device_vt_set (Ecore_Drm2_Device *device, int vt) |
Try to switch to a given virtual terminal. More... | |
EAPI Eina_Bool | ecore_drm2_device_prefer_shadow (Ecore_Drm2_Device *device) |
Get if a given device prefers the use of shadow buffers. More... | |
EAPI Eina_Bool | ecore_drm2_outputs_create (Ecore_Drm2_Device *device) |
Iterate drm resources and create outputs. More... | |
EAPI void | ecore_drm2_outputs_destroy (Ecore_Drm2_Device *device) |
Destroy any created outputs. More... | |
EAPI const Eina_List * | ecore_drm2_outputs_get (Ecore_Drm2_Device *device) |
Get the list of outputs from a drm device. More... | |
EAPI int | ecore_drm2_output_dpms_get (Ecore_Drm2_Output *output) |
Get the dpms level of a given output. More... | |
EAPI void | ecore_drm2_output_dpms_set (Ecore_Drm2_Output *output, int level) |
Set the dpms level of a given output. More... | |
EAPI char * | ecore_drm2_output_edid_get (Ecore_Drm2_Output *output) |
Get the edid of a given output. More... | |
EAPI Eina_Bool | ecore_drm2_output_backlight_get (Ecore_Drm2_Output *output) |
Get if a given output has a backlight. More... | |
EAPI Ecore_Drm2_Output * | ecore_drm2_output_find (Ecore_Drm2_Device *device, int x, int y) |
Find an output at the given position. More... | |
EAPI void | ecore_drm2_output_dpi_get (Ecore_Drm2_Output *output, int *xdpi, int *ydpi) |
Get the dpi of a given output. More... | |
EAPI unsigned int | ecore_drm2_output_crtc_get (Ecore_Drm2_Output *output) |
Get the id of the crtc that an output is using. More... | |
EAPI Ecore_Drm2_Fb * | ecore_drm2_output_latest_fb_get (Ecore_Drm2_Output *output) |
Return the most recently set Ecore_Drm2_Fb for a given output. More... | |
EAPI Eina_Bool | ecore_drm2_output_primary_get (Ecore_Drm2_Output *output) |
Get if a given output is marked as the primary output. More... | |
EAPI void | ecore_drm2_output_primary_set (Ecore_Drm2_Output *output, Eina_Bool primary) |
Set a given output to be primary. More... | |
EAPI Eina_Bool | ecore_drm2_output_enabled_get (Ecore_Drm2_Output *output) |
Get if a given output is enabled. More... | |
EAPI void | ecore_drm2_output_enabled_set (Ecore_Drm2_Output *output, Eina_Bool enabled) |
Set if a given output is enabled. More... | |
EAPI void | ecore_drm2_output_physical_size_get (Ecore_Drm2_Output *output, int *w, int *h) |
Get the physical size of a given output. More... | |
EAPI const Eina_List * | ecore_drm2_output_modes_get (Ecore_Drm2_Output *output) |
Get a list of the modes supported on a given output. More... | |
EAPI void | ecore_drm2_output_mode_info_get (Ecore_Drm2_Output_Mode *mode, int *w, int *h, unsigned int *refresh, unsigned int *flags) |
Get information from an existing output mode. More... | |
EAPI Eina_Bool | ecore_drm2_output_mode_set (Ecore_Drm2_Output *output, Ecore_Drm2_Output_Mode *mode, int x, int y) |
Set a given mode to be used on a given output. More... | |
EAPI char * | ecore_drm2_output_name_get (Ecore_Drm2_Output *output) |
Get the name of a given output. More... | |
EAPI char * | ecore_drm2_output_model_get (Ecore_Drm2_Output *output) |
Get the model of a given output. More... | |
EAPI Eina_Bool | ecore_drm2_output_connected_get (Ecore_Drm2_Output *output) |
Get if a given output is connected. More... | |
EAPI Eina_Bool | ecore_drm2_output_cloned_get (Ecore_Drm2_Output *output) |
Get if a given output is cloned. More... | |
EAPI unsigned int | ecore_drm2_output_connector_type_get (Ecore_Drm2_Output *output) |
Get the connector type of a given output. More... | |
EAPI void | ecore_drm2_output_info_get (Ecore_Drm2_Output *output, int *x, int *y, int *w, int *h, unsigned int *refresh) |
Get the geometry and refresh rate for a given output. More... | |
EAPI Eina_Bool | ecore_drm2_output_possible_crtc_get (Ecore_Drm2_Output *output, unsigned int crtc) |
Get if an output can be used on a given crtc. More... | |
EAPI void | ecore_drm2_output_gamma_set (Ecore_Drm2_Output *output, uint16_t size, uint16_t *red, uint16_t *green, uint16_t *blue) |
Set the gamma level of an Ecore_Drm_Output. More... | |
EAPI int | ecore_drm2_output_supported_rotations_get (Ecore_Drm2_Output *output) |
Get the supported rotations of a given output. More... | |
EAPI Eina_Bool | ecore_drm2_output_rotation_set (Ecore_Drm2_Output *output, int rotation) |
Set a rotation on a given output. More... | |
EAPI void | ecore_drm2_output_user_data_set (Ecore_Drm2_Output *o, void *data) |
Set the user data for the output's page flip handler. More... | |
EAPI void * | ecore_drm2_output_user_data_get (Ecore_Drm2_Output *output) |
Get the user data for a given output. More... | |
EAPI unsigned int | ecore_drm2_output_subpixel_get (const Ecore_Drm2_Output *output) |
Get the subpixel state of the output. More... | |
EAPI void | ecore_drm2_output_relative_mode_set (Ecore_Drm2_Output *output, Ecore_Drm2_Relative_Mode mode) |
Set the relative mode for an output. More... | |
EAPI Ecore_Drm2_Relative_Mode | ecore_drm2_output_relative_mode_get (Ecore_Drm2_Output *output) |
Get the relative mode of an output. More... | |
EAPI void | ecore_drm2_output_relative_to_set (Ecore_Drm2_Output *output, const char *relative) |
Set which output a given output is relative to. More... | |
EAPI const char * | ecore_drm2_output_relative_to_get (Ecore_Drm2_Output *output) |
Get which output is relative to a given output. More... | |
EAPI Ecore_Drm2_Fb * | ecore_drm2_fb_create (Ecore_Drm2_Device *dev, int width, int height, int depth, int bpp, unsigned int format) |
Create a new framebuffer object. More... | |
EAPI Ecore_Drm2_Fb * | ecore_drm2_fb_gbm_create (Ecore_Drm2_Device *dev, int width, int height, int depth, int bpp, unsigned int format, unsigned int handle, unsigned int stride, void *bo) |
EAPI void * | ecore_drm2_fb_data_get (Ecore_Drm2_Fb *fb) |
Get a framebuffer's mmap'd data. More... | |
EAPI unsigned int | ecore_drm2_fb_size_get (Ecore_Drm2_Fb *fb) |
Get a framebuffer's size. More... | |
EAPI unsigned int | ecore_drm2_fb_stride_get (Ecore_Drm2_Fb *fb) |
Get a framebuffer's stride. More... | |
EAPI void | ecore_drm2_fb_dirty (Ecore_Drm2_Fb *fb, Eina_Rectangle *rects, unsigned int count) |
Mark regions of a framebuffer as dirty. More... | |
EAPI int | ecore_drm2_fb_flip (Ecore_Drm2_Fb *fb, Ecore_Drm2_Output *output) |
Schedule a pageflip to the given Ecore_Drm2_Fb. More... | |
EAPI Eina_Bool | ecore_drm2_fb_flip_complete (Ecore_Drm2_Output *output) |
Must be called by a page flip handler when the flip completes. More... | |
EAPI Eina_Bool | ecore_drm2_fb_busy_get (Ecore_Drm2_Fb *fb) |
Return the Ecore_Drm2_Fb's busy status. More... | |
EAPI Eina_Bool | ecore_drm2_fb_release (Ecore_Drm2_Output *o, Eina_Bool panic) |
Try to force a framebuffer release for an output. More... | |
EAPI void * | ecore_drm2_fb_bo_get (Ecore_Drm2_Fb *fb) |
Get the Framebuffer's gbm buffer object. More... | |
EAPI Ecore_Drm2_Fb * | ecore_drm2_fb_dmabuf_import (Ecore_Drm2_Device *dev, int width, int height, int depth, int bpp, unsigned int format, unsigned int strides[4], int dmabuf_fd[4], int dmabuf_fd_count) |
Import a dmabuf object as a Framebuffer. More... | |
EAPI void | ecore_drm2_fb_discard (Ecore_Drm2_Fb *fb) |
Discard a framebuffer object. More... | |
EAPI Ecore_Drm2_Plane * | ecore_drm2_plane_assign (Ecore_Drm2_Output *output, Ecore_Drm2_Fb *fb, int x, int y) |
Find a hardware plane where a given Ecore_Drm2_Fb can go based on format and size. More... | |
EAPI void | ecore_drm2_plane_release (Ecore_Drm2_Plane *plane) |
Remove a hardware plane from display. More... | |
EAPI void | ecore_drm2_plane_destination_set (Ecore_Drm2_Plane *plane, int x, int y, int w, int h) |
Set plane destination values. More... | |
EAPI Eina_Bool | ecore_drm2_plane_fb_set (Ecore_Drm2_Plane *plane, Ecore_Drm2_Fb *fb) |
Set plane frame buffer. More... | |
EAPI void | ecore_drm2_fb_status_handler_set (Ecore_Drm2_Fb *fb, Ecore_Drm2_Fb_Status_Handler handler, void *data) |
Register a callback for buffer status updates. More... | |
EAPI Eina_Bool | ecore_drm2_output_blanktime_get (Ecore_Drm2_Output *output, int sequence, long *sec, long *usec) |
Get the time of the last vblank. More... | |
EAPI int | ecore_drm2_device_fd_get (Ecore_Drm2_Device *device) |
Get the fd of an Ecore_Drm2_Device. More... | |
EAPI Eina_Bool | ecore_drm2_output_pending_get (Ecore_Drm2_Output *output) |
Check if there's a pageflip in progress for an output. More... | |
Variables | |
EAPI int | ECORE_DRM2_EVENT_OUTPUT_CHANGED |
EAPI int | ECORE_DRM2_EVENT_ACTIVATE |
Ecore functions for dealing with drm, virtual terminals.
EAPI Eina_Bool ecore_drm2_output_blanktime_get | ( | Ecore_Drm2_Output * | output, |
int | sequence, | ||
long * | sec, | ||
long * | usec | ||
) |
Get the time of the last vblank.
Query the display hardware for the time of a vblank, potentially blocking.
If sequence is 0 the time of the last vblank will be immediately returned, if it's above zero that number of vblanks will pass before the function returns.
output | |
sequence | |
sec | |
usec |
EAPI int ecore_drm2_device_fd_get | ( | Ecore_Drm2_Device * | device | ) |
Get the fd of an Ecore_Drm2_Device.
Query the fd of the device.
device |
Check if there's a pageflip in progress for an output.
Checks whether an output has submit a flip but not yet had a callback completion event for that flip yet.
output |