Example #1
0
void usb_shoot_module_zoom()
{
	static long usb_remote_stack_name = -1;

	switch( logic_module_state )
	{
		case LM_RESET :
			logic_module_state = LM_RELEASE ;
			break ;

		case LM_RELEASE :
			switch( get_usb_power(LM_PULSE_COUNT) )
			{
				case ZOOM_STEP_OUT :
					shooting_set_zoom_rel(1) ;
					break ;

				case ZOOM_STEP_IN :
					shooting_set_zoom_rel(-1) ;
					break ;

				case ZOOM_SHOOT :
					logic_module_state = LM_FULL_PRESS ;
					usb_remote_stack_name = action_stack_create(&action_stack_standard,AS_SHOOT);
					break ;

				case ZOOM_FULL_OUT :
					shooting_set_zoom(zoom_points) ;
					break ;

				case ZOOM_FULL_IN :
					shooting_set_zoom(0) ;
					break ;

				default :
					break ;
			}
			break ;

		case LM_FULL_PRESS :
			if( action_stack_is_finished(usb_remote_stack_name) )
			{
				logic_module_state = LM_RELEASE ;
			}
			break ;

		default :
			break ;
	}
};
Example #2
0
// load the edge overlay from a file
void load_edge_overlay(const char* fn)
{
    FILE *fd;
    int zoom;

    get_viewport_size();
    ensure_allocate_imagebuffer( );
    fd = fopen(fn,"rb");
    if( fd != NULL )
    {
        int ret = fread(edgebuf->ptr,edgebuf->ptrLen,1,fd);
        int ret2 = fread (&zoom,sizeof(zoom),1,fd);
        fclose(fd);
        if( (ret == 1) && (ret2 == 1) )
        {
            fsm_state = EDGE_FROZEN;    // switch to "edge overlay frozen"-mode
            if (conf.edge_overlay_zoom)
            {
                shooting_set_zoom(zoom);
            }
        }
    }
}
Example #3
0
static int luaCB_set_zoom( lua_State* L )
{
    shooting_set_zoom(luaL_checknumber( L, 1 ));
    return 0;
}