{
Cube *c;
int i;
-
+
w -= (w / 2);
h -= (h / 2);
d -= (d / 2);
POINT(0, 1, w, -h, -d, 256, 0);
POINT(0, 2, w, h, -d, 256, 256);
POINT(0, 3, -w, h, -d, 0, 256);
-
+
POINT(1, 0, w, -h, -d, 0, 0);
POINT(1, 1, w, -h, d, 256, 0);
POINT(1, 2, w, h, d, 256, 256);
POINT(1, 3, w, h, -d, 0, 256);
-
+
POINT(2, 0, w, -h, d, 0, 0);
POINT(2, 1, -w, -h, d, 256, 0);
POINT(2, 2, -w, h, d, 256, 256);
POINT(2, 3, w, h, d, 0, 256);
-
+
POINT(3, 0, -w, -h, d, 0, 0);
POINT(3, 1, -w, -h, -d, 256, 0);
POINT(3, 2, -w, h, -d, 256, 256);
POINT(3, 3, -w, h, d, 0, 256);
-
+
POINT(4, 0, -w, -h, d, 0, 0);
POINT(4, 1, w, -h, d, 256, 0);
POINT(4, 2, w, -h, -d, 256, 256);
POINT(4, 3, -w, -h, -d, 0, 256);
-
+
POINT(5, 0, -w, h, -d, 0, 0);
POINT(5, 1, w, h, -d, 256, 0);
POINT(5, 2, w, h, d, 256, 256);
POINT(5, 3, -w, h, d, 0, 256);
-
+
return c;
}
Evas_Map *m;
int i, j, order[6], sorted;
Evas_Coord mz[6];
-
+
m = evas_map_new(4);
evas_map_smooth_set(m, 0);
-
+
for (i = 0; i < 6; i++)
{
Evas_Coord tz[4];
-
+
for (j = 0; j < 4; j++)
{
evas_map_point_coord_set(m, j,
}
else
evas_object_hide(c->side[i].o);
-
+
order[i] = i;
for (j = 0; j < 4; j++)
evas_map_point_coord_get(m, j, NULL, NULL, &(tz[j]));
}
}
while (!sorted);
-
+
evas_object_raise(c->side[order[0]].o);
for (i = 1; i < 6; i++)
evas_object_stack_below(c->side[order[i]].o, c->side[order[i - 1]].o);
_cube_free(Cube *c)
{
int i;
-
+
for (i = 0; i < 6; i++) evas_object_del(c->side[i].o);
free(c);
}
_cube_update(Evas_Object *win, Cube *c)
{
Evas_Coord w, h;
-
+
evas_object_geometry_get(win, NULL, NULL, &w, &h);
_cube_pos(c,
(w / 2), (h / 2), 512,
evas_object_show(bg);
cube = _cube_new(evas_object_evas_get(win), 240, 240, 240);
-
+
bx = elm_box_add(win);
evas_object_layer_set(bx, 10);
evas_object_size_hint_weight_set(bx, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
{
Evas_Object *en = data;
static Elm_Wrap_Type wr = ELM_WRAP_NONE;
-
+
wr++;
if (wr == ELM_WRAP_LAST) wr = ELM_WRAP_NONE;
printf("wr: %i\n", wr);
if (!(gld = calloc(1, sizeof(GLData)))) return;
gldata_init(gld);
- // new window - do the usual and give it a name, title and delete handler
+ // new window - do the usual and give it a name, title and delete handler
win = elm_win_add(NULL, "glview", ELM_WIN_BASIC);
elm_win_title_set(win, "GLView");
elm_win_autodel_set(win, 1);
- // add a standard bg
+ // add a standard bg
bg = elm_bg_add(win);
evas_object_size_hint_weight_set(bg, EVAS_HINT_EXPAND, EVAS_HINT_EXPAND);
elm_win_resize_object_add(win, bg);
bt = elm_button_add(win);
elm_object_text_set(bt, "OK");
evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
- evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
+ evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
elm_box_pack_end(bx, bt);
evas_object_show(bt);
evas_object_smart_callback_add(bt, "clicked", _on_done, win);
-
+
evas_object_resize(win, 320, 480);
evas_object_show(win);
}
gl->glCompileShader(shader);
gl->glGetShaderiv(shader, GL_COMPILE_STATUS, &compiled);
- if (!compiled)
+ if (!compiled)
{
GLint info_len = 0;
gl->glGetShaderiv(shader, GL_INFO_LOG_LENGTH, &info_len);
char* info_log = malloc(sizeof(char) * info_len);
gl->glGetShaderInfoLog(shader, info_len, NULL, info_log);
- printf("Error compiling shader:\n%s\n", info_log );
+ printf("Error compiling shader:\n%s\n", info_log );
free(info_log);
}
gl->glDeleteShader(shader);
}
// Initialize the shader and program object
-static int
+static int
init_shaders(GLData *gld)
{
Evas_GL_API *gl = gld->glapi;
- GLbyte vShaderStr[] =
+ GLbyte vShaderStr[] =
"attribute vec4 vPosition; \n"
"void main() \n"
"{ \n"
" gl_Position = vPosition; \n"
"} \n";
- GLbyte fShaderStr[] =
+ GLbyte fShaderStr[] =
"precision mediump float;\n"\
"void main() \n"
"{ \n"
gl->glLinkProgram(gld->program);
gl->glGetProgramiv(gld->program, GL_LINK_STATUS, &linked);
- if (!linked)
+ if (!linked)
{
GLint info_len = 0;
gl->glGetProgramiv(gld->program, GL_INFO_LOG_LENGTH, &info_len);
char* info_log = malloc(sizeof(char) * info_len);
gl->glGetProgramInfoLog(gld->program, info_len, NULL, info_log);
- printf("Error linking program:\n%s\n", info_log);
+ printf("Error linking program:\n%s\n", info_log);
free(info_log);
}
gl->glDeleteProgram(gld->program);
{
GLData *gld = evas_object_data_get(obj, "gld");
Evas_GL_API *gl = gld->glapi;
- GLfloat vVertices[] = { 0.0f, 0.5f, 0.0f,
+ GLfloat vVertices[] = { 0.0f, 0.5f, 0.0f,
-0.5f, -0.5f, 0.0f,
0.5f, -0.5f, 0.0f };
gl->glDeleteShader(gld->vtx_shader);
gl->glDeleteShader(gld->fgmt_shader);
gl->glDeleteProgram(gld->program);
- gl->glDeleteBuffers(1, &gld->vbo);
+ gl->glDeleteBuffers(1, &gld->vbo);
evas_object_data_del((Evas_Object*)obj, "..gld");
free(gld);
ecore_x_dnd_send_finished();
if (savedtypes.imgfile) free((void*)savedtypes.imgfile);
savedtypes.imgfile = NULL;
-
+
return EINA_TRUE;
}
else if (dropable->types & ELM_SEL_FORMAT_IMAGE)
{
const char *str;
Evas_Object *edj;
-
+
edj = elm_smart_scroller_edje_object_get(wd->scroller);
str = edje_object_data_get(edj, "focus_highlight");
if ((str) && (!strcmp(str, "on")))
wd->entmw = minw;
wd->entmh = minh;
elm_coords_finger_size_adjust(1, &minw, 1, &minh);
-
+
if ((minw > 0) && (vw < minw)) vw = minw;
if (minh > vh) vh = minh;
if (wd->scroll)
{
Evas_Coord vw = 0, vh = 0, vmw = 0, vmh = 0, w = -1, h = -1;
-
+
edje_object_size_min_calc(wd->ent, &minw, &minh);
wd->entmw = minw;
wd->entmh = minh;
elm_coords_finger_size_adjust(1, &minw, 1, &minh);
-
+
elm_smart_scroller_child_viewport_size_get(wd->scroller, &vw, &vh);
if ((minw > 0) && (vw < minw)) vw = minw;
{
Widget_Data *wd = elm_widget_data_get(data);
if (!wd) return;
-
+
if (wd->linewrap)
{
_sizing_eval(data);
else if (wd->scroll)
{
Evas_Coord vw = 0, vh = 0;
-
+
elm_smart_scroller_child_viewport_size_get(wd->scroller, &vw, &vh);
if (vw < wd->entmw) vw = wd->entmw;
if (vh < wd->entmh) vh = wd->entmh;
elm_object_cursor_set(obj, ELM_CURSOR_XTERM);
elm_widget_can_focus_set(obj, EINA_TRUE);
elm_widget_highlight_ignore_set(obj, EINA_TRUE);
-
+
wd->scroller = elm_smart_scroller_add(e);
elm_widget_sub_object_add(obj, wd->scroller);
elm_smart_scroller_widget_set(wd->scroller, obj);
evas_object_size_hint_align_set(wd->scroller, EVAS_HINT_FILL, EVAS_HINT_FILL);
elm_smart_scroller_bounce_allow_set(wd->scroller, EINA_FALSE, EINA_FALSE);
evas_object_propagate_events_set(wd->scroller, EINA_TRUE);
-
+
wd->linewrap = ELM_WRAP_WORD;
wd->editable = EINA_TRUE;
wd->disabled = EINA_FALSE;
evas_object_event_callback_add(wd->ent, EVAS_CALLBACK_MOUSE_MOVE,
_mouse_move, obj);
evas_object_event_callback_add(obj, EVAS_CALLBACK_RESIZE, _resize, obj);
-
+
_elm_theme_object_set(obj, wd->ent, "entry", "base", "default");
edje_object_signal_callback_add(wd->ent, "entry,changed", "elm.text",
_signal_entry_changed, obj);
if (wd->scroller)
{
if (wd->single_line)
- elm_smart_scroller_policy_set(wd->scroller,
- ELM_SMART_SCROLLER_POLICY_OFF,
+ elm_smart_scroller_policy_set(wd->scroller,
+ ELM_SMART_SCROLLER_POLICY_OFF,
ELM_SMART_SCROLLER_POLICY_OFF);
else
{
ELM_SMART_SCROLLER_POLICY_ON,
ELM_SMART_SCROLLER_POLICY_OFF
};
- elm_smart_scroller_policy_set(wd->scroller,
- map[wd->policy_h],
+ elm_smart_scroller_policy_set(wd->scroller,
+ map[wd->policy_h],
map[wd->policy_v]);
}
_sizing_eval(obj);
* Enable or disable scrolling in entry
*
* Normally the entry is not scrollable unless you enable it with this call.
- *
+ *
* @param obj The entry object
* @param scroll EINA_TRUE if it is to be scrollable, EINA_FALSE otherwise
*
*
* Normally the entry is not scrollable. This gets the scrollable state
* of the entry. See elm_entry_scrollable_set() for more information.
- *
+ *
* @param obj The entry object
* @return The scrollable state
*
if (!wd) return;
wd->policy_h = h;
wd->policy_v = v;
- elm_smart_scroller_policy_set(wd->scroller,
- map[wd->policy_h],
+ elm_smart_scroller_policy_set(wd->scroller,
+ map[wd->policy_h],
map[wd->policy_v]);
}
{
Widget_Data *wd = elm_widget_data_get(obj);
if (!wd) return;
-
+
// Call delete func if it's registered
- if (wd->del_func)
+ if (wd->del_func)
{
evas_gl_make_current(wd->evasgl, wd->surface, wd->context);
wd->del_func(obj);
* @param func The init function to be registered.
*
* The registered init function gets called once during the render loop.
- *
+ *
* @ingroup GLView
*/
EAPI void
* @param func The delete function to be registered.
*
* The registered del function gets called when GLView object is deleted.
- *
+ *
* @ingroup GLView
*/
EAPI void
{
ELM_CHECK_WIDTYPE(obj, widtype);
Widget_Data *wd = elm_widget_data_get(obj);
- if (!wd)
+ if (!wd)
{
ERR("Invalid Widget Object.\n");
return;