Enlightenment CVS committal

Author  : rephorm
Project : misc
Module  : eplayer

Dir     : misc/eplayer/src


Modified Files:
        callbacks.c interface.c 


Log Message:
get that seeker seeking

===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/callbacks.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -3 -r1.24 -r1.25
--- callbacks.c 28 Dec 2003 12:53:45 -0000      1.24
+++ callbacks.c 16 Jan 2004 03:12:23 -0000      1.25
@@ -1,6 +1,7 @@
 #include <config.h>
 #include <Edje.h>
 #include <Esmart/container.h>
+#include <Ecore_X.h>
 #include <assert.h>
 #include "eplayer.h"
 #include "track.h"
@@ -279,3 +280,52 @@
        evas_object_del(player->gui.edje);
        ui_init_edje(player, src);
 }
+
+EDJE_CB(update_seeker) {
+  if (!strcmp(emission, "SEEKER_START"))
+  {
+    player->gui.seeking = 1;
+  }
+  else if (!strcmp(emission, "SEEKER_STOP"))
+  {
+    player->gui.seeking = 0;
+  }
+
+  if (player->gui.seeking)
+  {
+    Evas_Coord x, y, w, h;
+    int ex, ey;
+    PlayListItem *pli = playlist_current_item_get(player->playlist);
+    double pos;
+
+    if (ecore_event_current_type_get() == ECORE_X_EVENT_MOUSE_MOVE)
+    {
+      Ecore_X_Event_Mouse_Move *event;
+     
+      event = ecore_event_current_event_get();
+      ex = event->x; ey = event->y;
+    }
+    else if (ecore_event_current_type_get() == ECORE_X_EVENT_MOUSE_BUTTON_DOWN)
+    {
+      Ecore_X_Event_Mouse_Button_Down *event;
+     
+      event = ecore_event_current_event_get();
+      ex = event->x; ey = event->y;
+    }
+
+    edje_object_part_geometry_get(player->gui.edje, "seeker_grabber",
+                                  &x, &y, &w, &h);
+      
+    pos = ((double)(ex - x)) / ((double)w);
+    if (pos < 0) pos = 0;
+    if (pos > 1) pos = 1;
+
+    eplayer_playback_stop(player);
+    pli->plugin->set_current_pos(pli->plugin->get_duration() * pos);
+
+    pli->current_pos = pli->duration * pos;
+    track_update_time(player);
+
+    eplayer_playback_start(player, 0);
+  }
+}
===================================================================
RCS file: /cvsroot/enlightenment/misc/eplayer/src/interface.c,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -3 -r1.30 -r1.31
--- interface.c 16 Jan 2004 01:37:10 -0000      1.30
+++ interface.c 16 Jan 2004 03:12:23 -0000      1.31
@@ -214,7 +214,8 @@
                 (EdjeCb) cb_repeat_mode_toggle},
                {"SWITCH_GROUP", "*",
                 (EdjeCb) cb_switch_group},
-               {"*", "*", (EdjeCb) debug}
+               {"SEEKER*", "*",
+                (EdjeCb) cb_update_seeker}
        };
 
        for (i = 0; i < sizeof (cb) / sizeof (EdjeCallback); i++)
@@ -321,6 +322,7 @@
 int ui_refresh_seeker(ePlayer *player, double song_pos) {
        edje_object_part_drag_value_set(player->gui.edje, "seeker",
                                        song_pos, song_pos);
+       edje_object_thaw(player->gui.edje);                                     
        evas_render(player->gui.evas);
 
        return 1;




-------------------------------------------------------
The SF.Net email is sponsored by EclipseCon 2004
Premiere Conference on Open Tools Development and Integration
See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
http://www.eclipsecon.org/osdn
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to