forked from enlightenment/efl
182 lines
5.3 KiB
Plaintext
182 lines
5.3 KiB
Plaintext
|
class Elm_Glview (Elm_Widget)
|
||
|
{
|
||
|
eo_prefix: elm_obj_glview;
|
||
|
properties {
|
||
|
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 */
|
||
|
}
|
||
|
}
|
||
|
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 Eina_Bool;
|
||
|
}
|
||
|
values {
|
||
|
Elm_GLView_Resize_Policy policy; /*@ The scaling policy. */
|
||
|
}
|
||
|
}
|
||
|
changed {
|
||
|
set {
|
||
|
/*@
|
||
|
Notifies that there has been changes in the GLView.
|
||
|
|
||
|
@ingroup GLView */
|
||
|
}
|
||
|
}
|
||
|
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. */
|
||
|
}
|
||
|
}
|
||
|
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; /*@ The delete function to be registered. */
|
||
|
}
|
||
|
}
|
||
|
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; /*@ The init function to be registered. */
|
||
|
}
|
||
|
}
|
||
|
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 Eina_Bool;
|
||
|
}
|
||
|
values {
|
||
|
Elm_GLView_Render_Policy policy; /*@ The render policy. */
|
||
|
}
|
||
|
}
|
||
|
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 Eina_Bool;
|
||
|
}
|
||
|
values {
|
||
|
Elm_GLView_Mode mode; /*@ The mode Options OR'ed enabling Alpha, Depth, Stencil, Direct. */
|
||
|
}
|
||
|
}
|
||
|
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; /*@ The render function to be registered. */
|
||
|
}
|
||
|
}
|
||
|
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 *;
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
implements {
|
||
|
class::constructor;
|
||
|
Eo_Base::constructor;
|
||
|
Evas_Smart::add;
|
||
|
Evas_Smart::del;
|
||
|
Evas_Smart::resize;
|
||
|
Elm_Widget::on_focus;
|
||
|
}
|
||
|
events {
|
||
|
focused;
|
||
|
unfocused;
|
||
|
language,changed;
|
||
|
access,changed;
|
||
|
}
|
||
|
|
||
|
}
|