]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtktextmark.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gtk / gtktextmark.h
index 0ee018063933ee546cfd3a0e03dd9b30f9ec2320..a68a3aeb156e048cf59a748af437bd96b2cd3198 100644 (file)
@@ -1,5 +1,5 @@
 /* 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.
@@ -9,7 +9,7 @@
  * 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__ */