1 /* This file is part of Ganv. 2 * Copyright 2007-2014 David Robillard <http://drobilla.net> 3 * 4 * Ganv is free software: you can redistribute it and/or modify it under the 5 * terms of the GNU General Public License as published by the Free Software 6 * Foundation, either version 3 of the License, or any later version. 7 * 8 * Ganv is distributed in the hope that it will be useful, but WITHOUT ANY 9 * WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 10 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for details. 11 * 12 * You should have received a copy of the GNU General Public License along 13 * with Ganv. If not, see <http://www.gnu.org/licenses/>. 14 */ 15 16 #ifndef GANV_TEXT_H 17 #define GANV_TEXT_H 18 19 #include "ganv/item.h" 20 21 #include <glib-object.h> 22 #include <glib.h> 23 #include <gtk/gtk.h> 24 25 G_BEGIN_DECLS 26 27 #define GANV_TYPE_TEXT (ganv_text_get_type()) 28 #define GANV_TEXT(obj) (GTK_CHECK_CAST((obj), GANV_TYPE_TEXT, GanvText)) 29 #define GANV_TEXT_CLASS(klass) (GTK_CHECK_CLASS_CAST((klass), GANV_TYPE_TEXT, GanvTextClass)) 30 #define GANV_IS_TEXT(obj) (GTK_CHECK_TYPE((obj), GANV_TYPE_TEXT)) 31 #define GANV_IS_TEXT_CLASS(klass) (GTK_CHECK_CLASS_TYPE((klass), GANV_TYPE_TEXT)) 32 #define GANV_TEXT_GET_CLASS(obj) (GTK_CHECK_GET_CLASS((obj), GANV_TYPE_TEXT, GanvTextClass)) 33 34 struct _GanvText; 35 struct _GanvTextClass; 36 37 typedef struct _GanvText GanvText; 38 typedef struct _GanvTextClass GanvTextClass; 39 typedef struct _GanvTextPrivate GanvTextPrivate; 40 41 struct _GanvText { 42 GanvItem item; 43 GanvTextPrivate* impl; 44 }; 45 46 struct _GanvTextClass { 47 GanvItemClass parent_class; 48 49 /* Reserved for future expansion */ 50 gpointer spare_vmethodsx[4]; 51 }; 52 53 GType ganv_text_get_type(void) G_GNUC_CONST; 54 55 void ganv_text_layout(GanvText* text); 56 57 G_END_DECLS 58 59 #endif /* GANV_TEXT_H */ 60