Blame gtk/gtktextbtree.h

Packit Service fb6fa5
/* GTK - The GIMP Toolkit
Packit Service fb6fa5
 * gtktextbtree.h Copyright (C) 2000 Red Hat, Inc.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * This library is free software; you can redistribute it and/or
Packit Service fb6fa5
 * modify it under the terms of the GNU Lesser General Public
Packit Service fb6fa5
 * License as published by the Free Software Foundation; either
Packit Service fb6fa5
 * version 2 of the License, or (at your option) any later version.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * This library is distributed in the hope that it will be useful,
Packit Service fb6fa5
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit Service fb6fa5
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
Packit Service fb6fa5
 * Lesser General Public License for more details.
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * You should have received a copy of the GNU Lesser General Public
Packit Service fb6fa5
 * License along with this library; if not, write to the
Packit Service fb6fa5
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Packit Service fb6fa5
 * Boston, MA 02111-1307, USA.
Packit Service fb6fa5
 */
Packit Service fb6fa5
Packit Service fb6fa5
/*
Packit Service fb6fa5
 * Modified by the GTK+ Team and others 1997-2000.  See the AUTHORS
Packit Service fb6fa5
 * file for a list of people on the GTK+ Team.  See the ChangeLog
Packit Service fb6fa5
 * files for a list of changes.  These files are distributed with
Packit Service fb6fa5
 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
Packit Service fb6fa5
 */
Packit Service fb6fa5
Packit Service fb6fa5
#ifndef __GTK_TEXT_BTREE_H__
Packit Service fb6fa5
#define __GTK_TEXT_BTREE_H__
Packit Service fb6fa5
Packit Service fb6fa5
#if 0
Packit Service fb6fa5
#define DEBUG_VALIDATION_AND_SCROLLING
Packit Service fb6fa5
#endif
Packit Service fb6fa5
Packit Service fb6fa5
#ifdef DEBUG_VALIDATION_AND_SCROLLING
Packit Service fb6fa5
#define DV(x) (x)
Packit Service fb6fa5
#else
Packit Service fb6fa5
#define DV(x)
Packit Service fb6fa5
#endif
Packit Service fb6fa5
Packit Service fb6fa5
#include <gtk/gtktextbuffer.h>
Packit Service fb6fa5
#include <gtk/gtktexttag.h>
Packit Service fb6fa5
#include <gtk/gtktextmark.h>
Packit Service fb6fa5
#include <gtk/gtktextchild.h>
Packit Service fb6fa5
#include <gtk/gtktextsegment.h>
Packit Service fb6fa5
#include <gtk/gtktextiter.h>
Packit Service fb6fa5
Packit Service fb6fa5
G_BEGIN_DECLS
Packit Service fb6fa5
Packit Service fb6fa5
GtkTextBTree  *_gtk_text_btree_new        (GtkTextTagTable *table,
Packit Service fb6fa5
                                           GtkTextBuffer   *buffer);
Packit Service fb6fa5
void           _gtk_text_btree_ref        (GtkTextBTree    *tree);
Packit Service fb6fa5
void           _gtk_text_btree_unref      (GtkTextBTree    *tree);
Packit Service fb6fa5
GtkTextBuffer *_gtk_text_btree_get_buffer (GtkTextBTree    *tree);
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
guint _gtk_text_btree_get_chars_changed_stamp    (GtkTextBTree *tree);
Packit Service fb6fa5
guint _gtk_text_btree_get_segments_changed_stamp (GtkTextBTree *tree);
Packit Service fb6fa5
void  _gtk_text_btree_segments_changed           (GtkTextBTree *tree);
Packit Service fb6fa5
Packit Service fb6fa5
gboolean _gtk_text_btree_is_end (GtkTextBTree       *tree,
Packit Service fb6fa5
                                 GtkTextLine        *line,
Packit Service fb6fa5
                                 GtkTextLineSegment *seg,
Packit Service fb6fa5
                                 int                 byte_index,
Packit Service fb6fa5
                                 int                 char_offset);
Packit Service fb6fa5
Packit Service fb6fa5
/* Indexable segment mutation */
Packit Service fb6fa5
Packit Service fb6fa5
void _gtk_text_btree_delete        (GtkTextIter *start,
Packit Service fb6fa5
                                    GtkTextIter *end);
Packit Service fb6fa5
void _gtk_text_btree_insert        (GtkTextIter *iter,
Packit Service fb6fa5
                                    const gchar *text,
Packit Service fb6fa5
                                    gint         len);
Packit Service fb6fa5
void _gtk_text_btree_insert_pixbuf (GtkTextIter *iter,
Packit Service fb6fa5
                                    GdkPixbuf   *pixbuf);
