|
Packit |
0ec9dd |
/* Pango
|
|
Packit |
0ec9dd |
* pangoft2-private.h:
|
|
Packit |
0ec9dd |
*
|
|
Packit |
0ec9dd |
* Copyright (C) 1999 Red Hat Software
|
|
Packit |
0ec9dd |
* Copyright (C) 2000 Tor Lillqvist
|
|
Packit |
0ec9dd |
*
|
|
Packit |
0ec9dd |
* This library is free software; you can redistribute it and/or
|
|
Packit |
0ec9dd |
* modify it under the terms of the GNU Library General Public
|
|
Packit |
0ec9dd |
* License as published by the Free Software Foundation; either
|
|
Packit |
0ec9dd |
* version 2 of the License, or (at your option) any later version.
|
|
Packit |
0ec9dd |
*
|
|
Packit |
0ec9dd |
* This library is distributed in the hope that it will be useful,
|
|
Packit |
0ec9dd |
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
Packit |
0ec9dd |
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
Packit |
0ec9dd |
* Library General Public License for more details.
|
|
Packit |
0ec9dd |
*
|
|
Packit |
0ec9dd |
* You should have received a copy of the GNU Library General Public
|
|
Packit |
0ec9dd |
* License along with this library; if not, write to the
|
|
Packit |
0ec9dd |
* Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
Packit |
0ec9dd |
* Boston, MA 02111-1307, USA.
|
|
Packit |
0ec9dd |
*/
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
#ifndef __PANGOFT2_PRIVATE_H__
|
|
Packit |
0ec9dd |
#define __PANGOFT2_PRIVATE_H__
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
#include <pango/pangoft2.h>
|
|
Packit |
0ec9dd |
#include <pango/pangofc-fontmap.h>
|
|
Packit |
0ec9dd |
#include <pango/pango-renderer.h>
|
|
Packit |
0ec9dd |
#include <fontconfig/fontconfig.h>
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
/* Debugging... */
|
|
Packit |
0ec9dd |
/*#define DEBUGGING 1*/
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
#if defined(DEBUGGING) && DEBUGGING
|
|
Packit |
0ec9dd |
#ifdef __GNUC__
|
|
Packit |
0ec9dd |
#define PING(printlist) \
|
|
Packit |
0ec9dd |
(g_print ("%s:%d ", __PRETTY_FUNCTION__, __LINE__), \
|
|
Packit |
0ec9dd |
g_print printlist, \
|
|
Packit |
0ec9dd |
g_print ("\n"))
|
|
Packit |
0ec9dd |
#else
|
|
Packit |
0ec9dd |
#define PING(printlist) \
|
|
Packit |
0ec9dd |
(g_print ("%s:%d ", __FILE__, __LINE__), \
|
|
Packit |
0ec9dd |
g_print printlist, \
|
|
Packit |
0ec9dd |
g_print ("\n"))
|
|
Packit |
0ec9dd |
#endif
|
|
Packit |
0ec9dd |
#else /* !DEBUGGING */
|
|
Packit |
0ec9dd |
#define PING(printlist)
|
|
Packit |
0ec9dd |
#endif
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
typedef struct _PangoFT2Font PangoFT2Font;
|
|
Packit |
0ec9dd |
typedef struct _PangoFT2GlyphInfo PangoFT2GlyphInfo;
|
|
Packit |
0ec9dd |
typedef struct _PangoFT2Renderer PangoFT2Renderer;
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
struct _PangoFT2Font
|
|
Packit |
0ec9dd |
{
|
|
Packit |
0ec9dd |
PangoFcFont font;
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
FT_Face face;
|
|
Packit |
0ec9dd |
int load_flags;
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
int size;
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
GSList *metrics_by_lang;
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
GHashTable *glyph_info;
|
|
Packit |
0ec9dd |
GDestroyNotify glyph_cache_destroy;
|
|
Packit |
0ec9dd |
};
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
struct _PangoFT2GlyphInfo
|
|
Packit |
0ec9dd |
{
|
|
Packit |
0ec9dd |
PangoRectangle logical_rect;
|
|
Packit |
0ec9dd |
PangoRectangle ink_rect;
|
|
Packit |
0ec9dd |
void *cached_glyph;
|
|
Packit |
0ec9dd |
};
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
#define PANGO_TYPE_FT2_FONT (pango_ft2_font_get_type ())
|
|
Packit |
0ec9dd |
#define PANGO_FT2_FONT(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FT2_FONT, PangoFT2Font))
|
|
Packit |
0ec9dd |
#define PANGO_FT2_IS_FONT(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FT2_FONT))
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
_PANGO_EXTERN
|
|
Packit |
0ec9dd |
GType pango_ft2_font_get_type (void) G_GNUC_CONST;
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
PangoFT2Font * _pango_ft2_font_new (PangoFT2FontMap *ft2fontmap,
|
|
Packit |
0ec9dd |
FcPattern *pattern);
|
|
Packit |
0ec9dd |
FT_Library _pango_ft2_font_map_get_library (PangoFontMap *fontmap);
|
|
Packit |
0ec9dd |
void _pango_ft2_font_map_default_substitute (PangoFcFontMap *fcfontmap,
|
|
Packit |
0ec9dd |
FcPattern *pattern);
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
void *_pango_ft2_font_get_cache_glyph_data (PangoFont *font,
|
|
Packit |
0ec9dd |
int glyph_index);
|
|
Packit |
0ec9dd |
void _pango_ft2_font_set_cache_glyph_data (PangoFont *font,
|
|
Packit |
0ec9dd |
int glyph_index,
|
|
Packit |
0ec9dd |
void *cached_glyph);
|
|
Packit |
0ec9dd |
void _pango_ft2_font_set_glyph_cache_destroy (PangoFont *font,
|
|
Packit |
0ec9dd |
GDestroyNotify destroy_notify);
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
#define PANGO_TYPE_FT2_RENDERER (pango_ft2_renderer_get_type())
|
|
Packit |
0ec9dd |
#define PANGO_FT2_RENDERER(object) (G_TYPE_CHECK_INSTANCE_CAST ((object), PANGO_TYPE_FT2_RENDERER, PangoFT2Renderer))
|
|
Packit |
0ec9dd |
#define PANGO_IS_FT2_RENDERER(object) (G_TYPE_CHECK_INSTANCE_TYPE ((object), PANGO_TYPE_FT2_RENDERER))
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
_PANGO_EXTERN
|
|
Packit |
0ec9dd |
GType pango_ft2_renderer_get_type (void) G_GNUC_CONST;
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
PangoRenderer *_pango_ft2_font_map_get_renderer (PangoFT2FontMap *ft2fontmap);
|
|
Packit |
0ec9dd |
|
|
Packit |
0ec9dd |
#endif /* __PANGOFT2_PRIVATE_H__ */
|