ecore_drm2: Add API to return display mode info

This commit is contained in:
Christopher Michael 2023-01-02 07:25:44 -05:00
parent 5278c54839
commit cf2a325012
2 changed files with 17 additions and 0 deletions

View File

@ -70,6 +70,7 @@ EAPI Eina_Bool ecore_drm2_display_enabled_get(Ecore_Drm2_Display *disp);
EAPI unsigned int ecore_drm2_display_crtc_get(Ecore_Drm2_Display *disp);
EAPI char *ecore_drm2_display_edid_get(Ecore_Drm2_Display *disp);
EAPI const Eina_List *ecore_drm2_display_modes_get(Ecore_Drm2_Display *disp);
EAPI void ecore_drm2_display_mode_info_get(Ecore_Drm2_Display_Mode *mode, int *w, int *h, unsigned int *refresh, unsigned int *flags);
/* XXX: These are 'test' APIs */
EAPI void ecore_drm2_display_mode_set(Ecore_Drm2_Display *disp, Ecore_Drm2_Display_Mode *mode, int x, int y);

View File

@ -656,3 +656,19 @@ ecore_drm2_display_modes_get(Ecore_Drm2_Display *disp)
EINA_SAFETY_ON_NULL_RETURN_VAL(disp, NULL);
return disp->modes;
}
EAPI void
ecore_drm2_display_mode_info_get(Ecore_Drm2_Display_Mode *mode, int *w, int *h, unsigned int *refresh, unsigned int *flags)
{
if (w) *w = 0;
if (h) *h = 0;
if (refresh) *refresh = 0;
if (flags) *flags = 0;
EINA_SAFETY_ON_NULL_RETURN(mode);
if (w) *w = mode->width;
if (h) *h = mode->height;
if (refresh) *refresh = mode->refresh;
if (flags) *flags = mode->flags;
}