Packit Service fb6fa5
Packit Service fb6fa5
void _gtk_text_btree_insert_child_anchor (GtkTextIter        *iter,
Packit Service fb6fa5
                                          GtkTextChildAnchor *anchor);
Packit Service fb6fa5
Packit Service fb6fa5
void _gtk_text_btree_unregister_child_anchor (GtkTextChildAnchor *anchor);
Packit Service fb6fa5
Packit Service fb6fa5
/* View stuff */
Packit Service fb6fa5
GtkTextLine *_gtk_text_btree_find_line_by_y    (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                gpointer           view_id,
Packit Service fb6fa5
                                                gint               ypixel,
Packit Service fb6fa5
                                                gint              *line_top_y);
Packit Service fb6fa5
gint         _gtk_text_btree_find_line_top     (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                GtkTextLine       *line,
Packit Service fb6fa5
                                                gpointer           view_id);
Packit Service fb6fa5
void         _gtk_text_btree_add_view          (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                GtkTextLayout     *layout);
Packit Service fb6fa5
void         _gtk_text_btree_remove_view       (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                gpointer           view_id);
Packit Service fb6fa5
void         _gtk_text_btree_invalidate_region (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                const GtkTextIter *start,
Packit Service fb6fa5
                                                const GtkTextIter *end,
Packit Service fb6fa5
                                                gboolean           cursors_only);
Packit Service fb6fa5
void         _gtk_text_btree_get_view_size     (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                gpointer           view_id,
Packit Service fb6fa5
                                                gint              *width,
Packit Service fb6fa5
                                                gint              *height);
Packit Service fb6fa5
gboolean     _gtk_text_btree_is_valid          (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                gpointer           view_id);
Packit Service fb6fa5
gboolean     _gtk_text_btree_validate          (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                gpointer           view_id,
Packit Service fb6fa5
                                                gint               max_pixels,
Packit Service fb6fa5
                                                gint              *y,
Packit Service fb6fa5
                                                gint              *old_height,
Packit Service fb6fa5
                                                gint              *new_height);
Packit Service fb6fa5
void         _gtk_text_btree_validate_line     (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                GtkTextLine       *line,
Packit Service fb6fa5
                                                gpointer           view_id);
Packit Service fb6fa5
Packit Service fb6fa5
/* Tag */
Packit Service fb6fa5
Packit Service fb6fa5
void _gtk_text_btree_tag (const GtkTextIter *start,
Packit Service fb6fa5
                          const GtkTextIter *end,
Packit Service fb6fa5
                          GtkTextTag        *tag,
Packit Service fb6fa5
                          gboolean           apply);
Packit Service fb6fa5
Packit Service fb6fa5
/* "Getters" */
Packit Service fb6fa5
Packit Service fb6fa5
GtkTextLine * _gtk_text_btree_get_line          (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                 gint               line_number,
Packit Service fb6fa5
                                                 gint              *real_line_number);
Packit Service fb6fa5
GtkTextLine * _gtk_text_btree_get_line_no_last  (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                 gint               line_number,
Packit Service fb6fa5
                                                 gint              *real_line_number);
Packit Service fb6fa5
GtkTextLine * _gtk_text_btree_get_end_iter_line (GtkTextBTree      *tree);
Packit Service fb6fa5
GtkTextLine * _gtk_text_btree_get_line_at_char  (GtkTextBTree      *tree,
Packit Service fb6fa5
                                                 gint               char_index,
Packit Service fb6fa5
                                                 gint              *line_start_index,
Packit Service fb6fa5
                                                 gint              *real_char_index);
Packit Service fb6fa5
GtkTextTag**  _gtk_text_btree_get_tags          (const GtkTextIter *iter,
Packit Service fb6fa5
                                                 gint              *num_tags);
Packit Service fb6fa5
gchar        *_gtk_text_btree_get_text          (const GtkTextIter *start,
Packit Service fb6fa5
                                                 const GtkTextIter *end,
Packit Service fb6fa5
                                                 gboolean           include_hidden,
Packit Service fb6fa5
                                                 gboolean           include_nonchars);
Packit Service fb6fa5
gint          _gtk_text_btree_line_count        (GtkTextBTree      *tree);
Packit Service fb6fa5
gint          _gtk_text_btree_char_count        (GtkTextBTree      *tree);
Packit Service fb6fa5
gboolean      _gtk_text_btree_char_is_invisible (const GtkTextIter *iter);
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
/* Get iterators (these are implemented in gtktextiter.c) */
Packit Service fb6fa5
void     _gtk_text_btree_get_iter_at_char         (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                   GtkTextIter        *iter,
Packit Service fb6fa5
                                                   gint                char_index);
