1 /* 2 * Distributed under the Boost Software License, Version 1.0. 3 * (See accompanying file LICENSE_1_0.txt or copy at 4 * http://www.boost.org/LICENSE_1_0.txt) 5 */ 6 module pango.c.modules; 7 8 version (Backend) 9 { 10 import pango.c.engine; 11 import pango.c.language; 12 import pango.c.script; 13 14 import glib; 15 import gobject; 16 17 extern(C): 18 19 struct PangoMap; 20 struct PangoMapEntry; 21 22 /** 23 * PangoIncludedModule: 24 * @list: a function that lists the engines defined in this module. 25 * @init: a function to initialize the module. 26 * @exit: a function to finalize the module. 27 * @create: a function to create an engine, given the engine name. 28 * 29 * The #PangoIncludedModule structure for a statically linked module 30 * contains the functions that would otherwise be loaded from a dynamically 31 * loaded module. 32 */ 33 struct PangoIncludedModule 34 { 35 void function (PangoEngineInfo **engines, 36 int *n_engines) list; 37 void function (GTypeModule *mod) init; 38 void function () exit; 39 PangoEngine *function (const char *id) create; 40 } 41 42 PangoMap * pango_find_map (PangoLanguage *language, 43 guint engine_type_id, 44 guint render_type_id); 45 PangoEngine * pango_map_get_engine (PangoMap *map, 46 PangoScript script); 47 void pango_map_get_engines (PangoMap *map, 48 PangoScript script, 49 GSList **exact_engines, 50 GSList **fallback_engines); 51 void pango_module_register (PangoIncludedModule *mod); 52 53 }