]> Pileus Git - ~andy/gtk/blob - gdk/gdkfont.h
bafee8d3fd9b99df6986974ac7238d9b56696607
[~andy/gtk] / gdk / gdkfont.h
1 #ifndef __GDK_FONT_H__
2 #define __GDK_FONT_H__
3
4 #include <gdk/gdktypes.h>
5 #include <pango/pango-font.h>
6
7 #ifdef __cplusplus
8 extern "C" {
9 #endif /* __cplusplus */
10
11 /* Types of font.
12  *   GDK_FONT_FONT: the font is an XFontStruct.
13  *   GDK_FONT_FONTSET: the font is an XFontSet used for I18N.
14  */
15 typedef enum
16 {
17   GDK_FONT_FONT,
18   GDK_FONT_FONTSET
19 } GdkFontType;
20
21 struct _GdkFont
22 {
23   GdkFontType type;
24   gint ascent;
25   gint descent;
26 };
27
28 #ifdef GDK_WINDOWING_WIN32
29 /* Temporary functions, will be replaced by something else for all backends
30  * eventually. Don't use!
31  */
32 gchar**  gdk_font_list_new  (const gchar    *font_pattern, gint *n_returned);
33 void     gdk_font_list_free (gchar **font_list);
34 #endif
35 GdkFont* gdk_font_load      (const gchar    *font_name);
36 GdkFont* gdk_fontset_load   (const gchar    *fontset_name);
37
38 GdkFont* gdk_font_load             (const gchar          *font_name);
39 GdkFont* gdk_fontset_load          (const gchar          *fontset_name);
40 GdkFont* gdk_font_from_description (PangoFontDescription *font_desc);
41
42 GdkFont* gdk_font_ref       (GdkFont        *font);
43 void     gdk_font_unref     (GdkFont        *font);
44 gint     gdk_font_id        (const GdkFont  *font);
45 gboolean gdk_font_equal     (const GdkFont  *fonta,
46                              const GdkFont  *fontb);
47
48 gint     gdk_string_width   (GdkFont        *font,
49                              const gchar    *string);
50 gint     gdk_text_width     (GdkFont        *font,
51                              const gchar    *text,
52                              gint            text_length);
53 gint     gdk_text_width_wc  (GdkFont        *font,
54                              const GdkWChar *text,
55                              gint            text_length);
56 gint     gdk_char_width     (GdkFont        *font,
57                              gchar           character);
58 gint     gdk_char_width_wc  (GdkFont        *font,
59                              GdkWChar        character);
60 gint     gdk_string_measure (GdkFont        *font,
61                              const gchar    *string);
62 gint     gdk_text_measure   (GdkFont        *font,
63                              const gchar    *text,
64                              gint            text_length);
65 gint     gdk_char_measure   (GdkFont        *font,
66                              gchar           character);
67 gint     gdk_string_height  (GdkFont        *font,
68                              const gchar    *string);
69 gint     gdk_text_height    (GdkFont        *font,
70                              const gchar    *text,
71                              gint            text_length);
72 gint     gdk_char_height    (GdkFont        *font,
73                              gchar           character);
74
75 void     gdk_text_extents   (GdkFont     *font,
76                              const gchar *text,
77                              gint         text_length,
78                              gint        *lbearing,
79                              gint        *rbearing,
80                              gint        *width,
81                              gint        *ascent,
82                              gint        *descent);
83 void    gdk_text_extents_wc (GdkFont        *font,
84                              const GdkWChar *text,
85                              gint            text_length,
86                              gint           *lbearing,
87                              gint           *rbearing,
88                              gint           *width,
89                              gint           *ascent,
90                              gint           *descent);
91 void     gdk_string_extents (GdkFont     *font,
92                              const gchar *string,
93                              gint        *lbearing,
94                              gint        *rbearing,
95                              gint        *width,
96                              gint        *ascent,
97                              gint        *descent);
98
99 #ifdef GDK_WINDOWING_WIN32
100 /* Ditto temporary */
101 gchar*   gdk_font_full_name_get (GdkFont *font);
102 void     gdk_font_full_name_free (gchar *name);
103 #endif
104
105 #ifdef __cplusplus
106 }
107 #endif /* __cplusplus */
108
109 #endif /* __GDK_FONT_H__ */