Packit Service fb6fa5
void     _gtk_text_btree_get_iter_at_line_char    (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                   GtkTextIter        *iter,
Packit Service fb6fa5
                                                   gint                line_number,
Packit Service fb6fa5
                                                   gint                char_index);
Packit Service fb6fa5
void     _gtk_text_btree_get_iter_at_line_byte    (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                   GtkTextIter        *iter,
Packit Service fb6fa5
                                                   gint                line_number,
Packit Service fb6fa5
                                                   gint                byte_index);
Packit Service fb6fa5
gboolean _gtk_text_btree_get_iter_from_string     (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                   GtkTextIter        *iter,
Packit Service fb6fa5
                                                   const gchar        *string);
Packit Service fb6fa5
gboolean _gtk_text_btree_get_iter_at_mark_name    (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                   GtkTextIter        *iter,
Packit Service fb6fa5
                                                   const gchar        *mark_name);
Packit Service fb6fa5
void     _gtk_text_btree_get_iter_at_mark         (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                   GtkTextIter        *iter,
Packit Service fb6fa5
                                                   GtkTextMark        *mark);
Packit Service fb6fa5
void     _gtk_text_btree_get_end_iter             (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                   GtkTextIter        *iter);
Packit Service fb6fa5
void     _gtk_text_btree_get_iter_at_line         (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                   GtkTextIter        *iter,
Packit Service fb6fa5
                                                   GtkTextLine        *line,
Packit Service fb6fa5
                                                   gint                byte_offset);
Packit Service fb6fa5
gboolean _gtk_text_btree_get_iter_at_first_toggle (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                   GtkTextIter        *iter,
Packit Service fb6fa5
                                                   GtkTextTag         *tag);
Packit Service fb6fa5
gboolean _gtk_text_btree_get_iter_at_last_toggle  (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                   GtkTextIter        *iter,
Packit Service fb6fa5
                                                   GtkTextTag         *tag);
Packit Service fb6fa5
Packit Service fb6fa5
void     _gtk_text_btree_get_iter_at_child_anchor  (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                    GtkTextIter        *iter,
Packit Service fb6fa5
                                                    GtkTextChildAnchor *anchor);
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
/* Manipulate marks */
Packit Service fb6fa5
GtkTextMark        *_gtk_text_btree_set_mark                (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                             GtkTextMark         *existing_mark,
Packit Service fb6fa5
                                                             const gchar        *name,
Packit Service fb6fa5
                                                             gboolean            left_gravity,
Packit Service fb6fa5
                                                             const GtkTextIter  *index,
Packit Service fb6fa5
                                                             gboolean           should_exist);
Packit Service fb6fa5
void                _gtk_text_btree_remove_mark_by_name     (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                             const gchar        *name);
Packit Service fb6fa5
void                _gtk_text_btree_remove_mark             (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                             GtkTextMark        *segment);
Packit Service fb6fa5
gboolean            _gtk_text_btree_get_selection_bounds    (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                             GtkTextIter        *start,
Packit Service fb6fa5
                                                             GtkTextIter        *end);
Packit Service fb6fa5
void                _gtk_text_btree_place_cursor            (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                             const GtkTextIter  *where);
Packit Service fb6fa5
void                _gtk_text_btree_select_range            (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                             const GtkTextIter  *ins,
Packit Service fb6fa5
							     const GtkTextIter  *bound);
Packit Service fb6fa5
gboolean            _gtk_text_btree_mark_is_insert          (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                             GtkTextMark        *segment);
Packit Service fb6fa5
gboolean            _gtk_text_btree_mark_is_selection_bound (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                             GtkTextMark        *segment);
Packit Service fb6fa5
GtkTextMark        *_gtk_text_btree_get_insert		    (GtkTextBTree       *tree);
Packit Service fb6fa5
GtkTextMark        *_gtk_text_btree_get_selection_bound	    (GtkTextBTree       *tree);
Packit Service fb6fa5
GtkTextMark        *_gtk_text_btree_get_mark_by_name        (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                             const gchar        *name);
Packit Service fb6fa5
GtkTextLine *       _gtk_text_btree_first_could_contain_tag (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                             GtkTextTag         *tag);
Packit Service fb6fa5
GtkTextLine *       _gtk_text_btree_last_could_contain_tag  (GtkTextBTree       *tree,
Packit Service fb6fa5
                                                             GtkTextTag         *tag);
Packit Service fb6fa5
Packit Service fb6fa5
/* Lines */
Packit Service fb6fa5
Packit Service fb6fa5
/* Chunk of data associated with a line; views can use this to store
Packit Service fb6fa5
   info at the line. They should "subclass" the header struct here. */
