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