Ecore_Drm2.h(3)

NAME
Ecore_Drm2.h - Ecore functions for dealing with drm, virtual terminals.

SYNOPSIS

  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)

  Enumerations
enum _Ecore_Drm2_Rotation { ECORE_DRM2_ROTATION_NORMAL = 1, ECORE_DRM2_ROTATION_90 = 2, ECORE_DRM2_ROTATION_180 = 4, ECORE_DRM2_ROTATION_270 = 8, ECORE_DRM2_ROTATION_REFLECT_X = 16, ECORE_DRM2_ROTATION_REFLECT_Y = 32 }
enum _Ecore_Drm2_Fb_Status { ECORE_DRM2_FB_STATUS_SCANOUT_ON = 1, ECORE_DRM2_FB_STATUS_SCANOUT_OFF = 2, ECORE_DRM2_FB_STATUS_RELEASE = 4, ECORE_DRM2_FB_STATUS_DELETED = 8, ECORE_DRM2_FB_STATUS_PLANE_ASSIGN = 16, ECORE_DRM2_FB_STATUS_PLANE_RELEASE = 32 }
enum _Ecore_Drm2_Relative_Mode { ECORE_DRM2_RELATIVE_MODE_UNKNOWN, ECORE_DRM2_RELATIVE_MODE_NONE, ECORE_DRM2_RELATIVE_MODE_CLONE, ECORE_DRM2_RELATIVE_MODE_TO_LEFT, ECORE_DRM2_RELATIVE_MODE_TO_RIGHT, ECORE_DRM2_RELATIVE_MODE_TO_ABOVE, ECORE_DRM2_RELATIVE_MODE_TO_BELOW }

  Functions
