1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; coding: utf-8 -*-
2  * gtksourcemarkattributes.h
3  * This file is part of GtkSourceView
4  *
5  * Copyright (C) 2010 - Jesse van den Kieboom
6  * Copyright (C) 2010 - Krzesimir Nowak
7  *
8  * GtkSourceView is free software; you can redistribute it and/or
9  * modify it under the terms of the GNU Lesser General Public
10  * License as published by the Free Software Foundation; either
11  * version 2.1 of the License, or (at your option) any later version.
12  *
13  * GtkSourceView is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
16  * Lesser General Public License for more details.
17  *
18  * You should have received a copy of the GNU Lesser General Public
19  * License along with this library; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
21  */
22 
23 #ifndef GTK_SOURCE_MARK_ATTRIBUTES_H
24 #define GTK_SOURCE_MARK_ATTRIBUTES_H
25 
26 #if !defined (GTK_SOURCE_H_INSIDE) && !defined (GTK_SOURCE_COMPILATION)
27 #  if defined (__GNUC__)
28 #    warning "Only <gtksourceview/gtksource.h> can be included directly."
29 #  elif defined (G_OS_WIN32)
30 #    pragma message("Only <gtksourceview/gtksource.h> can be included directly.")
31 #  endif
32 #endif
33 
34 #include <gtk/gtk.h>
35 #include <gtksourceview/gtksourcetypes.h>
36 
37 G_BEGIN_DECLS
38 
39 #define GTK_SOURCE_TYPE_MARK_ATTRIBUTES			(gtk_source_mark_attributes_get_type ())
40 #define GTK_SOURCE_MARK_ATTRIBUTES(obj)			(G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_SOURCE_TYPE_MARK_ATTRIBUTES, GtkSourceMarkAttributes))
41 #define GTK_SOURCE_MARK_ATTRIBUTES_CLASS(klass)		(G_TYPE_CHECK_CLASS_CAST ((klass), GTK_SOURCE_TYPE_MARK_ATTRIBUTES, GtkSourceMarkAttributesClass))
42 #define GTK_SOURCE_IS_MARK_ATTRIBUTES(obj)		(G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_SOURCE_TYPE_MARK_ATTRIBUTES))
43 #define GTK_SOURCE_IS_MARK_ATTRIBUTES_CLASS(klass)	(G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_SOURCE_TYPE_MARK_ATTRIBUTES))
44 #define GTK_SOURCE_MARK_ATTRIBUTES_GET_CLASS(obj)	(G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_SOURCE_TYPE_MARK_ATTRIBUTES, GtkSourceMarkAttributesClass))
45 
46 typedef struct _GtkSourceMarkAttributesClass	GtkSourceMarkAttributesClass;
47 typedef struct _GtkSourceMarkAttributesPrivate	GtkSourceMarkAttributesPrivate;
48 
49 struct _GtkSourceMarkAttributes
50 {
51 	/*< private >*/
52 	GObject parent;
53 
54 	GtkSourceMarkAttributesPrivate *priv;
55 
56 	/*< public >*/
57 };
58 
59 struct _GtkSourceMarkAttributesClass
60 {
61 	/*< private >*/
62 	GObjectClass parent_class;
63 
64 	/*< public >*/
65 };
66 
67 GTK_SOURCE_AVAILABLE_IN_ALL
68 GType gtk_source_mark_attributes_get_type (void) G_GNUC_CONST;
69 
70 GTK_SOURCE_AVAILABLE_IN_ALL
71 GtkSourceMarkAttributes *gtk_source_mark_attributes_new (void);
72 
73 GTK_SOURCE_AVAILABLE_IN_ALL
74 void             gtk_source_mark_attributes_set_background      (GtkSourceMarkAttributes *attributes,
75                                                                  const GdkRGBA           *background);
76 
77 GTK_SOURCE_AVAILABLE_IN_ALL
78 gboolean         gtk_source_mark_attributes_get_background      (GtkSourceMarkAttributes *attributes,
79                                                                  GdkRGBA                 *background);
80 
81 GTK_SOURCE_DEPRECATED_IN_3_10
82 void             gtk_source_mark_attributes_set_stock_id        (GtkSourceMarkAttributes *attributes,
83                                                                  const gchar             *stock_id);
84 
85 GTK_SOURCE_DEPRECATED_IN_3_10
86 const gchar     *gtk_source_mark_attributes_get_stock_id        (GtkSourceMarkAttributes *attributes);
87 
88 GTK_SOURCE_AVAILABLE_IN_ALL
89 void             gtk_source_mark_attributes_set_icon_name       (GtkSourceMarkAttributes *attributes,
90                                                                  const gchar             *icon_name);
91 
92 GTK_SOURCE_AVAILABLE_IN_ALL
93 const gchar     *gtk_source_mark_attributes_get_icon_name       (GtkSourceMarkAttributes *attributes);
94 
95 GTK_SOURCE_AVAILABLE_IN_ALL
96 void             gtk_source_mark_attributes_set_gicon           (GtkSourceMarkAttributes *attributes,
97                                                                  GIcon                   *gicon);
98 
99 GTK_SOURCE_AVAILABLE_IN_ALL
100 GIcon           *gtk_source_mark_attributes_get_gicon           (GtkSourceMarkAttributes *attributes);
101 
102 GTK_SOURCE_AVAILABLE_IN_ALL
103 void             gtk_source_mark_attributes_set_pixbuf          (GtkSourceMarkAttributes *attributes,
104                                                                  const GdkPixbuf         *pixbuf);
105 
106 GTK_SOURCE_AVAILABLE_IN_ALL
107 const GdkPixbuf *gtk_source_mark_attributes_get_pixbuf          (GtkSourceMarkAttributes *attributes);
108 
109 GTK_SOURCE_AVAILABLE_IN_ALL
110 const GdkPixbuf *gtk_source_mark_attributes_render_icon         (GtkSourceMarkAttributes *attributes,
111                                                                  GtkWidget               *widget,
112                                                                  gint                   size);
113 
114 GTK_SOURCE_AVAILABLE_IN_ALL
115 gchar           *gtk_source_mark_attributes_get_tooltip_text    (GtkSourceMarkAttributes *attributes,
116                                                                  GtkSourceMark           *mark);
117 
118 GTK_SOURCE_AVAILABLE_IN_ALL
119 gchar           *gtk_source_mark_attributes_get_tooltip_markup  (GtkSourceMarkAttributes *attributes,
120                                                                  GtkSourceMark           *mark);
121 
122 G_END_DECLS
123 
124 #endif /* GTK_SOURCE_MARK_ATTRIBUTES_H */
125