]> Pileus Git - ~andy/gtk/blob - libgail-util/gailtextutil.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / libgail-util / gailtextutil.h
1 /* GAIL - The GNOME Accessibility Implementation Library
2  * Copyright 2001 Sun Microsystems Inc.
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Library 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  * Library General Public License for more details.
13  *
14  * You should have received a copy of the GNU Library General Public
15  * License along with this library. If not, see <http://www.gnu.org/licenses/>.
16  */
17
18 #ifndef __GAIL_TEXT_UTIL_H__
19 #define __GAIL_TEXT_UTIL_H__
20
21 #include <glib-object.h>
22 #include <gtk/gtk.h>
23
24 G_BEGIN_DECLS
25
26 #define GAIL_TYPE_TEXT_UTIL                  (gail_text_util_get_type ())
27 #define GAIL_TEXT_UTIL(obj)                  (G_TYPE_CHECK_INSTANCE_CAST ((obj), GAIL_TYPE_TEXT_UTIL, GailTextUtil))
28 #define GAIL_TEXT_UTIL_CLASS(klass)          (G_TYPE_CHECK_CLASS_CAST ((klass), GAIL_TYPE_TEXT_UTIL, GailTextUtilClass))
29 #define GAIL_IS_TEXT_UTIL(obj)               (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GAIL_TYPE_TEXT_UTIL))
30 #define GAIL_IS_TEXT_UTIL_CLASS(klass)       (G_TYPE_CHECK_CLASS_TYPE ((klass), GAIL_TYPE_TEXT_UTIL))
31 #define GAIL_TEXT_UTIL_GET_CLASS(obj)        (G_TYPE_INSTANCE_GET_CLASS ((obj), GAIL_TYPE_TEXT_UTIL, GailTextUtilClass))
32
33 /**
34  *GailOffsetType:
35  *@GAIL_BEFORE_OFFSET: Text before offset is required.
36  *@GAIL_AT_OFFSET: Text at offset is required,
37  *@GAIL_AFTER_OFFSET: Text after offset is required.
38  *
39  * Specifies which of the functions atk_text_get_text_before_offset(),
40  * atk_text_get_text_at_offset(), atk_text_get_text_after_offset() the
41  * function gail_text_util_get_text() is being called for.
42  **/
43 typedef enum
44 {
45   GAIL_BEFORE_OFFSET,
46   GAIL_AT_OFFSET,
47   GAIL_AFTER_OFFSET
48 }GailOffsetType;
49
50 typedef struct _GailTextUtil            GailTextUtil;
51 typedef struct _GailTextUtilClass       GailTextUtilClass;
52
53 struct _GailTextUtil
54 {
55   GObject parent;
56
57   GtkTextBuffer *buffer;
58 };
59
60 struct _GailTextUtilClass
61 {
62   GObjectClass parent_class;
63 };
64
65 GType         gail_text_util_get_type      (void);
66 GailTextUtil* gail_text_util_new           (void);
67
68 void          gail_text_util_text_setup    (GailTextUtil    *textutil,
69                                             const gchar     *text);
70 void          gail_text_util_buffer_setup  (GailTextUtil    *textutil,
71                                             GtkTextBuffer   *buffer);
72 gchar*        gail_text_util_get_text      (GailTextUtil    *textutil,
73                                              gpointer        layout,
74                                             GailOffsetType  function,
75                                             AtkTextBoundary boundary_type,
76                                             gint            offset,
77                                             gint            *start_offset,
78                                             gint            *end_offset);
79 gchar*        gail_text_util_get_substring (GailTextUtil    *textutil,
80                                             gint            start_pos,
81                                             gint            end_pos);
82
83 G_END_DECLS
84
85 #endif /*__GAIL_TEXT_UTIL_H__ */