diff --git a/src/bin/elementary/test_evas_mask.c b/src/bin/elementary/test_evas_mask.c index 575fe050ec..a3e5ac1c5f 100644 --- a/src/bin/elementary/test_evas_mask.c +++ b/src/bin/elementary/test_evas_mask.c @@ -95,6 +95,18 @@ _toggle_map(void *data, const Efl_Event *ev EINA_UNUSED) } } +static void +_rotate_win(void *data, const Efl_Event *ev EINA_UNUSED) +{ + //Efl_Orient orient; + Eo *win = data; + + // FIXME: This is not implemented??? + //orient = efl_orientation_get(win); + //efl_orientation_set(win, (orient + 90) % 360); + elm_win_rotation_set(win, (elm_win_rotation_get(win) + 90) % 360); +} + void test_evas_mask(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { @@ -170,6 +182,12 @@ test_evas_mask(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *event efl_pack(box2, efl_added), efl_gfx_visible_set(efl_added, 1)); + efl_add(ELM_BUTTON_CLASS, win, + efl_text_set(efl_added, "Rotate Window"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, _rotate_win, win), + efl_pack(box2, efl_added), + efl_gfx_visible_set(efl_added, 1)); + efl_gfx_size_set(win, 500, 600); efl_gfx_visible_set(win, 1); } diff --git a/src/modules/evas/engines/gl_common/evas_gl_context.c b/src/modules/evas/engines/gl_common/evas_gl_context.c index cc70c2bfdc..b0ddb5e0ba 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_context.c +++ b/src/modules/evas/engines/gl_common/evas_gl_context.c @@ -3202,7 +3202,7 @@ shader_array_flush(Evas_Engine_GL_Context *gc) glUseProgram(prog->prog); if (prog->reset) { - glUniform1i(prog->uniform.rotation_id, gc->rot / 90); + glUniform1i(prog->uniform.rotation_id, fbo ? 0 : gc->rot / 90); glUniformMatrix4fv(prog->uniform.mvp, 1, GL_FALSE, gc->shared->proj); prog->reset = EINA_FALSE; }