Enlightenment CVS committal

Author  : tsauerbeck
Project : e17
Module  : apps/euphoria

Dir     : e17/apps/euphoria/src


Modified Files:
        callbacks.c euphoria.c euphoria.h interface.c 


Log Message:
added support for vertical and inverted seekers
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/euphoria/src/callbacks.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -3 -r1.20 -r1.21
--- callbacks.c 14 Mar 2004 13:27:31 -0000      1.20
+++ callbacks.c 16 Mar 2004 18:14:34 -0000      1.21
@@ -1,5 +1,5 @@
 /*
- * $Id: callbacks.c,v 1.20 2004/03/14 13:27:31 tsauerbeck Exp $
+ * $Id: callbacks.c,v 1.21 2004/03/16 18:14:34 tsauerbeck Exp $
  * vim:noexpandtab:sw=4:sts=4:ts=4
  */
 
@@ -325,11 +325,17 @@
        edje_object_part_geometry_get(e->gui.edje, "seeker_grabber",
                                      &x, &y, &w, &h);
 
-       pos = ((double)(ex - x)) / ((double)w);
+       if (e->seekerflags.is_vertical)
+               pos = ((double) (ey - y)) / ((double) h);
+       else
+               pos = ((double) (ex - x)) / ((double) w);
 
        if (pos < 0) pos = 0;
        if (pos > 1) pos = 1;
 
+       if (e->seekerflags.invert_dir)
+               pos = 1 - pos;
+
        pos *= playlist_item_duration_get(e->playlist->current_item) * 1000;
 
        xmmsc_playback_seek_ms(e->xmms, (int) pos);
@@ -518,6 +524,7 @@
 
 XMMS_CB(playback_playtime) {
        unsigned int duration;
+       double pos;
 
        if (!e->playlist->current_item)
                return;
@@ -526,7 +533,13 @@
        duration = playlist_item_duration_get(e->playlist->current_item);
 
        ui_refresh_time(e, e->track_current_pos);
-       ui_refresh_seeker(e, (double) e->track_current_pos / duration);
+
+       pos = ((double) e->track_current_pos / duration);
+
+       if (e->seekerflags.invert_dir)
+               pos = 1 - pos;
+
+       ui_refresh_seeker(e, pos);
 }
 
 XMMS_CB(playback_currentid) {
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/euphoria/src/euphoria.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -3 -r1.9 -r1.10
--- euphoria.c  1 Mar 2004 22:45:36 -0000       1.9
+++ euphoria.c  16 Mar 2004 18:14:34 -0000      1.10
@@ -1,5 +1,5 @@
 /*
- * $Id: euphoria.c,v 1.9 2004/03/01 22:45:36 atmosphere Exp $
+ * $Id: euphoria.c,v 1.10 2004/03/16 18:14:34 tsauerbeck Exp $
  * vim:noexpandtab:sw=4:sts=4:ts=4
  */
 
@@ -203,7 +203,7 @@
        }
 
        ui_refresh_time(e, 0);
-       ui_refresh_seeker(e, 0);
+       ui_refresh_seeker(e, e->seekerflags.invert_dir);
        ui_refresh_volume(e);
        ecore_timer_add(1.5, ui_refresh_volume, e);
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/euphoria/src/euphoria.h,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -3 -r1.5 -r1.6
--- euphoria.h  27 Feb 2004 23:15:27 -0000      1.5
+++ euphoria.h  16 Mar 2004 18:14:34 -0000      1.6
@@ -2,7 +2,7 @@
 #define __EUPHORIA_H
 
 /*
- * $Id: euphoria.h,v 1.5 2004/02/27 23:15:27 tsauerbeck Exp $
+ * $Id: euphoria.h,v 1.6 2004/03/16 18:14:34 tsauerbeck Exp $
  * vim:noexpandtab:sw=4:sts=4:ts=4
  */
 
@@ -35,6 +35,8 @@
 typedef struct {
        bool seeker_seeking; /* true if seeking, false if not */
        bool seeking;
+       bool is_vertical;
+       bool invert_dir;
        int seek_dir;
 } SeekerFlags;
 
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/euphoria/src/interface.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -3 -r1.10 -r1.11
--- interface.c 14 Mar 2004 13:27:31 -0000      1.10
+++ interface.c 16 Mar 2004 18:14:34 -0000      1.11
@@ -1,5 +1,5 @@
 /*
- * $Id: interface.c,v 1.10 2004/03/14 13:27:31 tsauerbeck Exp $
+ * $Id: interface.c,v 1.11 2004/03/16 18:14:34 tsauerbeck Exp $
  * vim:noexpandtab:sw=4:sts=4:ts=4
  */
 
@@ -202,6 +202,7 @@
 
 bool ui_init_edje(Euphoria *e, const char *name) {
        double edje_w = 0, edje_h = 0;
+       const char *invert;
 
        debug(DEBUG_LEVEL_INFO, "EDJE: Defining Edje \n");
 
@@ -220,6 +221,16 @@
                return false;
        }
 
+       invert = edje_object_data_get(e->gui.edje, "seeker_invert_dir");
+
+       e->seekerflags.is_vertical = (edje_object_part_drag_dir_get(e->gui.edje, 
"seeker")
+                                     == EDJE_DRAG_DIR_Y);
+       /* inverted mode is on by default for vertical seekers */
+       e->seekerflags.invert_dir = e->seekerflags.is_vertical;
+
+       if (invert)
+               e->seekerflags.invert_dir = atoi(invert);
+
        evas_object_move(e->gui.edje, 0, 0);
        evas_object_pass_events_set (e->gui.edje, 1);
        evas_object_show(e->gui.edje);




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to