enum shift_type { SHIFT_BY_TIME, SHIFT_BY_FRAME }; enum shift_direction { SHIFT_FORWARD, SHIFT_BACKWARD }; enum shift_affected_rows { SHIFT_FROM_SELECTED, SHIFT_BEFORE_SELECTED, SHIFT_SELECTED, SHIFT_NOTSELECTED, SHIFT_ALL }; enum shift_affected_times { SHIFT_START_END, SHIFT_START, SHIFT_END }; struct _gui_shift_times { GtkWindow *window; GtkWidget *entry_time; GtkSpinButton *spin_frame; GtkLabel *label_fps; GtkComboBoxEntry *combo_fps; GtkRadioButton *radio_by_time; GtkRadioButton *radio_by_frame; GtkRadioButton *radio_forward; GtkRadioButton *radio_backward; GtkRadioButton *radio_time_both; GtkRadioButton *radio_time_start; GtkRadioButton *radio_time_end; GtkRadioButton *radio_row_all; GtkRadioButton *radio_row_selected; GtkRadioButton *radio_row_notselected; GtkRadioButton *radio_row_from_selection; GtkRadioButton *radio_row_before_selection; }; struct _gui_shift_times_options { enum shift_type shift_type; enum shift_direction shift_direction; enum shift_affected_rows shift_affected_rows; enum shift_affected_times shift_affected_times; int offset_mili; int offset_frames; char *fps; }; void gui_shift_times_show_custom(long time, enum shift_direction direction, enum shift_affected_rows rows); void gui_main_menu_event_shift_times_cb(gpointer callback_data, gint callback_arg, GtkMenuItem *item);