Attached the test file.
Thanks.

On Wed, Jan 11, 2012 at 4:11 PM, Cedric BAIL <cedric.b...@free.fr> wrote:

> On Wed, Jan 11, 2012 at 11:29 AM, HariHara Sudhan <h...@emo2.com> wrote:
> > I'm playing a background video, which is looping, and i'm adding a image
> > and rotated it to 180 degree.
> > And i've created a click callback on video to make the rectangle move.
> > When i've move the rectangle and rotate it, the background video stops
> > rendering, while the audio is playing fine.
> > Both audio and video are fine when i move a unrotated rectangle.
> > Any solution for this?
>
> Interesting :-) Sounds to me like an issue with evas_render that
> doesn't detect a change somewher in the pipeline. Could you send me a
> simple test case so I could debug it.
>
> Thanks,
> --
> Cedric BAIL
>
>
> ------------------------------------------------------------------------------
> Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
> infrastructure or vast IT resources to deliver seamless, secure access to
> virtual desktops. With this all-in-one solution, easily deploy virtual
> desktops for less than the cost of PCs and save 60% on VDI infrastructure
> costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
> _______________________________________________
> enlightenment-devel mailing list
> enlightenment-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/enlightenment-devel
>



-- 
Regards

HariHaraSudhan
#include <Ecore.h>
#include <Ecore_Evas.h>
#include <Evas.h>
#include <Emotion.h>

#define WIDTH  (1024)
#define HEIGHT (768)


Evas_Object *em;

static void
_playback_started_cb(void *data, Evas_Object *o, void *event_info) {
    printf("Emotion object started playback.\n");
}

static void
_playback_finished_cb(void *data, Evas_Object *em, void *event_info) {
    emotion_object_position_set(em, 0.0);
    emotion_object_play_set(em, EINA_TRUE);
}

Evas *e;

Eina_Bool func(void *data) {

    int x, y, w, h;
    evas_object_geometry_get(data, &x, &y, &w, &h);
    Evas_Map *emMap;
    evas_object_move(data, x + 1, y);
    evas_object_resize(data, w + 1, h + 1);
    emMap = evas_map_new(4);
    evas_map_util_points_populate_from_object(emMap, data);
    evas_map_util_rotate(emMap, 180, x + (w / 2), y + (h / 2));
    evas_object_map_set(data, emMap);
    evas_object_map_enable_set(data, EINA_TRUE);
    evas_map_free(emMap);
    return ECORE_CALLBACK_RENEW;
}

void clicked(void *data, Evas *e, Evas_Object *obj, void *eventinfo) {
    printf("Clicked\n");
    Ecore_Animator *anim = ecore_animator_add(func, data);
}

int
main(int argc, const char *argv[]) {
    Ecore_Evas *ee;
    int x, y, w, h;
    Evas_Object *bg;
    const char *filename = NULL;
    if (argc < 2) {
        printf("One argument is necessary. Usage:\n");
        printf("\t%s <filename>\n", argv[0]);
    }
    filename = argv[1];
    if (!ecore_evas_init())
        return EXIT_FAILURE;
    /* this will give you a window with an Evas canvas under the first
     * engine available */
    ee = ecore_evas_new(NULL, 10, 10, WIDTH, HEIGHT, NULL);
    if (!ee)
        goto error;

    ecore_evas_show(ee);
    /* the canvas pointer, de facto */
    e = ecore_evas_get(ee);
    /* adding a background to this example */
    bg = evas_object_rectangle_add(e);
    evas_object_name_set(bg, "our dear rectangle");
    evas_object_color_set(bg, 255, 255, 255, 255); /* white bg */
    evas_object_move(bg, 0, 0); /* at canvas' origin */
    evas_object_resize(bg, WIDTH, HEIGHT); /* covers full canvas */
    evas_object_show(bg);

    /* Creating the emotion object */
    em = emotion_object_add(e);
    emotion_object_init(em, NULL);

    Evas_Object *rect = evas_object_rectangle_add(e);
    evas_object_name_set(rect, "rectangle");
    evas_object_color_set(rect, 255, 0, 0, 255);
    evas_object_move(rect, 100, 100);
    evas_object_resize(rect, 100, 100);
    evas_object_show(rect);

    evas_object_geometry_get(rect, &x, &y, &w, &h);
    Evas_Map *emMap = evas_map_new(4);
    evas_map_util_points_populate_from_object(emMap, rect);
    evas_map_util_rotate(emMap, 180, x + (w / 2), y + (h / 2));
    evas_object_map_set(rect, emMap);
    evas_object_map_enable_set(rect, EINA_TRUE);
    evas_map_free(emMap);

    evas_object_smart_callback_add(
            em, "playback_finished", _playback_finished_cb, NULL);
    evas_object_event_callback_add(em, EVAS_CALLBACK_MOUSE_UP, clicked, rect);
    emotion_object_file_set(em, filename);

    evas_object_move(em, 0, 0);
    evas_object_resize(em, WIDTH, HEIGHT);
    evas_object_show(em);

    emotion_object_play_set(em, EINA_TRUE);
    ecore_main_loop_begin();
    ecore_evas_free(ee);
    ecore_evas_shutdown();
    return 0;

error:
    fprintf(stderr, "you got to have at least one evas engine built and linked"
            " up to ecore-evas for this example to run properly.\n");

    ecore_evas_shutdown();
    return -1;
}
------------------------------------------------------------------------------
Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex
infrastructure or vast IT resources to deliver seamless, secure access to
virtual desktops. With this all-in-one solution, easily deploy virtual 
desktops for less than the cost of PCs and save 60% on VDI infrastructure 
costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to