EAPI int ecore_drm2_init (void)
Initialize the Ecore_Drm2 library.
EAPI int ecore_drm2_shutdown (void)
Shutdown the Ecore_Drm2 library.
EAPI int ecore_drm2_event_handle (Ecore_Drm2_Device *dev, Ecore_Drm2_Context *drmctx)
Read and process pending Drm events.
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.
EAPI void ecore_drm2_device_close (Ecore_Drm2_Device *device)
Close an open Ecore_Drm2_Device.
EAPI int ecore_drm2_device_clock_id_get (Ecore_Drm2_Device *device)
Get the type of clock used by a given Ecore_Drm2_Device.
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.
EAPI void ecore_drm2_device_pointer_xy_get (Ecore_Drm2_Device *device, int *x, int *y)
Get the current pointer position.
EAPI void ecore_drm2_device_pointer_warp (Ecore_Drm2_Device *device, int x, int y)
Warp the pointer position to given coordinates.
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.
EAPI void ecore_drm2_device_window_set (Ecore_Drm2_Device *device, unsigned int window)
Set which window is to be used for input events.
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.
EAPI void ecore_drm2_device_pointer_accel_speed_set (Ecore_Drm2_Device *device, double speed)
Set pointer acceleration speed.
EAPI void ecore_drm2_device_pointer_accel_profile_set (Ecore_Drm2_Device *device, uint32_t profile)
Set pointer acceleration profile.
EAPI Eina_Bool ecore_drm2_device_pointer_rotation_set (Ecore_Drm2_Device *device, int rotation)
Set pointer value rotation.
EAPI void ecore_drm2_device_touch_tap_to_click_enabled_set (Ecore_Drm2_Device *device, Eina_Bool enabled)
Enable or disable pointer tap-to-click.
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.
EAPI void ecore_drm2_device_keyboard_group_set (Ecore_Drm2_Device *device, int group)
Set a group layout to be used on keyboards.
EAPI unsigned int * ecore_drm2_device_crtcs_get (Ecore_Drm2_Device *device, int *num)
Get the crtcs of a given device.
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.
EAPI void ecore_drm2_device_calibrate (Ecore_Drm2_Device *device, int w, int h)
Calibrate any input devices for given screen size.
EAPI Eina_Bool ecore_drm2_device_vt_set (Ecore_Drm2_Device *device, int vt)
Try to switch to a given virtual terminal.
EAPI Eina_Bool ecore_drm2_device_prefer_shadow (Ecore_Drm2_Device *device)
Get if a given device prefers the use of shadow buffers.
EAPI void ecore_drm2_device_preferred_depth_get (Ecore_Drm2_Device *device, int *depth, int *bpp)
Get the default depth & bpp from a given device.
EAPI Eina_Bool ecore_drm2_outputs_create (Ecore_Drm2_Device *device)
Iterate drm resources and create outputs.
EAPI void ecore_drm2_outputs_destroy (Ecore_Drm2_Device *device)
Destroy any created outputs.
EAPI const Eina_List * ecore_drm2_outputs_get (Ecore_Drm2_Device *device)
Get the list of outputs from a drm device.
EAPI int ecore_drm2_output_dpms_get (Ecore_Drm2_Output *output)
Get the dpms level of a given output.
EAPI void ecore_drm2_output_dpms_set (Ecore_Drm2_Output *output, int level)
Set the dpms level of a given output.
EAPI char * ecore_drm2_output_edid_get (Ecore_Drm2_Output *output)
Get the edid of a given output.
EAPI Eina_Bool ecore_drm2_output_backlight_get (Ecore_Drm2_Output *output)
Get if a given output has a backlight.
EAPI Ecore_Drm2_Output * ecore_drm2_output_find (Ecore_Drm2_Device *device, int x, int y)
Find an output at the given position.
EAPI void ecore_drm2_output_dpi_get (Ecore_Drm2_Output *output, int *xdpi, int *ydpi)
Get the dpi of a given output.
EAPI unsigned int ecore_drm2_output_crtc_get (Ecore_Drm2_Output *output)
Get the id of the crtc that an output is using.
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.
EAPI Eina_Bool ecore_drm2_output_primary_get (Ecore_Drm2_Output *output)
Get if a given output is marked as the primary output.
EAPI void ecore_drm2_output_primary_set (Ecore_Drm2_Output *output, Eina_Bool primary)
Set a given output to be primary.
EAPI Eina_Bool ecore_drm2_output_enabled_get (Ecore_Drm2_Output *output)
Get if a given output is enabled.
EAPI void ecore_drm2_output_enabled_set (Ecore_Drm2_Output *output, Eina_Bool enabled)
Set if a given output is enabled.
EAPI void ecore_drm2_output_physical_size_get (Ecore_Drm2_Output *output, int *w, int *h)
Get the physical size of a given output.
EAPI const Eina_List * ecore_drm2_output_modes_get (Ecore_Drm2_Output *output)
Get a list of the modes supported on a given output.
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.
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.
EAPI char * ecore_drm2_output_name_get (Ecore_Drm2_Output *output)
Get the name of a given output.
EAPI char * ecore_drm2_output_model_get (Ecore_Drm2_Output *output)
Get the model of a given output.
EAPI Eina_Bool ecore_drm2_output_connected_get (Ecore_Drm2_Output *output)
Get if a given output is connected.
EAPI Eina_Bool ecore_drm2_output_cloned_get (Ecore_Drm2_Output *output)
Get if a given output is cloned.
EAPI unsigned int ecore_drm2_output_connector_type_get (Ecore_Drm2_Output *output)
Get the connector type of a given output.
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.
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.
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.
EAPI int ecore_drm2_output_supported_rotations_get (Ecore_Drm2_Output *output)
Get the supported rotations of a given output.
EAPI Eina_Bool ecore_drm2_output_rotation_set (Ecore_Drm2_Output *output, int rotation)
Set a rotation on a given output.
EAPI int ecore_drm2_output_rotation_get (Ecore_Drm2_Output *output)
Get current output rotation.
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.
EAPI void * ecore_drm2_output_user_data_get (Ecore_Drm2_Output *output)
Get the user data for a given output.
EAPI unsigned int ecore_drm2_output_subpixel_get (const Ecore_Drm2_Output *output)
Get the subpixel state of the output.
EAPI void ecore_drm2_output_relative_mode_set (Ecore_Drm2_Output *output, Ecore_Drm2_Relative_Mode mode)
Set the relative mode for an output.
EAPI Ecore_Drm2_Relative_Mode ecore_drm2_output_relative_mode_get (Ecore_Drm2_Output *output)
Get the relative mode of an output.
EAPI void ecore_drm2_output_relative_to_set (Ecore_Drm2_Output *output, const char *relative)
Set which output a given output is relative to.
EAPI const char * ecore_drm2_output_relative_to_get (Ecore_Drm2_Output *output)
Get which output is relative to a given output.
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.
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.
EAPI unsigned int ecore_drm2_fb_size_get (Ecore_Drm2_Fb *fb)
Get a framebuffer's size.
EAPI unsigned int ecore_drm2_fb_stride_get (Ecore_Drm2_Fb *fb)
Get a framebuffer's stride.
EAPI void ecore_drm2_fb_dirty (Ecore_Drm2_Fb *fb, Eina_Rectangle *rects, unsigned int count)
Mark regions of a framebuffer as dirty.
EAPI int ecore_drm2_fb_flip (Ecore_Drm2_Fb *fb, Ecore_Drm2_Output *output)
Schedule a pageflip to the given Ecore_Drm2_Fb.
EAPI Eina_Bool ecore_drm2_fb_flip_complete (Ecore_Drm2_Output *output)
Must be called by a page flip handler when the flip completes.
EAPI Eina_Bool ecore_drm2_fb_busy_get (Ecore_Drm2_Fb *fb)
Return the Ecore_Drm2_Fb's busy status.
EAPI Eina_Bool ecore_drm2_fb_release (Ecore_Drm2_Output *o, Eina_Bool panic)
Try to force a framebuffer release for an output.
EAPI void * ecore_drm2_fb_bo_get (Ecore_Drm2_Fb *fb)
Get the Framebuffer's gbm buffer object.
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.
EAPI void ecore_drm2_fb_discard (Ecore_Drm2_Fb *fb)
Discard a framebuffer object.
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.
EAPI void ecore_drm2_plane_release (Ecore_Drm2_Plane *plane)
Remove a hardware plane from display.
EAPI void ecore_drm2_plane_destination_set (Ecore_Drm2_Plane *plane, int x, int y, int w, int h)
Set plane destination values.
EAPI Eina_Bool ecore_drm2_plane_fb_set (Ecore_Drm2_Plane *plane, Ecore_Drm2_Fb *fb)
Set plane frame buffer.
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.
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.
EAPI int ecore_drm2_device_fd_get (Ecore_Drm2_Device *device)
Get the fd of an Ecore_Drm2_Device.
EAPI Eina_Bool ecore_drm2_output_pending_get (Ecore_Drm2_Output *output)
Check if there's a pageflip in progress for an output.
EAPI Eina_Bool ecore_drm2_output_background_color_set (Ecore_Drm2_Output *output, uint64_t r, uint64_t g, uint64_t b, uint64_t a)
Set the background color of an output's crtc.
EAPI Eina_Bool ecore_drm2_vblank_supported (Ecore_Drm2_Device *dev)
Check if vblank is supported by the current video driver.

  Variables
EAPI int ECORE_DRM2_EVENT_OUTPUT_CHANGED
EAPI int ECORE_DRM2_EVENT_ACTIVATE

Detailed Description

Ecore functions for dealing with drm, virtual terminals.

Function Documentation

  EAPI Eina_Bool ecore_drm2_output_background_color_set (Ecore_Drm2_Output * output, uint64_t r, uint64_t g, uint64_t b, uint64_t a)

Set the background color of an output's crtc.

Parameters
    output
    r
    g
    b
    a

Returns
    EINA_TRUE on success, EINA_FALSE otherwise

Note
    This requires support from the video driver in order to function

Since
    1.23

References EINA_FALSE, and EINA_SAFETY_ON_NULL_RETURN_VAL.

Author

Generated automatically by Doxygen for EFL from the source code.