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 430dee86e4f85e7650ac764beb68307cad40f1bc
Author: Christopher Michael <devilho...@comcast.net>
AuthorDate: Wed Nov 22 06:55:48 2023 -0500
ecore_drm2: Add APIs to support setting display relative properties
---
src/lib/ecore_drm2/Ecore_Drm2.h | 13 +++++++++++++
src/lib/ecore_drm2/ecore_drm2_displays.c | 15 +++++++++++++++
src/lib/ecore_drm2/ecore_drm2_private.h | 6 ++++++
3 files changed, 34 insertions(+)
diff --git a/src/lib/ecore_drm2/Ecore_Drm2.h b/src/lib/ecore_drm2/Ecore_Drm2.h
index 170cb8525b..cd2f0632d5 100644
--- a/src/lib/ecore_drm2/Ecore_Drm2.h
+++ b/src/lib/ecore_drm2/Ecore_Drm2.h
@@ -28,6 +28,18 @@ typedef enum _Ecore_Drm2_Rotation
ECORE_DRM2_ROTATION_REFLECT_Y = 32
} Ecore_Drm2_Rotation;
+/* public enum for relative mode */
+typedef 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
+} Ecore_Drm2_Relative_Mode;
+
/* opaque structure to represent a drm crtc */
typedef struct _Ecore_Drm2_Crtc Ecore_Drm2_Crtc;
@@ -83,6 +95,7 @@ EAPI void ecore_drm2_display_mode_set(Ecore_Drm2_Display *disp, Ecore_Drm2_Displ
EAPI Ecore_Drm2_Crtc *ecore_drm2_display_crtc_get(Ecore_Drm2_Display *disp);
EAPI Eina_Bool ecore_drm2_display_possible_crtc_get(Ecore_Drm2_Display *disp, Ecore_Drm2_Crtc *crtc);
EAPI int ecore_drm2_display_supported_rotations_get(Ecore_Drm2_Display *disp);
+EAPI void ecore_drm2_display_relative_to_set(Ecore_Drm2_Display *disp, const char *relative);
# endif
diff --git a/src/lib/ecore_drm2/ecore_drm2_displays.c b/src/lib/ecore_drm2/ecore_drm2_displays.c
index 72eaf9dd9b..4ae0c71b58 100644
--- a/src/lib/ecore_drm2/ecore_drm2_displays.c
+++ b/src/lib/ecore_drm2/ecore_drm2_displays.c
@@ -576,6 +576,7 @@ _ecore_drm2_displays_destroy(Ecore_Drm2_Device *dev)
EINA_LIST_FREE(dev->displays, disp)
{
if (disp->thread) ecore_thread_cancel(disp->thread);
+ eina_stringshare_del(disp->relative.to);
eina_stringshare_del(disp->serial);
eina_stringshare_del(disp->model);
eina_stringshare_del(disp->make);
@@ -934,3 +935,17 @@ ecore_drm2_display_supported_rotations_get(Ecore_Drm2_Display *disp)
/* return primary plane state supported_rotations */
return plane->state.current->supported_rotations;
}
+
+EAPI void
+ecore_drm2_display_relative_mode_set(Ecore_Drm2_Display *disp, Ecore_Drm2_Relative_Mode mode)
+{
+ EINA_SAFETY_ON_NULL_RETURN(disp);
+ disp->relative.mode = mode;
+}
+
+EAPI void
+ecore_drm2_display_relative_to_set(Ecore_Drm2_Display *disp, const char *relative)
+{
+ EINA_SAFETY_ON_NULL_RETURN(disp);
+ eina_stringshare_replace(&disp->relative.to, relative);
+}
diff --git a/src/lib/ecore_drm2/ecore_drm2_private.h b/src/lib/ecore_drm2/ecore_drm2_private.h
index 4eaa9ef028..9a98c86bc2 100644
--- a/src/lib/ecore_drm2/ecore_drm2_private.h
+++ b/src/lib/ecore_drm2/ecore_drm2_private.h
@@ -263,6 +263,12 @@ struct _Ecore_Drm2_Display
Ecore_Drm2_Backlight_Type type;
} backlight;
+ struct
+ {
+ const char *to;
+ Ecore_Drm2_Relative_Mode mode;
+ } relative;
+
struct
{
Ecore_Drm2_Display_State *current;
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.