From 532c6902c34f47d5f838623c951e53d5fcdd395f Mon Sep 17 00:00:00 2001 From: Owen Taylor Date: Tue, 1 Feb 2000 06:55:09 +0000 Subject: The great header file reorganization. Split up roughtly by objects. Wed Feb 2 00:07:13 2000 Owen Taylor * libpango/pango-*.h: The great header file reorganization. Split up roughtly by objects. * libpango/pango-font.h libpango/fonts.h: Add generic font-loading and listing interfaces. * libpango/pangox.c: Implement font-listing/loading interfaces for X. * libpango/pango-context.[ch]: Flesh out context structure. Add appropriate accesors, font loading-methods, etc. * libpango/pango-coverage.[ch]: Coverage map objects. * examples/viewer.c: First stab at adding font-selection. Majorly deficient for the moment until we add font lists and fallbacks based on coverage maps. --- pango/pango-types.h | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 pango/pango-types.h (limited to 'pango/pango-types.h') diff --git a/pango/pango-types.h b/pango/pango-types.h new file mode 100644 index 00000000..f702a722 --- /dev/null +++ b/pango/pango-types.h @@ -0,0 +1,76 @@ +/* Pango + * pango-types.h: + * + * Copyright (C) 1999 Red Hat Software + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public + * License along with this library; if not, write to the + * Free Software Foundation, Inc., 59 Temple Place - Suite 330, + * Boston, MA 02111-1307, USA. + */ + +#ifndef __PANGO_TYPES_H__ +#define __PANGO_TYPES_H__ + +#include +typedef struct _PangoAnalysis PangoAnalysis; +typedef struct _PangoItem PangoItem; +typedef struct _PangoLangRange PangoLangRange; +typedef struct _PangoLogAttr PangoLogAttr; + +typedef struct _PangoEngineLang PangoEngineLang; +typedef struct _PangoEngineShape PangoEngineShape; + +/* Information about a segment of text with a consistent + * shaping/language engine and bidirectional level + */ + +struct _PangoAnalysis { + PangoEngineShape *shape_engine; + PangoEngineLang *lang_engine; + guint8 level; +}; + +struct _PangoItem { + gint offset; + gint length; + gint num_chars; + PangoAnalysis analysis; +}; + +typedef enum { + PANGO_DIRECTION_LTR, + PANGO_DIRECTION_RTL, + PANGO_DIRECTION_TTB +} PangoDirection; + +/* Language tagging information + */ +struct _PangoLangRange +{ + gint start; + gint length; + gchar *lang; +}; + +#ifdef __cplusplus +extern "C" { +#endif /* __cplusplus */ + +#ifdef __cplusplus +} +#endif /* __cplusplus */ + + +#endif /* __PANGO_TYPES_H__ */ + -- cgit v1.2.1