2 * This file is part of duit.
4 * duit is free software; you can redistribute it and/or modify
5 * it under the terms of the GNU Lesser General Public License as published by
6 * the Free Software Foundation; either version 2.1 of the License, or
7 * (at your option) any later version.
9 * duit 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
12 * GNU Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public License
15 * along with duit; if not, write to the Free Software
16 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 // generated automatically - do not change
20 // find conversion definition on APILookup.txt
21 // implement new conversion functionalities on the wrap.utils pakage
24 * Conversion parameters:
28 * strct = PangoFontMap
47 * - pango.PgFontDescription
48 * - pango.PgFontMetrics
49 * - pango.PgFontFamily
51 * - pango.PgFontsetSimple
53 * - pango.PgAttributeList
57 * - pango.PgLayoutIter
58 * - pango.PgScriptIter
61 * - PangoAttribute* -> PgAttribute
62 * - PangoAttributeList* -> PgAttributeList
63 * - PangoContext* -> PgContext
64 * - PangoFontDescription* -> PgFontDescription
65 * - PangoFontFace* -> PgFontFace
66 * - PangoFontFamily* -> PgFontFamily
67 * - PangoFontMetrics* -> PgFontMetrics
68 * - PangoFontsetSimple* -> PgFontsetSimple
69 * - PangoItem* -> PgItem
70 * - PangoLanguage* -> PgLanguage
71 * - PangoLayout* -> PgLayout
72 * - PangoLayoutIter* -> PgLayoutIter
73 * - PangoScriptIter* -> PgScriptIter
74 * - PangoTabArray* -> PgTabArray
78 module pango
.PgFontMap
;
80 private import pango
.pangotypes
;
82 private import lib
.pango
;
84 private import pango
.PgContext
;
85 private import pango
.PgItem
;
86 private import pango
.PgLayout
;
87 private import pango
.PgFontDescription
;
88 private import pango
.PgFontMetrics
;
89 private import pango
.PgFontFamily
;
90 private import pango
.PgFontFace
;
91 private import pango
.PgFontsetSimple
;
92 private import pango
.PgAttribute
;
93 private import pango
.PgAttributeList
;
94 private import pango
.PgLanguage
;
95 private import pango
.PgTabArray
;
96 private import pango
.PgLayout
;
97 private import pango
.PgLayoutIter
;
98 private import pango
.PgScriptIter
;
99 private import glib
.Str
;
103 * Pango supports a flexible architecture where a
104 * particular rendering architecture can supply an
105 * implementation of fonts. The PangoFont structure
106 * represents an abstract rendering-system-indepent font.
107 * Pango provides routines to list available fonts, and
108 * to load a font of a given description.
110 public class PgFontMap
113 /** the main Gtk struct */
114 protected PangoFontMap
* pangoFontMap
;
117 public PangoFontMap
* getPgFontMapStruct()
123 /** the main Gtk struct as a void* */
124 protected void* getStruct()
126 return cast(void*)pangoFontMap
;
130 * Sets our main struct and passes it to the parent class
132 public this (PangoFontMap
* pangoFontMap
)
134 this.pangoFontMap
= pangoFontMap
;
230 * Load the font in the fontmap that is the closest match for desc.
234 * the PangoContext the font will be used with
236 * a PangoFontDescription describing the font to load
238 * the font loaded, or NULL if no font matched.
240 public PangoFont
* loadFont(PgContext context
, PgFontDescription desc
)
242 // PangoFont* pango_font_map_load_font (PangoFontMap *fontmap, PangoContext *context, const PangoFontDescription *desc);
243 return pango_font_map_load_font(pangoFontMap
, (context
is null) ?
null : context
.getPgContextStruct(), (desc
is null) ?
null : desc
.getPgFontDescriptionStruct());
247 * Load a set of fonts in the fontmap that can be used to render
248 * a font matching desc.
252 * the PangoContext the font will be used with
254 * a PangoFontDescription describing the font to load
256 * a PangoLanguage the fonts will be used for
258 * the fontset, or NULL if no font matched.
260 public PangoFontset
* loadFontset(PgContext context
, PgFontDescription desc
, PgLanguage language
)
262 // PangoFontset* pango_font_map_load_fontset (PangoFontMap *fontmap, PangoContext *context, const PangoFontDescription *desc, PangoLanguage *language);
263 return pango_font_map_load_fontset(pangoFontMap
, (context
is null) ?
null : context
.getPgContextStruct(), (desc
is null) ?
null : desc
.getPgFontDescriptionStruct(), (language
is null) ?
null : language
.getPgLanguageStruct());
267 * List all families for a fontmap.
271 * location to store a pointer to an array of PangoFontFamily *.
272 * This array should be freed with g_free().
274 * location to store the number of elements in families
276 public void listFamilies(PangoFontFamily
*** families
, int* nFamilies
)
278 // void pango_font_map_list_families (PangoFontMap *fontmap, PangoFontFamily ***families, int *n_families);
279 pango_font_map_list_families(pangoFontMap
, families
, nFamilies
);
283 * Returns the render ID for shape engines for this fontmap.
284 * See the render_type field of
289 * the ID string for shape engines for
290 * this fontmap. Owned by Pango, should not be modified
294 public char[] getShapeEngineType()
296 // const char* pango_font_map_get_shape_engine_type (PangoFontMap *fontmap);
297 return Str
.toString(pango_font_map_get_shape_engine_type(pangoFontMap
) );