89 void (*free_data)(gpointer data));
void dt_undo_disable_next(dt_undo_t *self)
void dt_undo_do_redo(dt_undo_t *self, uint32_t filter)
gboolean dt_is_redo_list_populated(dt_undo_t *self, uint32_t filter)
void dt_undo_end_group(dt_undo_t *self)
void dt_undo_cleanup(dt_undo_t *self)
void dt_undo_clear(dt_undo_t *self, uint32_t filter)
void dt_undo_iterate_internal(dt_undo_t *self, uint32_t filter, gpointer user_data, void(*apply)(gpointer user_data, dt_undo_type_t type, dt_undo_data_t item))
void dt_undo_iterate(dt_undo_t *self, uint32_t filter, gpointer user_data, void(*apply)(gpointer user_data, dt_undo_type_t type, dt_undo_data_t item))
void dt_undo_start_group(dt_undo_t *self, dt_undo_type_t type)
void dt_undo_do_undo(dt_undo_t *self, uint32_t filter)
dt_undo_t * dt_undo_init(void)
void dt_undo_record(dt_undo_t *self, gpointer user_data, dt_undo_type_t type, dt_undo_data_t data, void(*undo)(gpointer user_data, dt_undo_type_t type, dt_undo_data_t item, dt_undo_action_t action, GList **imgs), void(*free_data)(gpointer data))
gboolean dt_is_undo_list_populated(dt_undo_t *self, uint32_t filter)