1/* GTK - The GIMP Toolkit
2 * gtktexttypes.h Copyright (C) 2000 Red Hat, Inc.
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18/*
19 * Modified by the GTK+ Team and others 1997-2000. See the AUTHORS
20 * file for a list of people on the GTK+ Team. See the ChangeLog
21 * files for a list of changes. These files are distributed with
22 * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
23 */
24
25#ifndef __GTK_TEXT_TYPES_H__
26#define __GTK_TEXT_TYPES_H__
27
28#include <gtk/gtk.h>
29#include <gtk/gtktexttagprivate.h>
30
31G_BEGIN_DECLS
32
33/*
34 * This is the PUBLIC representation of a text buffer.
35 * GtkTextBTree is the PRIVATE internal representation of it.
36 */
37
38typedef struct _GtkTextBTree GtkTextBTree;
39
40typedef struct _GtkTextCounter GtkTextCounter;
41typedef struct _GtkTextLineSegment GtkTextLineSegment;
42typedef struct _GtkTextLineSegmentClass GtkTextLineSegmentClass;
43typedef struct _GtkTextToggleBody GtkTextToggleBody;
44typedef struct _GtkTextMarkBody GtkTextMarkBody;
45
46/*
47 * Declarations for variables shared among the text-related files:
48 */
49
50/* In gtktextbtree.c */
51extern G_GNUC_INTERNAL const GtkTextLineSegmentClass gtk_text_char_type;
52extern G_GNUC_INTERNAL const GtkTextLineSegmentClass gtk_text_toggle_on_type;
53extern G_GNUC_INTERNAL const GtkTextLineSegmentClass gtk_text_toggle_off_type;
54
55/* In gtktextmark.c */
56extern G_GNUC_INTERNAL const GtkTextLineSegmentClass gtk_text_left_mark_type;
57extern G_GNUC_INTERNAL const GtkTextLineSegmentClass gtk_text_right_mark_type;
58
59/* In gtktextchild.c */
60extern G_GNUC_INTERNAL const GtkTextLineSegmentClass gtk_text_paintable_type;
61extern G_GNUC_INTERNAL const GtkTextLineSegmentClass gtk_text_child_type;
62
63/*
64 * UTF 8 Stubs
65 */
66
67#define GTK_TEXT_UNKNOWN_CHAR 0xFFFC
68#define GTK_TEXT_UNKNOWN_CHAR_UTF8_LEN 3
69GDK_AVAILABLE_IN_ALL
70const char *gtk_text_unknown_char_utf8_gtk_tests_only (void);
71extern const char _gtk_text_unknown_char_utf8[GTK_TEXT_UNKNOWN_CHAR_UTF8_LEN+1];
72
73GDK_AVAILABLE_IN_ALL
74gboolean gtk_text_byte_begins_utf8_char (const char *byte);
75
76G_END_DECLS
77
78#endif
79
80

source code of gtk/gtk/gtktexttypes.h