All pastes #333049 Raw Edit

Miscellany

public c v1 · immutable
#333049 ·published 2007-01-30 17:11 UTC
rendered paste body
voidcb_mouse_out(Ewl_Widget *w, void *ev, void *data){	Folder_Widget *fw = FOLDER_WIDGET(w);	fw->inside = 0;	if(!fw->timer) ecore_timer_add(0.05,folder_zoom,w);}voidcb_mouse_in(Ewl_Widget *w, void *ev, void *data){		Folder_Widget *fw = FOLDER_WIDGET(w);	fw->start_time = -1;	fw->dir = 1;	fw->inside = 1;	if(!fw->timer) fw->timer = ecore_timer_add(0.05,folder_zoom,w);}int folder_zoom(void *folder){	Folder_Widget *fw = FOLDER_WIDGET(folder); 	int scale;	int done = 0;	int w;	if( fw->start_time == -1)	{		w = ewl_object_current_w_get(EWL_OBJECT(folder));		fw->start_time = ecore_time_get();		fw->start_size = w;	}		scale = fw->start_size + fw->speed * fw->dir * (ecore_time_get() - fw->start_time);		if (fw->dir > 0 && scale >= fw->max)	{		scale = fw->max;		if (fw->inside)			done = 1;		else		{			fw->start_time = -1;			fw->dir = -1;		}	}	else if ( fw->dir < 0 && scale <= fw->min)	{		scale = fw->min;		done = 1;	}	/*	ewl_object_place(EWL_OBJECT(folder), 				(CURRENT_X(folder) - (scale/2)),				(CURRENT_Y(folder) - (scale/2)),					scale,					scale				);	*/	//ewl_object_position_request(EWL_OBJECT(folder), CURRENT_X(folder) - (scale/2), CURRENT_Y(folder) - (scale/2));	printf("scale = %g \t current_x = %i current_y = %i \n", scale, CURRENT_X(folder), CURRENT_Y(folder));	if (done)	{		fw->timer = NULL;		return 0;	}		return 1;}