]> Pileus Git - ~andy/gtk/blob - gdk/gdkpango.h
#136672, reported by Christian Persch; fixes based on a patch by Soeren
[~andy/gtk] / gdk / gdkpango.h
1 /* GDK - The GIMP Drawing Kit
2  * Copyright (C) 2000 Red Hat, Inc. 
3  *
4  * This library is free software; you can redistribute it and/or
5  * modify it under the terms of the GNU Lesser General Public
6  * License as published by the Free Software Foundation; either
7  * version 2 of the License, or (at your option) any later version.
8  *
9  * This library is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12  * Lesser General Public License for more details.
13  *
14  * You should have received a copy of the GNU Lesser General Public
15  * License along with this library; if not, write to the
16  * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
17  * Boston, MA 02111-1307, USA.
18  */
19
20 #ifndef __GDK_PANGO_H__
21 #define __GDK_PANGO_H__
22
23 #include <gdk/gdktypes.h>
24
25 #ifdef __cplusplus
26 extern "C" {
27 #endif /* __cplusplus */
28
29 /* Pango interaction */
30
31 PangoContext *gdk_pango_context_get_for_screen (GdkScreen    *screen);
32 #ifndef GDK_MULTIHEAD_SAFE
33 PangoContext *gdk_pango_context_get            (void);
34 #endif
35 void          gdk_pango_context_set_colormap   (PangoContext *context,
36                                                 GdkColormap  *colormap);
37
38
39 /* Get a clip region to draw only part of a layout or
40  * line. index_ranges contains alternating range starts/stops. The
41  * region is the region which contains the given ranges, i.e. if you
42  * draw with the region as clip, only the given ranges are drawn.
43  */
44
45 GdkRegion    *gdk_pango_layout_line_get_clip_region (PangoLayoutLine *line,
46                                                      gint             x_origin,
47                                                      gint             y_origin,
48                                                      gint            *index_ranges,
49                                                      gint             n_ranges);
50 GdkRegion    *gdk_pango_layout_get_clip_region      (PangoLayout     *layout,
51                                                      gint             x_origin,
52                                                      gint             y_origin,
53                                                      gint            *index_ranges,
54                                                      gint             n_ranges);
55
56
57
58 /* Attributes use to render insensitive text in GTK+. */
59
60 typedef struct _GdkPangoAttrStipple GdkPangoAttrStipple;
61 typedef struct _GdkPangoAttrEmbossed GdkPangoAttrEmbossed;
62
63 struct _GdkPangoAttrStipple
64 {
65   PangoAttribute attr;
66   GdkBitmap *stipple;
67 };
68
69 struct _GdkPangoAttrEmbossed
70 {
71   PangoAttribute attr;
72   gboolean embossed;
73 };
74
75 PangoAttribute *gdk_pango_attr_stipple_new  (GdkBitmap *stipple);
76 PangoAttribute *gdk_pango_attr_embossed_new (gboolean embossed);
77
78 #ifdef __cplusplus
79 }
80 #endif /* __cplusplus */
81
82 #endif /* __GDK_FONT_H__ */