ecore_drm2: Add ecore_drm2_output_info_get

We've got too many ways to query output information, so let's add more.
(this will soon replace all of them)
This commit is contained in:
Derek Foreman 2017-08-03 18:26:18 -05:00
parent 70c1ce3be3
commit 1b853dcfad
2 changed files with 34 additions and 0 deletions

View File

@ -717,6 +717,21 @@ EAPI unsigned int ecore_drm2_output_connector_type_get(Ecore_Drm2_Output *output
*/
EAPI void ecore_drm2_output_resolution_get(Ecore_Drm2_Output *output, int *w, int *h, unsigned int *refresh);
/**
* Get the geometry and refresh rate for a given output
*
* @param output
* @param *x
* @param *y
* @param *w
* @param *h
* @param *refresh
*
* @ingroup Ecore_Drm2_Output_Group
* @since 1.21
*/
EAPI void ecore_drm2_output_info_get(Ecore_Drm2_Output *output, int *x, int *y, int *w, int *h, unsigned int *refresh);
/**
* Get if an output can be used on a given crtc
*

View File

@ -1664,3 +1664,22 @@ ecore_drm2_output_blanktime_get(Ecore_Drm2_Output *output, int sequence, long *s
*usec = v.reply.tval_usec;
return EINA_TRUE;
}
EAPI void
ecore_drm2_output_info_get(Ecore_Drm2_Output *output, int *x, int *y, int *w, int *h, unsigned int *refresh)
{
if (x) *x = 0;
if (y) *y = 0;
if (w) *w = 0;
if (h) *h = 0;
if (refresh) *refresh = 0;
EINA_SAFETY_ON_NULL_RETURN(output);
EINA_SAFETY_ON_TRUE_RETURN(!output->current_mode);
if (w) *w = output->current_mode->width;
if (h) *h = output->current_mode->height;
if (refresh) *refresh = output->current_mode->refresh;
if (x) *x = output->x;
if (y) *y = output->y;
}