From: Mike McCormack Date: Fri, 4 Nov 2011 02:01:00 +0000 (+0900) Subject: [Elementary.h] Add documentation for GLView X-Git-Tag: REBUILDD-ARMEL-67367~98 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=099c52ddcab5c9447ffbe61598195b7808d84d6f;p=framework%2Fuifw%2Felementary.git [Elementary.h] Add documentation for GLView --- diff --git a/src/lib/Elementary.h.in b/src/lib/Elementary.h.in index f9c7ba3..af7cab1 100644 --- a/src/lib/Elementary.h.in +++ b/src/lib/Elementary.h.in @@ -5334,11 +5334,15 @@ extern "C" { * @} */ - /* smart callbacks called: - * "clicked" - the user clicked the image + /** + * @defgroup GLView + * + * A simple GLView widget that allows GL rendering. + * + * Signals that you can add callbacks for are: + * + * @{ */ - - /* glview */ typedef void (*Elm_GLView_Func)(Evas_Object *obj); typedef enum _Elm_GLView_Mode @@ -5348,11 +5352,6 @@ extern "C" { ELM_GLVIEW_STENCIL = 4 } Elm_GLView_Mode; - /** - * Defines a policy for the glview resizing. - * - * @note Default is ELM_GLVIEW_RESIZE_POLICY_RECREATE - */ typedef enum _Elm_GLView_Resize_Policy { ELM_GLVIEW_RESIZE_POLICY_RECREATE = 1, /**< Resize the internal surface along with the image */ @@ -5366,19 +5365,155 @@ extern "C" { } Elm_GLView_Render_Policy; + /** + * Add a new glview to the parent + * + * @param parent The parent object + * @return The new object or NULL if it cannot be created + * + * @ingroup GLView + */ EAPI Evas_Object *elm_glview_add(Evas_Object *parent) EINA_ARG_NONNULL(1); + + /** + * Sets the size of the glview + * + * @param obj The glview object + * @param width width of the glview object + * @param height height of the glview object + * + * @ingroup GLView + */ EAPI void elm_glview_size_set(Evas_Object *obj, Evas_Coord width, Evas_Coord height) EINA_ARG_NONNULL(1); + + /** + * Gets the size of the glview. + * + * @param obj The glview object + * @param width width of the glview object + * @param height height of the glview object + * + * Note that this function returns the actual image size of the + * glview. This means that when the scale policy is set to + * ELM_GLVIEW_RESIZE_POLICY_SCALE, it'll return the non-scaled + * size. + * + * @ingroup GLView + */ EAPI void elm_glview_size_get(const Evas_Object *obj, Evas_Coord *width, Evas_Coord *height) EINA_ARG_NONNULL(1); + + /** + * Gets the gl api struct for gl rendering + * + * @param obj The glview object + * @return The api object or NULL if it cannot be created + * + * @ingroup GLView + */ EAPI Evas_GL_API *elm_glview_gl_api_get(const Evas_Object *obj) EINA_ARG_NONNULL(1); + + /** + * Set the mode of the GLView. Supports Three simple modes. + * + * @param obj The glview object + * @param mode The mode Options OR'ed enabling Alpha, Depth, Stencil. + * @return True if set properly. + * + * @ingroup GLView + */ EAPI Eina_Bool elm_glview_mode_set(Evas_Object *obj, Elm_GLView_Mode mode) EINA_ARG_NONNULL(1); + + /** + * Set the resize policy for the glview object. + * + * @param obj The glview object. + * @param policy The scaling policy. + * + * By default, the resize policy is set to + * ELM_GLVIEW_RESIZE_POLICY_RECREATE. When resize is called it + * destroys the previous surface and recreates the newly specified + * size. If the policy is set to ELM_GLVIEW_RESIZE_POLICY_SCALE, + * however, glview only scales the image object and not the underlying + * GL Surface. + * + * @ingroup GLView + */ EAPI Eina_Bool elm_glview_resize_policy_set(Evas_Object *obj, Elm_GLView_Resize_Policy policy) EINA_ARG_NONNULL(1); + + /** + * Set the render policy for the glview object. + * + * @param obj The glview object. + * @param policy The render policy. + * + * By default, the render policy is set to + * ELM_GLVIEW_RENDER_POLICY_ON_DEMAND. This policy is set such + * that during the render loop, glview is only redrawn if it needs + * to be redrawn. (i.e. When it is visible) If the policy is set to + * ELM_GLVIEWW_RENDER_POLICY_ALWAYS, it redraws regardless of + * whether it is visible/need redrawing or not. + * + * @ingroup GLView + */ EAPI Eina_Bool elm_glview_render_policy_set(Evas_Object *obj, Elm_GLView_Render_Policy policy) EINA_ARG_NONNULL(1); + + /** + * Set the init function that runs once in the main loop. + * + * @param obj The glview object. + * @param func The init function to be registered. + * + * The registered init function gets called once during the render loop. + * + * @ingroup GLView + */ EAPI void elm_glview_init_func_set(Evas_Object *obj, Elm_GLView_Func func) EINA_ARG_NONNULL(1); + + /** + * Set the render function that runs in the main loop. + * + * @param obj The glview object. + * @param func The delete function to be registered. + * + * The registered del function gets called when GLView object is deleted. + * + * @ingroup GLView + */ EAPI void elm_glview_del_func_set(Evas_Object *obj, Elm_GLView_Func func) EINA_ARG_NONNULL(1); + + /** + * Set the resize function that gets called when resize happens. + * + * @param obj The glview object. + * @param func The resize function to be registered. + * + * @ingroup GLView + */ EAPI void elm_glview_resize_func_set(Evas_Object *obj, Elm_GLView_Func func) EINA_ARG_NONNULL(1); + + /** + * Set the render function that runs in the main loop. + * + * @param obj The glview object. + * @param func The render function to be registered. + * + * @ingroup GLView + */ EAPI void elm_glview_render_func_set(Evas_Object *obj, Elm_GLView_Func func) EINA_ARG_NONNULL(1); + + /** + * Notifies that there has been changes in the GLView. + * + * @param obj The glview object. + * + * @ingroup GLView + */ EAPI void elm_glview_changed_set(Evas_Object *obj) EINA_ARG_NONNULL(1); + /** + * @} + */ + /* box */ /** * @defgroup Box Box