<!-- ##### SECTION Title ##### -->
GtkTextBuffer

<!-- ##### SECTION Short_Description ##### -->

Stores attributed text for display in a <link
linkend="GtkTextView">GtkTextView</link>

<!-- ##### SECTION Long_Description ##### -->

<para>
You may wish to begin by reading the <link linkend="TextWidget">text widget
conceptual overview</link> which gives an overview of all the objects and data
types related to the text widget and how they work together.
</para>

<para>

</para>

<!-- ##### SECTION See_Also ##### -->
<para>
#GtkTextView, #GtkTextIter, #GtkTextMark
</para>

<!-- ##### SECTION Stability_Level ##### -->


<!-- ##### STRUCT GtkTextBuffer ##### -->
<para>

</para>


<!-- ##### SIGNAL GtkTextBuffer::apply-tag ##### -->
<para>

</para>

@textbuffer: the object which received the signal.
@arg1: 
@arg2: 
@arg3: 

<!-- ##### SIGNAL GtkTextBuffer::begin-user-action ##### -->
<para>

</para>

@textbuffer: the object which received the signal.

<!-- ##### SIGNAL GtkTextBuffer::changed ##### -->
<para>

</para>

@textbuffer: the object which received the signal.

<!-- ##### SIGNAL GtkTextBuffer::delete-range ##### -->
<para>

</para>

@textbuffer: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### SIGNAL GtkTextBuffer::end-user-action ##### -->
<para>

</para>

@textbuffer: the object which received the signal.

<!-- ##### SIGNAL GtkTextBuffer::insert-child-anchor ##### -->
<para>

</para>

@textbuffer: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### SIGNAL GtkTextBuffer::insert-pixbuf ##### -->
<para>

</para>

@textbuffer: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### SIGNAL GtkTextBuffer::insert-text ##### -->
<para>

</para>

@textbuffer: the object which received the signal.
@arg1: 
@arg2: 
@arg3: 
<!-- # Unused Parameters # -->
@arg4: 

<!-- ##### SIGNAL GtkTextBuffer::mark-deleted ##### -->
<para>

</para>

@textbuffer: the object which received the signal.
@arg1: 

<!-- ##### SIGNAL GtkTextBuffer::mark-set ##### -->
<para>

</para>

@textbuffer: the object which received the signal.
@arg1: 
@arg2: 

<!-- ##### SIGNAL GtkTextBuffer::modified-changed ##### -->
<para>

</para>

@textbuffer: the object which received the signal.

<!-- ##### SIGNAL GtkTextBuffer::remove-tag ##### -->
<para>

</para>

@textbuffer: the object which received the signal.
@arg1: 
@arg2: 
@arg3: 

<!-- ##### ARG GtkTextBuffer:has-selection ##### -->
<para>

</para>

<!-- ##### ARG GtkTextBuffer:tag-table ##### -->
<para>

</para>

<!-- ##### ARG GtkTextBuffer:text ##### -->
<para>

</para>

<!-- ##### FUNCTION gtk_text_buffer_new ##### -->
<para>

</para>

@table: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_get_line_count ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_get_char_count ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_get_tag_table ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_insert ##### -->
<para>

</para>

@buffer: 
@iter: 
@text: 
@len: 


<!-- ##### FUNCTION gtk_text_buffer_insert_at_cursor ##### -->
<para>

</para>

@buffer: 
@text: 
@len: 


<!-- ##### FUNCTION gtk_text_buffer_insert_interactive ##### -->
<para>

</para>

@buffer: 
@iter: 
@text: 
@len: 
@default_editable: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_insert_interactive_at_cursor ##### -->
<para>

</para>

@buffer: 
@text: 
@len: 
@default_editable: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_insert_range ##### -->
<para>

</para>

@buffer: 
@iter: 
@start: 
@end: 


<!-- ##### FUNCTION gtk_text_buffer_insert_range_interactive ##### -->
<para>

</para>

@buffer: 
@iter: 
@start: 
@end: 
@default_editable: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_insert_with_tags ##### -->
<para>

</para>

@buffer: 
@iter: 
@text: 
@len: 
@first_tag: 
@Varargs: 


<!-- ##### FUNCTION gtk_text_buffer_insert_with_tags_by_name ##### -->
<para>

</para>

@buffer: 
@iter: 
@text: 
@len: 
@first_tag_name: 
@Varargs: 


<!-- ##### FUNCTION gtk_text_buffer_delete ##### -->
<para>

</para>

@buffer: 
@start: 
@end: 
<!-- # Unused Parameters # -->
@start_iter: 
@end_iter: 


<!-- ##### FUNCTION gtk_text_buffer_delete_interactive ##### -->
<para>

</para>

@buffer: 
@start_iter: 
@end_iter: 
@default_editable: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_backspace ##### -->
<para>

</para>

@buffer: 
@iter: 
@interactive: 
@default_editable: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_set_text ##### -->
<para>

</para>

@buffer: 
@text: 
@len: 


<!-- ##### FUNCTION gtk_text_buffer_get_text ##### -->
<para>

</para>

@buffer: 
@start: 
@end: 
@include_hidden_chars: 
@Returns: 
<!-- # Unused Parameters # -->
@start_iter: 
@end_iter: 


<!-- ##### FUNCTION gtk_text_buffer_get_slice ##### -->
<para>

</para>

@buffer: 
@start: 
@end: 
@include_hidden_chars: 
@Returns: 
<!-- # Unused Parameters # -->
@start_iter: 
@end_iter: 


<!-- ##### FUNCTION gtk_text_buffer_insert_pixbuf ##### -->
<para>

</para>

@buffer: 
@iter: 
@pixbuf: 


