Enlightenment CVS committal
Author : monkeyiq
Project : misc
Module : feh
Dir : misc/feh/src
Modified Files:
sixdof.c
Log Message:
Better support for pressure sensitive 6dof
===================================================================
RCS file: /cvs/e/misc/feh/src/sixdof.c,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -3 -r1.2 -r1.3
--- sixdof.c 22 Apr 2008 13:50:33 -0000 1.2
+++ sixdof.c 23 Apr 2008 03:44:48 -0000 1.3
@@ -24,24 +24,26 @@
}
}
-void slideshow_zoom_in()
+void slideshow_zoom_in( double v )
{
winwidget w = winwidget_get_first_window_of_type( WIN_TYPE_SLIDESHOW );
if( w )
{
- w->zoom = w->zoom * 1.05;
+ printf("slideshow_zoom_in() v:%f\n",v);
+ w->zoom = w->zoom * (1 + ( v * 0.25 ) );
w->im_x = (w->w - (w->zoom*w->im_w)) / 2;
w->im_y = (w->h - (w->zoom*w->im_h)) / 2;
winwidget_render_image(w, 0, 0);
}
}
-void slideshow_zoom_out()
+void slideshow_zoom_out( double v )
{
winwidget w = winwidget_get_first_window_of_type( WIN_TYPE_SLIDESHOW );
if( w )
{
- w->zoom = w->zoom * 0.95;
+ printf("slideshow_zoom_out() v:%f\n",v);
+ w->zoom = w->zoom * (1 + ( v * 0.25 ) );
w->im_x = (w->w - (w->zoom*w->im_w)) / 2;
w->im_y = (w->h - (w->zoom*w->im_h)) / 2;
winwidget_render_image(w, 0, 0);
@@ -79,6 +81,46 @@
}
}
+void move_left( double v )
+{
+ winwidget w = winwidget_get_first_window_of_type( WIN_TYPE_SLIDESHOW );
+ if( w )
+ {
+ w->im_x = w->im_x - (v * 40);
+ winwidget_render_image(w, 0, 0);
+ }
+}
+
+void move_right( double v )
+{
+ winwidget w = winwidget_get_first_window_of_type( WIN_TYPE_SLIDESHOW );
+ if( w )
+ {
+ w->im_x = w->im_x - (v * 40);
+ winwidget_render_image(w, 0, 0);
+ }
+}
+
+void move_up( double v )
+{
+ winwidget w = winwidget_get_first_window_of_type( WIN_TYPE_SLIDESHOW );
+ if( w )
+ {
+ w->im_y = w->im_y + (v * 40);
+ winwidget_render_image(w, 0, 0);
+ }
+}
+
+void move_down( double v )
+{
+ winwidget w = winwidget_get_first_window_of_type( WIN_TYPE_SLIDESHOW );
+ if( w )
+ {
+ w->im_y = w->im_y + (v * 40);
+ winwidget_render_image(w, 0, 0);
+ }
+}
+
void sixdof_init( Display* disp )
@@ -88,10 +130,15 @@
libsixdof_registerTrivialCallableFunction( sdof, "slideshow-next", "",
&slideshow_next );
libsixdof_registerTrivialCallableFunction( sdof, "slideshow-prev", "",
&slideshow_prev );
- libsixdof_registerTrivialCallableFunction( sdof, "zoom-in", "",
&slideshow_zoom_in );
- libsixdof_registerTrivialCallableFunction( sdof, "zoom-out", "",
&slideshow_zoom_out );
+ libsixdof_registerCallableFunction( sdof, "zoom-in", "",
&slideshow_zoom_in );
+ libsixdof_registerCallableFunction( sdof, "zoom-out", "",
&slideshow_zoom_out );
libsixdof_registerTrivialCallableFunction( sdof, "rotate-clockwise","",
&slideshow_rotate_clockwise );
libsixdof_registerTrivialCallableFunction( sdof, "rotate-anticlockwise","",
&slideshow_rotate_anticlockwise );
+
+ libsixdof_registerCallableFunction( sdof, "move-up", "", &move_up );
+ libsixdof_registerCallableFunction( sdof, "move-down", "", &move_down );
+ libsixdof_registerCallableFunction( sdof, "move-left", "", &move_left );
+ libsixdof_registerCallableFunction( sdof, "move-right","", &move_right );
}
-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference
Don't miss this year's exciting event. There's still time to save $100.
Use priority code J8TL2D2.
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs