void sprite_update(sprite *s){ ACCELERATE(x); ACCELERATE(y); DRAG(x); DRAG(y); s->user_update(s); }
int getRotateParams( void ) { int ret; ret=0; dialog=create_dialog1(); GTK_ADJUSTMENT(adj_angle)->value= par.angle ; gtk_widget_set_usize(WIDG(drawingarea1), par.width, par.height); // add callback for redraw & value changed gtk_signal_connect(GTK_OBJECT(WIDG(drawingarea1)), "expose_event", GTK_SIGNAL_FUNC(gui_draw), NULL); #define DRAG(x) gtk_signal_connect(GTK_OBJECT(WIDG(hscale1)), #x, \ GTK_SIGNAL_FUNC(gui_update), NULL); DRAG(drag_data_received); DRAG(drag_motion); DRAG(drag_data_get); DRAG(drag_begin); DRAG(value_changed); // if(gtk_dialog_run(GTK_DIALOG(dialog))==GTK_RESPONSE_OK) { par.angle = GTK_ADJUSTMENT(adj_angle)->value; //printf("\n Angle : %3.2f\n", par.angle); ret=1; } gtk_widget_destroy(dialog); return ret; }