<!-- ##### FUNCTION gtk_text_buffer_insert_child_anchor ##### -->
<para>

</para>

@buffer: 
@iter: 
@anchor: 


<!-- ##### FUNCTION gtk_text_buffer_create_child_anchor ##### -->
<para>

</para>

@buffer: 
@iter: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_create_mark ##### -->
<para>

</para>

@buffer: 
@mark_name: 
@where: 
@left_gravity: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_move_mark ##### -->
<para>

</para>

@buffer: 
@mark: 
@where: 


<!-- ##### FUNCTION gtk_text_buffer_move_mark_by_name ##### -->
<para>

</para>

@buffer: 
@name: 
@where: 


<!-- ##### FUNCTION gtk_text_buffer_delete_mark ##### -->
<para>

</para>

@buffer: 
@mark: 


<!-- ##### FUNCTION gtk_text_buffer_delete_mark_by_name ##### -->
<para>

</para>

@buffer: 
@name: 


<!-- ##### FUNCTION gtk_text_buffer_get_mark ##### -->
<para>

</para>

@buffer: 
@name: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_get_insert ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_get_selection_bound ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_get_has_selection ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_place_cursor ##### -->
<para>

</para>

@buffer: 
@where: 


<!-- ##### FUNCTION gtk_text_buffer_select_range ##### -->
<para>

</para>

@buffer: 
@ins: 
@bound: 


<!-- ##### FUNCTION gtk_text_buffer_apply_tag ##### -->
<para>

</para>

@buffer: 
@tag: 
@start: 
@end: 
<!-- # Unused Parameters # -->
@start_index: 
@end_index: 


<!-- ##### FUNCTION gtk_text_buffer_remove_tag ##### -->
<para>

</para>

@buffer: 
@tag: 
@start: 
@end: 
<!-- # Unused Parameters # -->
@start_index: 
@end_index: 


<!-- ##### FUNCTION gtk_text_buffer_apply_tag_by_name ##### -->
<para>

</para>

@buffer: 
@name: 
@start: 
@end: 
<!-- # Unused Parameters # -->
@start_index: 
@end_index: 


<!-- ##### FUNCTION gtk_text_buffer_remove_tag_by_name ##### -->
<para>

</para>

@buffer: 
@name: 
@start: 
@end: 
<!-- # Unused Parameters # -->
@start_index: 
@end_index: 


<!-- ##### FUNCTION gtk_text_buffer_remove_all_tags ##### -->
<para>

</para>

@buffer: 
@start: 
@end: 


<!-- ##### FUNCTION gtk_text_buffer_create_tag ##### -->
<para>

</para>

@buffer: 
@tag_name: 
@first_property_name: 
@Varargs: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_get_iter_at_line_offset ##### -->
<para>

</para>

@buffer: 
@iter: 
@line_number: 
@char_offset: 


<!-- ##### FUNCTION gtk_text_buffer_get_iter_at_offset ##### -->
<para>

</para>

@buffer: 
@iter: 
@char_offset: 


<!-- ##### FUNCTION gtk_text_buffer_get_iter_at_line ##### -->
<para>

</para>

@buffer: 
@iter: 
@line_number: 


<!-- ##### FUNCTION gtk_text_buffer_get_iter_at_line_index ##### -->
<para>

</para>

@buffer: 
@iter: 
@line_number: 
@byte_index: 


<!-- ##### FUNCTION gtk_text_buffer_get_iter_at_mark ##### -->
<para>

</para>

@buffer: 
@iter: 
@mark: 


<!-- ##### FUNCTION gtk_text_buffer_get_iter_at_child_anchor ##### -->
<para>

</para>

@buffer: 
@iter: 
@anchor: 


<!-- ##### FUNCTION gtk_text_buffer_get_start_iter ##### -->
<para>

</para>

@buffer: 
@iter: 


<!-- ##### FUNCTION gtk_text_buffer_get_end_iter ##### -->
<para>

</para>

@buffer: 
@iter: 


<!-- ##### FUNCTION gtk_text_buffer_get_bounds ##### -->
<para>

</para>

@buffer: 
@start: 
@end: 


<!-- ##### FUNCTION gtk_text_buffer_get_modified ##### -->
<para>

</para>

@buffer: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_set_modified ##### -->
<para>

</para>

@buffer: 
@setting: 


<!-- ##### FUNCTION gtk_text_buffer_delete_selection ##### -->
<para>

</para>

@buffer: 
@interactive: 
@default_editable: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_paste_clipboard ##### -->
<para>

</para>

@buffer: 
@clipboard: 
@override_location: 
@default_editable: 
<!-- # Unused Parameters # -->
@time_: 
@interactive: 


<!-- ##### FUNCTION gtk_text_buffer_copy_clipboard ##### -->
<para>

</para>

@buffer: 
@clipboard: 


<!-- ##### FUNCTION gtk_text_buffer_cut_clipboard ##### -->
<para>

</para>

@buffer: 
@clipboard: 
@default_editable: 


<!-- ##### FUNCTION gtk_text_buffer_get_selection_bounds ##### -->
<para>

</para>

@buffer: 
@start: 
@end: 
@Returns: 


<!-- ##### FUNCTION gtk_text_buffer_begin_user_action ##### -->
<para>

</para>

@buffer: 


<!-- ##### FUNCTION gtk_text_buffer_end_user_action ##### -->
<para>

</para>

@buffer: 


<!-- ##### FUNCTION gtk_text_buffer_add_selection_clipboard ##### -->
<para>

</para>

@buffer: 
@clipboard: 


<!-- ##### FUNCTION gtk_text_buffer_remove_selection_clipboard ##### -->
<para>

</para>

@buffer: 
@clipboard: