From: mike l. <lac...@gm...> - 2005-03-16 00:39:47
|
> Here is my attempt at adding zoom: > fb # diff actions.c /build/xine-ui/src/fb/actions.c > 42d41 > < > 209a209,215 > > { "zoom in", > > "ZoomIn", ACTID_ZOOM_IN }, > > { "zoom out", > > "ZoomOut", ACTID_ZOOM_OUT }, > > { "reset zooming", > > "ZoomReset", ACTID_ZOOM_RESET }, > > > 410a417,425 > > void gui_change_zoom(int zoom_dx, int zoom_dy) { > > > > xine_set_param(fbxine.stream, XINE_PARAM_VO_ZOOM_X, > > xine_get_param(fbxine.stream, XINE_PARAM_VO_ZOOM_X) + zoom_dx); > > xine_set_param(fbxine.stream, XINE_PARAM_VO_ZOOM_Y, > > xine_get_param(fbxine.stream, XINE_PARAM_VO_ZOOM_Y) + zoom_dy); > > > > } > > > 509a525,533 > > > > case ACTID_ZOOM_IN: > > gui_change_zoom(1,1); > > break; > > > > case ACTID_ZOOM_OUT: > > gui_change_zoom(-1,-1); > > break; > > > > What I get is: > no zoom change, OK, I was wrong, this actually does work!!! Woohoo! But its such a small increment I hardly noticed. Changing all the 1's for 5's fixed it. I have now added an osd_draw function similar to what you get at ff/rr, but to show zoom level. Its only 1 or 2 lines of code in osd.c/h. Please let me know if you guys are insterested in this and I'll start to learn how to create patch's. Mick |