See recent changes in Evas GL for reference.
This also introduces the EO function rotation_get()
@feature
if (mode & ELM_GLVIEW_CLIENT_SIDE_ROTATION)
sd->config->options_bits |= EVAS_GL_OPTIONS_CLIENT_SIDE_ROTATION;
+ // Check for Alpha Channel and enable it
+ if (mode & ELM_GLVIEW_ALPHA)
+ evas_object_image_alpha_set(wd->resize_obj, EINA_TRUE);
+ else
+ evas_object_image_alpha_set(wd->resize_obj, EINA_FALSE);
+
sd->mode = mode;
_glview_update_surface(obj);
return sd->evasgl;
}
+EOLIAN static int
+_elm_glview_rotation_get(Eo *obj EINA_UNUSED, Elm_Glview_Data *sd)
+{
+ return evas_gl_rotation_get(sd->evasgl);
+}
+
static void
_elm_glview_class_constructor(Eo_Class *klass)
{
@return The Evas_GL used by this GLView.
@ingroup GLView */
+ legacy: null;
return: Evas_GL *;
}
}
+ rotation {
+ get {
+ /*@
+ Get the current GL view's rotation when using direct rendering
+
+ @return A window rotation in degrees (0, 90, 180 or 270)
+
+ @note This rotation can be different from the device orientation. This
+ rotation value must be used in case of direct rendering and should be
+ taken into account by the application when setting the internal rotation
+ matrix for the view.
+
+ @see ELM_GLVIEW_CLIENT_SIDE_ROTATION
+
+ @since 1.12
+
+ @ingroup GLView */
+ legacy: null;
+ return: int;
+ }
+ }
}
implements {
class.constructor;
typedef void (*Elm_GLView_Func_Cb)(Evas_Object *obj);
/**
- * Defines mode of GLView
+ * @brief Selects the target surface properties
*
+ * An OR combination of @c Elm_GLView_Mode values should be passed to
+ * @ref elm_glview_mode_set when setting up a GL widget. These flags will
+ * specify the properties of the rendering target surface; in particular,
+ * the mode can request the surface to support alpha, depth and stencil buffers.
+ *
+ * @note @c ELM_GLVIEW_CLIENT_SIDE_ROTATION is a special value that indicates
+ * to EFL that the application will handle the view rotation when the
+ * device is rotated. This is needed only when the application requests
+ * direct rendering. Please refer to @ref Evas_GL
+ * for more information about direct rendering.
+ *
+ * @see elm_glview_mode_set
+ * @see @ref elm_opengl_page
* @ingroup GLView
*/
typedef enum _Elm_GLView_Mode