228 lines
6.8 KiB
Plaintext
228 lines
6.8 KiB
Plaintext
class Elm.Glview (Elm.Widget)
|
|
{
|
|
eo_prefix: elm_obj_glview;
|
|
methods {
|
|
version_constructor {
|
|
/*@ Constructor with context version number. */
|
|
legacy: null;
|
|
params {
|
|
@in Evas_GL_Context_Version version;
|
|
}
|
|
}
|
|
@property size {
|
|
set {
|
|
/*@
|
|
Sets the size of the glview
|
|
|
|
@ingroup GLView */
|
|
}
|
|
get {
|
|
/*@
|
|
Get the size of the glview.
|
|
|
|
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 */
|
|
}
|
|
values {
|
|
int w; /*@ width of the glview object */
|
|
int h; /*@ height of the glview object */
|
|
}
|
|
}
|
|
@property resize_policy {
|
|
set {
|
|
/*@
|
|
Set the resize policy for the glview object.
|
|
|
|
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 */
|
|
return: bool;
|
|
}
|
|
values {
|
|
Elm_GLView_Resize_Policy policy; /*@ The scaling policy. */
|
|
}
|
|
}
|
|
@property changed {
|
|
set {
|
|
/*@
|
|
Notifies that there has been changes in the GLView.
|
|
|
|
@ingroup GLView */
|
|
}
|
|
}
|
|
@property resize_func {
|
|
set {
|
|
/*@
|
|
Set the resize function that gets called when resize happens.
|
|
|
|
The resize function gets called during the render loop.
|
|
This function allows glview to hide all the rendering context/surface
|
|
details and have the user just call GL calls that they desire
|
|
when resize happens.
|
|
|
|
@ingroup GLView */
|
|
}
|
|
values {
|
|
Elm_GLView_Func_Cb func; /*@ The resize function to be registered. */
|
|
}
|
|
}
|
|
@property del_func {
|
|
set {
|
|
/*@
|
|
Set the render function that runs in the main loop.
|
|
|
|
The registered del function gets called when GLView object is deleted.
|
|
This function allows glview to hide all the rendering context/surface
|
|
details and have the user just call GL calls that they desire
|
|
when delete happens.
|
|
|
|
@ingroup GLView */
|
|
}
|
|
values {
|
|
Elm_GLView_Func_Cb func @nullable; /*@ The delete function to be registered. */
|
|
}
|
|
}
|
|
@property init_func {
|
|
set {
|
|
/*@
|
|
Set the init function that runs once in the main loop.
|
|
|
|
The registered init function gets called once during the render loop.
|
|
This function allows glview to hide all the rendering context/surface
|
|
details and have the user just call GL calls that they desire
|
|
for initialization GL calls.
|
|
|
|
@ingroup GLView */
|
|
}
|
|
values {
|
|
Elm_GLView_Func_Cb func @nullable; /*@ The init function to be registered. */
|
|
}
|
|
}
|
|
@property render_policy {
|
|
set {
|
|
/*@
|
|
Set the render policy for the glview object.
|
|
|
|
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 or needs redrawing.
|
|
|
|
@ingroup GLView */
|
|
return: bool;
|
|
}
|
|
values {
|
|
Elm_GLView_Render_Policy policy; /*@ The render policy. */
|
|
}
|
|
}
|
|
@property mode {
|
|
set {
|
|
/*@
|
|
Set the mode of the GLView. Supports alpha, depth, stencil.
|
|
|
|
@return True if set properly.
|
|
|
|
Direct is a hint for the elm_glview to render directly to the window
|
|
given that the right conditions are met. Otherwise it falls back
|
|
to rendering to an offscreen buffer before it gets composited to the
|
|
window.
|
|
|
|
@ingroup GLView */
|
|
return: bool;
|
|
}
|
|
values {
|
|
Elm_GLView_Mode mode; /*@ The mode Options OR'ed enabling Alpha, Depth, Stencil, Direct. */
|
|
}
|
|
}
|
|
@property render_func {
|
|
set {
|
|
/*@
|
|
Set the render function that runs in the main loop.
|
|
|
|
The render function gets called in the main loop but whether it runs
|
|
depends on the rendering policy and whether elm_glview_changed_set()
|
|
gets called.
|
|
|
|
@ingroup GLView */
|
|
}
|
|
values {
|
|
Elm_GLView_Func_Cb func @nullable; /*@ The render function to be registered. */
|
|
}
|
|
}
|
|
@property gl_api {
|
|
get {
|
|
/*@
|
|
Get the gl api struct for gl rendering
|
|
|
|
@return The api object or NULL if it cannot be created
|
|
|
|
@ingroup GLView */
|
|
return: Evas_GL_API *;
|
|
}
|
|
}
|
|
@property evas_gl {
|
|
get {
|
|
/*@
|
|
Get the internal Evas GL attached to this view.
|
|
|
|
@note The returned Evas_GL must not be destroyed as it is still owned
|
|
by the view. But this pointer can be used then to call all the evas_gl_
|
|
functions.
|
|
|
|
@since 1.12
|
|
|
|
@return The Evas_GL used by this GLView.
|
|
|
|
@ingroup GLView */
|
|
return: Evas_GL *;
|
|
}
|
|
}
|
|
@property 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 */
|
|
return: int;
|
|
}
|
|
}
|
|
}
|
|
implements {
|
|
class.constructor;
|
|
Eo.Base.constructor;
|
|
Evas.Object_Smart.add;
|
|
Evas.Object_Smart.del;
|
|
Evas.Object_Smart.resize;
|
|
Elm.Widget.on_focus;
|
|
}
|
|
events {
|
|
focused;
|
|
unfocused;
|
|
language,changed;
|
|
access,changed;
|
|
}
|
|
constructors {
|
|
.version_constructor;
|
|
}
|
|
}
|