This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch devs/devilhorns/apos
in repository efl.
View the commit online.
commit ceeab8eed6053c976de46eff102bbe5038214b3e
Author: Christopher Michael <devilho...@comcast.net>
AuthorDate: Mon Jan 2 07:56:59 2023 -0500
ecore_drm2: Add API to return display info
NB: This is unfinished !! Need to support rotations
---
src/lib/ecore_drm2/Ecore_Drm2.h | 1 +
src/lib/ecore_drm2/ecore_drm2_displays.c | 34 ++++++++++++++++++++++++++++++++
2 files changed, 35 insertions(+)
diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h
index e8c32197f5..614db0dba7 100644
--- a/src/lib/ecore_drm2/Ecore_Drm2.h
+++ b/src/lib/ecore_drm2/Ecore_Drm2.h
@@ -74,6 +74,7 @@ EAPI void ecore_drm2_display_mode_info_get(Ecore_Drm2_Display_Mode *mode, int *w
EAPI Eina_Bool ecore_drm2_display_primary_get(Ecore_Drm2_Display *disp);
EAPI void ecore_drm2_display_primary_set(Ecore_Drm2_Display *disp, Eina_Bool primary);
EAPI const Eina_List *ecore_drm2_displays_get(Ecore_Drm2_Device *dev);
+EAPI void ecore_drm2_display_info_get(Ecore_Drm2_Display *disp, int *x, int *y, int *w, int *h, unsigned int *refresh);
/* 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);
diff --git a/src/lib/ecore_drm2/ecore_drm2_displays.c b/src/lib/ecore_drm2/ecore_drm2_displays.c
index 298a0c21fc..47568ea87b 100644
--- a/src/lib/ecore_drm2/ecore_drm2_displays.c
+++ b/src/lib/ecore_drm2/ecore_drm2_displays.c
@@ -693,3 +693,37 @@ ecore_drm2_displays_get(Ecore_Drm2_Device *dev)
EINA_SAFETY_ON_NULL_RETURN_VAL(dev, EINA_FALSE);
return dev->displays;
}
+
+EAPI void
+ecore_drm2_display_info_get(Ecore_Drm2_Display *disp, 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(disp);
+ EINA_SAFETY_ON_TRUE_RETURN(!disp->current_mode);
+
+ if (x) *x = disp->x;
+ if (y) *y = disp->y;
+
+ /* FIXME !! */
+ /* switch (disp->rotation) */
+ /* { */
+ /* case ECORE_DRM2_ROTATION_90: */
+ /* case ECORE_DRM2_ROTATION_270: */
+ /* if (w) *w = disp->current_mode->height; */
+ /* if (h) *h = disp->current_mode->width; */
+ /* break; */
+ /* case ECORE_DRM2_ROTATION_NORMAL: */
+ /* case ECORE_DRM2_ROTATION_180: */
+ /* default: */
+ if (w) *w = disp->current_mode->width;
+ if (h) *h = disp->current_mode->height;
+ /* break; */
+ /* } */
+
+ if (refresh) *refresh = disp->current_mode->refresh;
+}
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.