Packit Service fb6fa5
struct _GtkTextLineData {
Packit Service fb6fa5
  gpointer view_id;
Packit Service fb6fa5
  GtkTextLineData *next;
Packit Service fb6fa5
  gint height;
Packit Service fb6fa5
  signed int width : 24;
Packit Service fb6fa5
  guint valid : 8;		/* Actually a boolean */
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
/*
Packit Service fb6fa5
 * The data structure below defines a single line of text (from newline
Packit Service fb6fa5
 * to newline, not necessarily what appears on one line of the screen).
Packit Service fb6fa5
 *
Packit Service fb6fa5
 * You can consider this line a "paragraph" also
Packit Service fb6fa5
 */
Packit Service fb6fa5
Packit Service fb6fa5
struct _GtkTextLine {
Packit Service fb6fa5
  GtkTextBTreeNode *parent;             /* Pointer to parent node containing
Packit Service fb6fa5
                                         * line. */
Packit Service fb6fa5
  GtkTextLine *next;            /* Next in linked list of lines with
Packit Service fb6fa5
                                 * same parent node in B-tree.  NULL
Packit Service fb6fa5
                                 * means end of list. */
Packit Service fb6fa5
  GtkTextLineSegment *segments; /* First in ordered list of segments
Packit Service fb6fa5
                                 * that make up the line. */
Packit Service fb6fa5
  GtkTextLineData *views;      /* data stored here by views */
Packit Service fb6fa5
  guchar dir_strong;                /* BiDi algo dir of line */
Packit Service fb6fa5
  guchar dir_propagated_back;       /* BiDi algo dir of next line */
Packit Service fb6fa5
  guchar dir_propagated_forward;    /* BiDi algo dir of prev line */
Packit Service fb6fa5
};
Packit Service fb6fa5
Packit Service fb6fa5
Packit Service fb6fa5
gint                _gtk_text_line_get_number                 (GtkTextLine         *line);
Packit Service fb6fa5
gboolean            _gtk_text_line_char_has_tag               (GtkTextLine         *line,
Packit Service fb6fa5
                                                               GtkTextBTree        *tree,
Packit Service fb6fa5
                                                               gint                 char_in_line,
Packit Service fb6fa5
                                                               GtkTextTag          *tag);
Packit Service fb6fa5
gboolean            _gtk_text_line_byte_has_tag               (GtkTextLine         *line,
Packit Service fb6fa5
                                                               GtkTextBTree        *tree,
Packit Service fb6fa5
                                                               gint                 byte_in_line,
Packit Service fb6fa5
                                                               GtkTextTag          *tag);
Packit Service fb6fa5
gboolean            _gtk_text_line_is_last                    (GtkTextLine         *line,
Packit Service fb6fa5
                                                               GtkTextBTree        *tree);
Packit Service fb6fa5
gboolean            _gtk_text_line_contains_end_iter          (GtkTextLine         *line,
Packit Service fb6fa5
                                                               GtkTextBTree        *tree);
Packit Service fb6fa5
GtkTextLine *       _gtk_text_line_next                       (GtkTextLine         *line);
Packit Service fb6fa5
GtkTextLine *       _gtk_text_line_next_excluding_last        (GtkTextLine         *line);
Packit Service fb6fa5
GtkTextLine *       _gtk_text_line_previous                   (GtkTextLine         *line);
Packit Service fb6fa5
void                _gtk_text_line_add_data                   (GtkTextLine         *line,
Packit Service fb6fa5
                                                               GtkTextLineData     *data);
Packit Service fb6fa5
gpointer            _gtk_text_line_remove_data                (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gpointer             view_id);
Packit Service fb6fa5
gpointer            _gtk_text_line_get_data                   (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gpointer             view_id);
Packit Service fb6fa5
void                _gtk_text_line_invalidate_wrap            (GtkTextLine         *line,
Packit Service fb6fa5
                                                               GtkTextLineData     *ld);
Packit Service fb6fa5
gint                _gtk_text_line_char_count                 (GtkTextLine         *line);
Packit Service fb6fa5
gint                _gtk_text_line_byte_count                 (GtkTextLine         *line);
Packit Service fb6fa5
gint                _gtk_text_line_char_index                 (GtkTextLine         *line);
Packit Service fb6fa5
GtkTextLineSegment *_gtk_text_line_byte_to_segment            (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gint                 byte_offset,
Packit Service fb6fa5
                                                               gint                *seg_offset);
Packit Service fb6fa5
GtkTextLineSegment *_gtk_text_line_char_to_segment            (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gint                 char_offset,
Packit Service fb6fa5
                                                               gint                *seg_offset);
Packit Service fb6fa5
gboolean            _gtk_text_line_byte_locate                (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gint                 byte_offset,
Packit Service fb6fa5
                                                               GtkTextLineSegment **segment,
Packit Service fb6fa5
                                                               GtkTextLineSegment **any_segment,
Packit Service fb6fa5
                                                               gint                *seg_byte_offset,
Packit Service fb6fa5
                                                               gint                *line_byte_offset);
Packit Service fb6fa5
gboolean            _gtk_text_line_char_locate                (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gint                 char_offset,
Packit Service fb6fa5
                                                               GtkTextLineSegment **segment,
Packit Service fb6fa5
                                                               GtkTextLineSegment **any_segment,
Packit Service fb6fa5
                                                               gint                *seg_char_offset,
Packit Service fb6fa5
                                                               gint                *line_char_offset);
Packit Service fb6fa5
void                _gtk_text_line_byte_to_char_offsets       (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gint                 byte_offset,
Packit Service fb6fa5
                                                               gint                *line_char_offset,
Packit Service fb6fa5
                                                               gint                *seg_char_offset);
Packit Service fb6fa5
void                _gtk_text_line_char_to_byte_offsets       (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gint                 char_offset,
Packit Service fb6fa5
                                                               gint                *line_byte_offset,
Packit Service fb6fa5
                                                               gint                *seg_byte_offset);
Packit Service fb6fa5
GtkTextLineSegment *_gtk_text_line_byte_to_any_segment        (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gint                 byte_offset,
Packit Service fb6fa5
                                                               gint                *seg_offset);
Packit Service fb6fa5
GtkTextLineSegment *_gtk_text_line_char_to_any_segment        (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gint                 char_offset,
Packit Service fb6fa5
                                                               gint                *seg_offset);
Packit Service fb6fa5
gint                _gtk_text_line_byte_to_char               (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gint                 byte_offset);
Packit Service fb6fa5
gint                _gtk_text_line_char_to_byte               (GtkTextLine         *line,
Packit Service fb6fa5
                                                               gint                 char_offset);
Packit Service fb6fa5
GtkTextLine    *    _gtk_text_line_next_could_contain_tag     (GtkTextLine         *line,
Packit Service fb6fa5
                                                               GtkTextBTree        *tree,
Packit Service fb6fa5
                                                               GtkTextTag          *tag);
Packit Service fb6fa5
GtkTextLine    *    _gtk_text_line_previous_could_contain_tag (GtkTextLine         *line,
Packit Service fb6fa5
                                                               GtkTextBTree        *tree,
Packit Service fb6fa5
                                                               GtkTextTag          *tag);
Packit Service fb6fa5
Packit Service fb6fa5
GtkTextLineData    *_gtk_text_line_data_new                   (GtkTextLayout     *layout,
Packit Service fb6fa5
                                                               GtkTextLine       *line);
Packit Service fb6fa5
Packit Service fb6fa5
/* Debug */
Packit Service fb6fa5
void _gtk_text_btree_check (GtkTextBTree *tree);
Packit Service fb6fa5
void _gtk_text_btree_spew (GtkTextBTree *tree);
Packit Service fb6fa5
extern gboolean _gtk_text_view_debug_btree;
Packit Service fb6fa5
Packit Service fb6fa5
/* ignore, exported only for gtktextsegment.c */
Packit Service fb6fa5
void _gtk_toggle_segment_check_func (GtkTextLineSegment *segPtr,
Packit Service fb6fa5
                                     GtkTextLine        *line);
Packit Service fb6fa5
void _gtk_change_node_toggle_count  (GtkTextBTreeNode   *node,
Packit Service fb6fa5
                                     GtkTextTagInfo     *info,
Packit Service fb6fa5
                                     gint                delta);
Packit Service fb6fa5
Packit Service fb6fa5
/* for gtktextmark.c */
Packit Service fb6fa5
void _gtk_text_btree_release_mark_segment (GtkTextBTree       *tree,
Packit Service fb6fa5
                                           GtkTextLineSegment *segment);
Packit Service fb6fa5
Packit Service fb6fa5
/* for coordination with the tag table */
Packit Service fb6fa5
void _gtk_text_btree_notify_will_remove_tag (GtkTextBTree *tree,
Packit Service fb6fa5
                                             GtkTextTag   *tag);
Packit Service fb6fa5
Packit Service fb6fa5
G_END_DECLS
Packit Service fb6fa5
Packit Service fb6fa5
#endif
Packit Service fb6fa5
Packit Service fb6fa5