## GoUndo GoUndo |

## Synopsis

    GType               go_undo_binary_get_type             (void);
    GOUndo*             go_undo_binary_new                  (gpointer a,
                                                             gpointer b,
                                                             GOUndoBinaryFunc undo,
                                                             GFreeFunc fa,
                                                             GFreeFunc fb);
    GOUndo*             go_undo_combine                     (GOUndo *a,
                                                             GOUndo *b);
    GType               go_undo_get_type                    (void);
    void                go_undo_group_add                   (GOUndoGroup *g,
                                                             GOUndo *u);
    GType               go_undo_group_get_type              (void);
    GOUndoGroup*        go_undo_group_new                   (void);
    GType               go_undo_unary_get_type              (void);
    GOUndo*             go_undo_unary_new                   (gpointer a,
                                                             GOUndoUnaryFunc undo,
                                                             GFreeFunc fa);
    void                go_undo_undo                        (GOUndo *u);
    void                go_undo_undo_with_data              (GOUndo *u,
                                                             gpointer data);

## Description

## Details

### go_undo_binary_get_type ()

    GType               go_undo_binary_get_type             (void);

Returns : |

### go_undo_binary_new ()

    GOUndo*             go_undo_binary_new                  (gpointer a,
                                                             gpointer b,
                                                             GOUndoBinaryFunc undo,
                                                             GFreeFunc fa,
                                                             GFreeFunc fb);

`a` : |
`b` : |
`undo` : |
`fa` : |
`fb` : |
Returns : |

### go_undo_combine ()

    GOUndo*             go_undo_combine                     (GOUndo *a,
                                                             GOUndo *b);

Combines two undo operations and returns the combination. This function takes ownership of the argument references and gives ownership of the result to the caller. Either argument may be NULL in which case the other is returned.

`a` : | optional first undo operation
`b` : | optional last undo operation
Returns : |

### go_undo_get_type ()

    GType               go_undo_get_type                    (void);

Returns : |

### go_undo_group_add ()

    void                go_undo_group_add                   (GOUndoGroup *g,
                                                             GOUndo *u);

`g` : |
`u` : |

### go_undo_group_get_type ()

    GType               go_undo_group_get_type              (void);

Returns : |

### go_undo_group_new ()

    GOUndoGroup*        go_undo_group_new                   (void);

Returns : |

### go_undo_unary_get_type ()

    GType               go_undo_unary_get_type              (void);

Returns : |

### go_undo_unary_new ()

    GOUndo*             go_undo_unary_new                   (gpointer a,
                                                             GOUndoUnaryFunc undo,
                                                             GFreeFunc fa);

`a` : |
`undo` : |
`fa` : |
Returns : |

### go_undo_undo ()

    void                go_undo_undo                        (GOUndo *u);

`u` : |

### go_undo_undo_with_data ()

    void                go_undo_undo_with_data              (GOUndo *u,
                                                             gpointer data);

`u` : |
`data` : |