1 /* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8; coding: utf-8 -*- 2 * 3 * This file is part of GtkSourceView 4 * 5 * Copyright (C) 2003 - Paolo Maggi <paolo.maggi@polito.it> 6 * 7 * This library is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU Lesser General Public 9 * License as published by the Free Software Foundation; either 10 * version 2.1 of the License, or (at your option) any later version. 11 * 12 * This library is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 * Lesser General Public License for more details. 16 17 * You should have received a copy of the GNU Lesser General Public License 18 * along with this library; if not, see <http://www.gnu.org/licenses/>. 19 */ 20 21 #ifndef GTK_SOURCE_STYLE_SCHEME_H 22 #define GTK_SOURCE_STYLE_SCHEME_H 23 24 #if !defined (GTK_SOURCE_H_INSIDE) && !defined (GTK_SOURCE_COMPILATION) 25 #error "Only <gtksourceview/gtksource.h> can be included directly." 26 #endif 27 28 #include <gtk/gtk.h> 29 #include <gtksourceview/gtksourcetypes.h> 30 31 G_BEGIN_DECLS 32 33 #define GTK_SOURCE_TYPE_STYLE_SCHEME (gtk_source_style_scheme_get_type ()) 34 #define GTK_SOURCE_STYLE_SCHEME(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_SOURCE_TYPE_STYLE_SCHEME, GtkSourceStyleScheme)) 35 #define GTK_SOURCE_STYLE_SCHEME_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_SOURCE_TYPE_STYLE_SCHEME, GtkSourceStyleSchemeClass)) 36 #define GTK_SOURCE_IS_STYLE_SCHEME(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_SOURCE_TYPE_STYLE_SCHEME)) 37 #define GTK_SOURCE_IS_STYLE_SCHEME_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_SOURCE_TYPE_STYLE_SCHEME)) 38 #define GTK_SOURCE_STYLE_SCHEME_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_SOURCE_TYPE_STYLE_SCHEME, GtkSourceStyleSchemeClass)) 39 40 typedef struct _GtkSourceStyleSchemePrivate GtkSourceStyleSchemePrivate; 41 typedef struct _GtkSourceStyleSchemeClass GtkSourceStyleSchemeClass; 42 43 struct _GtkSourceStyleScheme 44 { 45 GObject base; 46 GtkSourceStyleSchemePrivate *priv; 47 }; 48 49 struct _GtkSourceStyleSchemeClass 50 { 51 GObjectClass base_class; 52 53 /* Padding for future expansion */ 54 gpointer padding[10]; 55 }; 56 57 GTK_SOURCE_AVAILABLE_IN_ALL 58 GType gtk_source_style_scheme_get_type (void) G_GNUC_CONST; 59 60 GTK_SOURCE_AVAILABLE_IN_ALL 61 const gchar *gtk_source_style_scheme_get_id (GtkSourceStyleScheme *scheme); 62 63 GTK_SOURCE_AVAILABLE_IN_ALL 64 const gchar *gtk_source_style_scheme_get_name (GtkSourceStyleScheme *scheme); 65 66 GTK_SOURCE_AVAILABLE_IN_ALL 67 const gchar *gtk_source_style_scheme_get_description (GtkSourceStyleScheme *scheme); 68 69 GTK_SOURCE_AVAILABLE_IN_ALL 70 const gchar * const * gtk_source_style_scheme_get_authors (GtkSourceStyleScheme *scheme); 71 72 GTK_SOURCE_AVAILABLE_IN_ALL 73 const gchar *gtk_source_style_scheme_get_filename (GtkSourceStyleScheme *scheme); 74 75 GTK_SOURCE_AVAILABLE_IN_ALL 76 GtkSourceStyle *gtk_source_style_scheme_get_style (GtkSourceStyleScheme *scheme, 77 const gchar *style_id); 78 79 G_GNUC_INTERNAL 80 GtkSourceStyleScheme *_gtk_source_style_scheme_new_from_file (const gchar *filename); 81 82 G_GNUC_INTERNAL 83 GtkSourceStyleScheme *_gtk_source_style_scheme_get_default (void); 84 85 G_GNUC_INTERNAL 86 const gchar *_gtk_source_style_scheme_get_parent_id (GtkSourceStyleScheme *scheme); 87 88 G_GNUC_INTERNAL 89 void _gtk_source_style_scheme_set_parent (GtkSourceStyleScheme *scheme, 90 GtkSourceStyleScheme *parent_scheme); 91 92 G_GNUC_INTERNAL 93 void _gtk_source_style_scheme_apply (GtkSourceStyleScheme *scheme, 94 GtkSourceView *view); 95 96 G_GNUC_INTERNAL 97 void _gtk_source_style_scheme_unapply (GtkSourceStyleScheme *scheme, 98 GtkSourceView *view); 99 100 G_GNUC_INTERNAL 101 GtkSourceStyle *_gtk_source_style_scheme_get_matching_brackets_style (GtkSourceStyleScheme *scheme); 102 103 G_GNUC_INTERNAL 104 GtkSourceStyle *_gtk_source_style_scheme_get_right_margin_style (GtkSourceStyleScheme *scheme); 105 106 G_GNUC_INTERNAL 107 GtkSourceStyle *_gtk_source_style_scheme_get_draw_spaces_style (GtkSourceStyleScheme *scheme); 108 109 G_GNUC_INTERNAL 110 gboolean _gtk_source_style_scheme_get_current_line_color (GtkSourceStyleScheme *scheme, 111 GdkRGBA *color); 112 113 G_GNUC_INTERNAL 114 gboolean _gtk_source_style_scheme_get_background_pattern_color (GtkSourceStyleScheme *scheme, 115 GdkRGBA *color); 116 117 G_END_DECLS 118 119 #endif /* GTK_SOURCE_STYLE_SCHEME_H */ 120