/* gtktextmark.h - mark segments
- *
+ *
* Copyright (c) 1994 The Regents of the University of California.
* Copyright (c) 1994-1997 Sun Microsystems, Inc.
* Copyright (c) 2000 Red Hat, Inc.
* California, Sun Microsystems, Inc., and other parties. The
* following terms apply to all files associated with the software
* unless explicitly disclaimed in individual files.
- *
+ *
* The authors hereby grant permission to use, copy, modify,
* distribute, and license this software and its documentation for any
* purpose, provided that existing copyright notices are retained in
* software may be copyrighted by their authors and need not follow
* the licensing terms described here, provided that the new terms are
* clearly indicated on the first page of each file where they apply.
- *
+ *
* IN NO EVENT SHALL THE AUTHORS OR DISTRIBUTORS BE LIABLE TO ANY
* PARTY FOR DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL
* DAMAGES ARISING OUT OF THE USE OF THIS SOFTWARE, ITS DOCUMENTATION,
* OR ANY DERIVATIVES THEREOF, EVEN IF THE AUTHORS HAVE BEEN ADVISED
* OF THE POSSIBILITY OF SUCH DAMAGE.
- *
+ *
* THE AUTHORS AND DISTRIBUTORS SPECIFICALLY DISCLAIM ANY WARRANTIES,
* INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND
* foregoing, the authors grant the U.S. Government and others acting
* in its behalf permission to use and distribute the software in
* accordance with the terms specified in this license.
- *
+ *
*/
-#ifndef GTK_TEXT_MARK_H
-#define GTK_TEXT_MARK_H
+#ifndef __GTK_TEXT_MARK_H__
+#define __GTK_TEXT_MARK_H__
-#ifdef __cplusplus
-extern "C" {
-#endif /* __cplusplus */
+#if !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
+#error "Only <gtk/gtk.h> can be included directly."
+#endif
-/* The GtkTextMark data type */
+G_BEGIN_DECLS
-typedef struct _GtkTextMark GtkTextMark;
+typedef struct _GtkTextMark GtkTextMark;
+typedef struct _GtkTextMarkClass GtkTextMarkClass;
-void gtk_text_mark_set_visible (GtkTextMark *mark,
- gboolean setting);
-gboolean gtk_text_mark_is_visible (GtkTextMark *mark);
-/* FIXME gconst */
-const char * gtk_text_mark_get_name (GtkTextMark *mark);
-GtkTextMark *gtk_text_mark_ref (GtkTextMark *mark);
-void gtk_text_mark_unref (GtkTextMark *mark);
-gboolean gtk_text_mark_get_deleted (GtkTextMark *mark);
+#define GTK_TYPE_TEXT_MARK (gtk_text_mark_get_type ())
+#define GTK_TEXT_MARK(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), GTK_TYPE_TEXT_MARK, GtkTextMark))
+#define GTK_TEXT_MARK_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TEXT_MARK, GtkTextMarkClass))
+#define GTK_IS_TEXT_MARK(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), GTK_TYPE_TEXT_MARK))
+#define GTK_IS_TEXT_MARK_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TEXT_MARK))
+#define GTK_TEXT_MARK_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TEXT_MARK, GtkTextMarkClass))
+struct _GtkTextMark
+{
+ GObject parent_instance;
-#ifdef __cplusplus
-}
-#endif /* __cplusplus */
+ /*< private >*/
+ gpointer segment;
+};
-#endif
+struct _GtkTextMarkClass
+{
+ GObjectClass parent_class;
+
+ /* Padding for future expansion */
+ void (*_gtk_reserved1) (void);
+ void (*_gtk_reserved2) (void);
+ void (*_gtk_reserved3) (void);
+ void (*_gtk_reserved4) (void);
+};
+
+GType gtk_text_mark_get_type (void) G_GNUC_CONST;
+
+GtkTextMark *gtk_text_mark_new (const gchar *name,
+ gboolean left_gravity);
+void gtk_text_mark_set_visible (GtkTextMark *mark,
+ gboolean setting);
+gboolean gtk_text_mark_get_visible (GtkTextMark *mark);
+
+const gchar * gtk_text_mark_get_name (GtkTextMark *mark);
+gboolean gtk_text_mark_get_deleted (GtkTextMark *mark);
+GtkTextBuffer* gtk_text_mark_get_buffer (GtkTextMark *mark);
+gboolean gtk_text_mark_get_left_gravity (GtkTextMark *mark);
+G_END_DECLS
+#endif /* __GTK_TEXT_MARK_H__ */