EAPI void ecore_drm2_output_gamma_set(Ecore_Drm2_Output *output, uint16_t size, uint16_t *red, uint16_t *green, uint16_t *blue);
/**
+ * Get the supported rotations of a given output
+ *
+ * @param output
+ *
+ * @return An integer representing possible rotations, or -1 on failure
+ *
+ * @note This function will only return valid values if Atomic support
+ * is enabled as it requires hardware plane support.
+ *
+ * @ingroup Ecore_Drm2_Output_Group
+ * @since 1.19
+ */
+EAPI int ecore_drm2_output_supported_rotations_get(Ecore_Drm2_Output *output);
+
+/**
* @defgroup Ecore_Drm2_Fb_Group Drm framebuffer functions
*
* Functions that deal with setup of framebuffers
{
int r = -1;
+ DBG("\t\t\tRotation: %s", prop->enums[k].name);
if (!strcmp(prop->enums[k].name, "rotate-0"))
r = ECORE_DRM2_ROTATION_NORMAL;
else if (!strcmp(prop->enums[k].name, "rotate-90"))
red, green, blue) < 0)
ERR("Failed to set gamma for Output %s: %m", output->name);
}
+
+EAPI int
+ecore_drm2_output_supported_rotations_get(Ecore_Drm2_Output *output)
+{
+ int ret = -1;
+
+ EINA_SAFETY_ON_NULL_RETURN_VAL(output, -1);
+
+#ifdef HAVE_ATOMIC_DRM
+ if (_ecore_drm2_use_atomic)
+ ret = output->plane_state->supported_rotations;
+#endif
+
+ return ret;
+}