Object Hierarchy:

Gtk.TextMark Gtk.TextMark Gtk.TextMark GLib.Object GLib.Object GLib.Object->Gtk.TextMark


[ CCode ( type_id = "gtk_text_mark_get_type ()" ) ]
public class TextMark : Object

A `GtkTextMark` is a position in a `GtkTextbuffer` that is preserved across modifications.

You may wish to begin by reading the [text widget conceptual overview](section-text-widget.html), which gives an overview of all the objects and data types related to the text widget and how they work together.

A `GtkTextMark` is like a bookmark in a text buffer; it preserves a position in the text. You can convert the mark to an iterator using [ method@Gtk.TextBuffer.get_iter_at_mark]. Unlike iterators, marks remain valid across buffer mutations, because their behavior is defined when text is inserted or deleted. When text containing a mark is deleted, the mark remains in the position originally occupied by the deleted text. When text is inserted at a mark, a mark with “left gravity” will be moved to the beginning of the newly-inserted text, and a mark with “right gravity” will be moved to the end.

Note that “left” and “right” here refer to logical direction (left is the toward the start of the buffer); in some languages such as Hebrew the logically-leftmost text is not actually on the left when displayed.

Marks are reference counted, but the reference count only controls the validity of the memory; marks can be deleted from the buffer at any time with [method@Gtk.TextBuffer.delete_mark]. Once deleted from the buffer, a mark is essentially useless.

Marks optionally have names; these can be convenient to avoid passing the `GtkTextMark` object around.

Marks are typically created using the [method@Gtk.TextBuffer.create_mark] function.

Namespace: Gtk
Package: gtk4



Creation methods:


Inherited Members: