Changeset 629 for trunk

Show
Ignore:
Timestamp:
09/25/08 16:48:49 (2 months ago)
Author:
Mike Wey
Message:

update Pango to 1.22 - now with the documentation for 1.22

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • trunk/src/build/gtkD.d

    r628 r629  
    187187private import cairo.Types; 
    188188 
    189 private import pango.PgContext; 
    190189private import pango.PgItem; 
    191190private import pango.PgMatrix; 
     
    203202private import pango.PgAttribute; 
    204203private import pango.PgColor; 
    205 private import pango.PgLanguage; 
    206204private import pango.PgAttributeList; 
    207205private import pango.PgAttributeIterator; 
     
    212210private import pango.PgScript; 
    213211private import pango.PgScriptIter; 
     212private import pango.PgLanguage; 
    214213private import pango.PgVertical; 
    215214private import pango.PgCairoFontMap; 
  • trunk/src/gtkc/pango.d

    r628 r629  
    9191    PangoFontMetrics* function(PangoContext* context, PangoFontDescription* desc, PangoLanguage* language)pango_context_get_metrics; 
    9292    void function(PangoContext* context, PangoFontFamily*** families, int* nFamilies)pango_context_list_families; 
    93     gboolean function(gunichar ch, gunichar* mirroredCh)pango_get_mirror_char; 
    94     PangoDirection function(gunichar ch)pango_unichar_direction; 
    95     PangoDirection function(gchar* text, gint length)pango_find_base_dir; 
    9693    void function(gchar* text, int length, PangoAnalysis* analysis, PangoLogAttr* attrs, int attrsLen)pango_break; 
    9794    void function(char* text, int length, int level, PangoLanguage* language, PangoLogAttr* logAttrs, int attrsLen)pango_get_log_attrs; 
     
    9996    void function(gchar* text, int length, PangoAnalysis* analysis, PangoLogAttr* attrs, int attrsLen)pango_default_break; 
    10097    void function(gchar* text, gint length, PangoAnalysis* analysis, PangoGlyphString* glyphs)pango_shape; 
     98    PangoDirection function(gunichar ch)pango_unichar_direction; 
     99    PangoDirection function(gchar* text, gint length)pango_find_base_dir; 
     100    gboolean function(gunichar ch, gunichar* mirroredCh)pango_get_mirror_char; 
     101    PangoBidiType function(gunichar ch)pango_bidi_type_for_unichar; 
    101102     
    102103    // pango.PgItem 
    103104     
    104     void function(PangoItem* item)pango_item_free; 
    105     PangoItem* function(PangoItem* item)pango_item_copy; 
    106     PangoItem* function()pango_item_new; 
    107     PangoItem* function(PangoItem* orig, int splitIndex, int splitOffset)pango_item_split; 
    108105     
    109106    // pango.PgMatrix 
     
    139136    // pango.PgGlyphItem 
    140137     
     138    PangoGlyphItem* function(PangoGlyphItem* orig)pango_glyph_item_copy; 
     139    void function(PangoGlyphItem* glyphItem)pango_glyph_item_free; 
    141140    PangoGlyphItem* function(PangoGlyphItem* orig, char* text, int splitIndex)pango_glyph_item_split; 
    142141    GSList* function(PangoGlyphItem* glyphItem, char* text, PangoAttrList* list)pango_glyph_item_apply_attrs; 
    143142    void function(PangoGlyphItem* glyphItem, char* text, PangoLogAttr* logAttrs, int letterSpacing)pango_glyph_item_letter_space; 
    144     PangoGlyphItem* function(PangoGlyphItem* orig)pango_glyph_item_copy; 
    145     void function(PangoGlyphItem* glyphItem)pango_glyph_item_free; 
    146143     
    147144    // pango.PgGlyphItemIter 
    148145     
     146    PangoGlyphItemIter* function(PangoGlyphItemIter* orig)pango_glyph_item_iter_copy; 
     147    void function(PangoGlyphItemIter* iter)pango_glyph_item_iter_free; 
     148    gboolean function(PangoGlyphItemIter* iter, PangoGlyphItem* glyphItem, char* text)pango_glyph_item_iter_init_start; 
     149    gboolean function(PangoGlyphItemIter* iter, PangoGlyphItem* glyphItem, char* text)pango_glyph_item_iter_init_end; 
     150    gboolean function(PangoGlyphItemIter* iter)pango_glyph_item_iter_next_cluster; 
     151    gboolean function(PangoGlyphItemIter* iter)pango_glyph_item_iter_prev_cluster; 
    149152     
    150153    // pango.PgFont 
     
    220223    // pango.PgFontMap 
    221224     
     225    PangoContext* function(PangoFontMap* fontmap)pango_font_map_create_context; 
    222226    PangoFont* function(PangoFontMap* fontmap, PangoContext* context, PangoFontDescription* desc)pango_font_map_load_font; 
    223227    PangoFontset* function(PangoFontMap* fontmap, PangoContext* context, PangoFontDescription* desc, PangoLanguage* language)pango_font_map_load_fontset; 
     
    241245    gboolean function(char* markupText, int length, gunichar accelMarker, PangoAttrList** attrList, char** text, gunichar* accelChar, GError** error)pango_parse_markup; 
    242246    PangoAttrType function(gchar* name)pango_attr_type_register; 
     247    char* function(PangoAttrType type)pango_attr_type_get_name; 
    243248    void function(PangoAttribute* attr, PangoAttrClass* klass)pango_attribute_init; 
    244249    PangoAttribute* function(PangoAttribute* attr)pango_attribute_copy; 
     
    275280    void function(PangoColor* color)pango_color_free; 
    276281    gchar* function(PangoColor* color)pango_color_to_string; 
    277      
    278     // pango.PgLanguage 
    279      
    280     PangoLanguage* function(char* language)pango_language_from_string; 
    281     gboolean function(PangoLanguage* language, char* rangeList)pango_language_matches; 
    282282     
    283283    // pango.PgAttributeList 
     
    366366    void function(PangoLayout* layout, int* width, int* height)pango_layout_get_size; 
    367367    void function(PangoLayout* layout, int* width, int* height)pango_layout_get_pixel_size; 
     368    int function(PangoLayout* layout)pango_layout_get_baseline; 
    368369    int function(PangoLayout* layout)pango_layout_get_line_count; 
    369370    PangoLayoutLine* function(PangoLayout* layout, int line)pango_layout_get_line; 
     
    410411    PangoScript function(gunichar ch)pango_script_for_unichar; 
    411412    PangoLanguage* function(PangoScript script)pango_script_get_sample_language; 
    412     gboolean function(PangoLanguage* language, PangoScript script)pango_language_includes_script; 
    413413     
    414414    // pango.PgScriptIter 
     
    419419    void function(PangoScriptIter* iter)pango_script_iter_free; 
    420420     
     421    // pango.PgLanguage 
     422     
     423    PangoLanguage* function(char* language)pango_language_from_string; 
     424    char* function(PangoLanguage* language)pango_language_to_string; 
     425    gboolean function(PangoLanguage* language, char* rangeList)pango_language_matches; 
     426    gboolean function(PangoLanguage* language, PangoScript script)pango_language_includes_script; 
     427    PangoScript* function(PangoLanguage* language, int* numScripts)pango_language_get_scripts; 
     428    PangoLanguage* function()pango_language_get_default; 
     429    char* function(PangoLanguage* language)pango_language_get_sample_string; 
     430     
    421431    // pango.PgVertical 
    422432     
     
    428438     
    429439    PangoFontMap* function()pango_cairo_font_map_get_default; 
     440    void function(PangoCairoFontMap* fontmap)pango_cairo_font_map_set_default; 
    430441    PangoFontMap* function()pango_cairo_font_map_new; 
    431442    PangoFontMap* function(cairo_font_type_t fonttype)pango_cairo_font_map_new_for_font_type; 
     
    444455    void function(PangoContext* context, PangoCairoShapeRendererFunc func, gpointer data, GDestroyNotify dnotify)pango_cairo_context_set_shape_renderer; 
    445456    PangoCairoShapeRendererFunc function(PangoContext* context, gpointer* data)pango_cairo_context_get_shape_renderer; 
     457    PangoContext* function(cairo_t* cr)pango_cairo_create_context; 
    446458    void function(cairo_t* cr, PangoContext* context)pango_cairo_update_context; 
    447459    PangoLayout* function(cairo_t* cr)pango_cairo_create_layout; 
    448460    void function(cairo_t* cr, PangoLayout* layout)pango_cairo_update_layout; 
    449461    void function(cairo_t* cr, PangoFont* font, PangoGlyphString* glyphs)pango_cairo_show_glyph_string; 
     462    void function(cairo_t* cr, char* text, PangoGlyphItem* glyphItem)pango_cairo_show_glyph_item; 
    450463    void function(cairo_t* cr, PangoLayoutLine* line)pango_cairo_show_layout_line; 
    451464    void function(cairo_t* cr, PangoLayout* layout)pango_cairo_show_layout; 
     
    461474    void function(PangoRenderer* renderer, PangoLayoutLine* line, int x, int y)pango_renderer_draw_layout_line; 
    462475    void function(PangoRenderer* renderer, PangoFont* font, PangoGlyphString* glyphs, int x, int y)pango_renderer_draw_glyphs; 
     476    void function(PangoRenderer* renderer, char* text, PangoGlyphItem* glyphItem, int x, int y)pango_renderer_draw_glyph_item; 
    463477    void function(PangoRenderer* renderer, PangoRenderPart part, int x, int y, int width, int height)pango_renderer_draw_rectangle; 
    464478    void function(PangoRenderer* renderer, int x, int y, int width, int height)pango_renderer_draw_error_underline; 
     
    519533    char* function()pango_get_lib_subdirectory; 
    520534    guint8* function(gchar* text, int length, PangoDirection* pbaseDir)pango_log2vis_get_embedding_levels; 
    521     PangoLanguage* function()pango_language_get_default; 
    522     char* function(PangoLanguage* language)pango_language_get_sample_string; 
    523535    gboolean function(gunichar ch)pango_is_zero_width; 
    524536    void function(int* thickness, int* position)pango_quantize_line_geometry; 
     
    559571    { "pango_context_get_metrics",  cast(void**)& pango_context_get_metrics}, 
    560572    { "pango_context_list_families",  cast(void**)& pango_context_list_families}, 
    561     { "pango_get_mirror_char",  cast(void**)& pango_get_mirror_char}, 
    562     { "pango_unichar_direction",  cast(void**)& pango_unichar_direction}, 
    563     { "pango_find_base_dir",  cast(void**)& pango_find_base_dir}, 
    564573    { "pango_break",  cast(void**)& pango_break}, 
    565574    { "pango_get_log_attrs",  cast(void**)& pango_get_log_attrs}, 
     
    567576    { "pango_default_break",  cast(void**)& pango_default_break}, 
    568577    { "pango_shape",  cast(void**)& pango_shape}, 
    569     { "pango_item_free",  cast(void**)& pango_item_free}, 
    570     { "pango_item_copy",  cast(void**)& pango_item_copy}, 
    571     { "pango_item_new",  cast(void**)& pango_item_new}, 
    572     { "pango_item_split",  cast(void**)& pango_item_split}, 
     578    { "pango_unichar_direction",  cast(void**)& pango_unichar_direction}, 
     579    { "pango_find_base_dir",  cast(void**)& pango_find_base_dir}, 
     580    { "pango_get_mirror_char",  cast(void**)& pango_get_mirror_char}, 
     581    { "pango_bidi_type_for_unichar",  cast(void**)& pango_bidi_type_for_unichar}, 
    573582    { "pango_units_to_double",  cast(void**)& pango_units_to_double}, 
    574583    { "pango_units_from_double",  cast(void**)& pango_units_from_double}, 
     
    595604    { "pango_glyph_string_x_to_index",  cast(void**)& pango_glyph_string_x_to_index}, 
    596605    { "pango_glyph_string_get_logical_widths",  cast(void**)& pango_glyph_string_get_logical_widths}, 
     606    { "pango_glyph_item_copy",  cast(void**)& pango_glyph_item_copy}, 
     607    { "pango_glyph_item_free",  cast(void**)& pango_glyph_item_free}, 
    597608    { "pango_glyph_item_split",  cast(void**)& pango_glyph_item_split}, 
    598609    { "pango_glyph_item_apply_attrs",  cast(void**)& pango_glyph_item_apply_attrs}, 
    599610    { "pango_glyph_item_letter_space",  cast(void**)& pango_glyph_item_letter_space}, 
    600     { "pango_glyph_item_copy",  cast(void**)& pango_glyph_item_copy}, 
    601     { "pango_glyph_item_free",  cast(void**)& pango_glyph_item_free}, 
     611    { "pango_glyph_item_iter_copy",  cast(void**)& pango_glyph_item_iter_copy}, 
     612    { "pango_glyph_item_iter_free",  cast(void**)& pango_glyph_item_iter_free}, 
     613    { "pango_glyph_item_iter_init_start",  cast(void**)& pango_glyph_item_iter_init_start}, 
     614    { "pango_glyph_item_iter_init_end",  cast(void**)& pango_glyph_item_iter_init_end}, 
     615    { "pango_glyph_item_iter_next_cluster",  cast(void**)& pango_glyph_item_iter_next_cluster}, 
     616    { "pango_glyph_item_iter_prev_cluster",  cast(void**)& pango_glyph_item_iter_prev_cluster}, 
    602617    { "pango_font_find_shaper",  cast(void**)& pango_font_find_shaper}, 
    603618    { "pango_font_describe",  cast(void**)& pango_font_describe}, 
     
    655670    { "pango_font_face_describe",  cast(void**)& pango_font_face_describe}, 
    656671    { "pango_font_face_is_synthesized",  cast(void**)& pango_font_face_is_synthesized}, 
     672    { "pango_font_map_create_context",  cast(void**)& pango_font_map_create_context}, 
    657673    { "pango_font_map_load_font",  cast(void**)& pango_font_map_load_font}, 
    658674    { "pango_font_map_load_fontset",  cast(void**)& pango_font_map_load_fontset}, 
     
    667683    { "pango_parse_markup",  cast(void**)& pango_parse_markup}, 
    668684    { "pango_attr_type_register",  cast(void**)& pango_attr_type_register}, 
     685    { "pango_attr_type_get_name",  cast(void**)& pango_attr_type_get_name}, 
    669686    { "pango_attribute_init",  cast(void**)& pango_attribute_init}, 
    670687    { "pango_attribute_copy",  cast(void**)& pango_attribute_copy}, 
     
    698715    { "pango_color_free",  cast(void**)& pango_color_free}, 
    699716    { "pango_color_to_string",  cast(void**)& pango_color_to_string}, 
    700     { "pango_language_from_string",  cast(void**)& pango_language_from_string}, 
    701     { "pango_language_matches",  cast(void**)& pango_language_matches}, 
    702717    { "pango_attr_list_new",  cast(void**)& pango_attr_list_new}, 
    703718    { "pango_attr_list_ref",  cast(void**)& pango_attr_list_ref}, 
     
    774789    { "pango_layout_get_size",  cast(void**)& pango_layout_get_size}, 
    775790    { "pango_layout_get_pixel_size",  cast(void**)& pango_layout_get_pixel_size}, 
     791    { "pango_layout_get_baseline",  cast(void**)& pango_layout_get_baseline}, 
    776792    { "pango_layout_get_line_count",  cast(void**)& pango_layout_get_line_count}, 
    777793    { "pango_layout_get_line",  cast(void**)& pango_layout_get_line}, 
     
    809825    { "pango_script_for_unichar",  cast(void**)& pango_script_for_unichar}, 
    810826    { "pango_script_get_sample_language",  cast(void**)& pango_script_get_sample_language}, 
    811     { "pango_language_includes_script",  cast(void**)& pango_language_includes_script}, 
    812827    { "pango_script_iter_new",  cast(void**)& pango_script_iter_new}, 
    813828    { "pango_script_iter_get_range",  cast(void**)& pango_script_iter_get_range}, 
    814829    { "pango_script_iter_next",  cast(void**)& pango_script_iter_next}, 
    815830    { "pango_script_iter_free",  cast(void**)& pango_script_iter_free}, 
     831    { "pango_language_from_string",  cast(void**)& pango_language_from_string}, 
     832    { "pango_language_to_string",  cast(void**)& pango_language_to_string}, 
     833    { "pango_language_matches",  cast(void**)& pango_language_matches}, 
     834    { "pango_language_includes_script",  cast(void**)& pango_language_includes_script}, 
     835    { "pango_language_get_scripts",  cast(void**)& pango_language_get_scripts}, 
     836    { "pango_language_get_default",  cast(void**)& pango_language_get_default}, 
     837    { "pango_language_get_sample_string",  cast(void**)& pango_language_get_sample_string}, 
    816838    { "pango_gravity_get_for_matrix",  cast(void**)& pango_gravity_get_for_matrix}, 
    817839    { "pango_gravity_get_for_script",  cast(void**)& pango_gravity_get_for_script}, 
    818840    { "pango_gravity_to_rotation",  cast(void**)& pango_gravity_to_rotation}, 
    819841    { "pango_cairo_font_map_get_default",  cast(void**)& pango_cairo_font_map_get_default}, 
     842    { "pango_cairo_font_map_set_default",  cast(void**)& pango_cairo_font_map_set_default}, 
    820843    { "pango_cairo_font_map_new",  cast(void**)& pango_cairo_font_map_new}, 
    821844    { "pango_cairo_font_map_new_for_font_type",  cast(void**)& pango_cairo_font_map_new_for_font_type}, 
     
    831854    { "pango_cairo_context_set_shape_renderer",  cast(void**)& pango_cairo_context_set_shape_renderer}, 
    832855    { "pango_cairo_context_get_shape_renderer",  cast(void**)& pango_cairo_context_get_shape_renderer}, 
     856    { "pango_cairo_create_context",  cast(void**)& pango_cairo_create_context}, 
    833857    { "pango_cairo_update_context",  cast(void**)& pango_cairo_update_context}, 
    834858    { "pango_cairo_create_layout",  cast(void**)& pango_cairo_create_layout}, 
    835859    { "pango_cairo_update_layout",  cast(void**)& pango_cairo_update_layout}, 
    836860    { "pango_cairo_show_glyph_string",  cast(void**)& pango_cairo_show_glyph_string}, 
     861    { "pango_cairo_show_glyph_item",  cast(void**)& pango_cairo_show_glyph_item}, 
    837862    { "pango_cairo_show_layout_line",  cast(void**)& pango_cairo_show_layout_line}, 
    838863    { "pango_cairo_show_layout",  cast(void**)& pango_cairo_show_layout}, 
     
    845870    { "pango_renderer_draw_layout_line",  cast(void**)& pango_renderer_draw_layout_line}, 
    846871    { "pango_renderer_draw_glyphs",  cast(void**)& pango_renderer_draw_glyphs}, 
     872    { "pango_renderer_draw_glyph_item",  cast(void**)& pango_renderer_draw_glyph_item}, 
    847873    { "pango_renderer_draw_rectangle",  cast(void**)& pango_renderer_draw_rectangle}, 
    848874    { "pango_renderer_draw_error_underline",  cast(void**)& pango_renderer_draw_error_underline}, 
     
    888914    { "pango_get_lib_subdirectory",  cast(void**)& pango_get_lib_subdirectory}, 
    889915    { "pango_log2vis_get_embedding_levels",  cast(void**)& pango_log2vis_get_embedding_levels}, 
    890     { "pango_language_get_default",  cast(void**)& pango_language_get_default}, 
    891     { "pango_language_get_sample_string",  cast(void**)& pango_language_get_sample_string}, 
    892916    { "pango_is_zero_width",  cast(void**)& pango_is_zero_width}, 
    893917    { "pango_quantize_line_geometry",  cast(void**)& pango_quantize_line_geometry}, 
  • trunk/src/gtkc/pangotypes.d

    r626 r629  
    2828public import gtkc.gobjecttypes; 
    2929 
    30 //public import std.c.windows.windows; 
    31  
    3230///* The pango Basic Types */ 
    3331public alias void FcPattern; 
    3432public alias void FcCharSet; 
    35 //public alias void LOGFONT; 
    36 //struct Display; 
    37 //struct FT_Bitmap; 
     33 
    3834struct FT_Face; 
    39 //struct XftDraw; 
    40 //struct XftColor; 
    4135 
    4236 
     
    10397    WEAK_RTL, 
    10498    NEUTRAL 
     99} 
     100/** 
     101 * The PangoBidiType type represents the bidirectional character 
     102 * type of a Unicode character as specified by the 
     103 * Unicode bidirectional algorithm. 
     104 * PANGO_BIDI_TYPE_L 
     105 */ 
     106public enum PangoBidiType 
     107{ 
     108    /+* Strong types +/ 
     109    PANGO_BIDI_TYPE_L, 
     110    PANGO_BIDI_TYPE_LRE, 
     111    PANGO_BIDI_TYPE_LRO, 
     112    PANGO_BIDI_TYPE_R, 
     113    PANGO_BIDI_TYPE_AL, 
     114    PANGO_BIDI_TYPE_RLE, 
     115    PANGO_BIDI_TYPE_RLO, 
     116    /+* Weak types +/ 
     117    PANGO_BIDI_TYPE_PDF, 
     118    PANGO_BIDI_TYPE_EN, 
     119    PANGO_BIDI_TYPE_ES, 
     120    PANGO_BIDI_TYPE_ET, 
     121    PANGO_BIDI_TYPE_AN, 
     122    PANGO_BIDI_TYPE_CS, 
     123    PANGO_BIDI_TYPE_NSM, 
     124    PANGO_BIDI_TYPE_BN, 
     125    /+* Neutral types +/ 
     126    PANGO_BIDI_TYPE_B, 
     127    PANGO_BIDI_TYPE_S, 
     128    PANGO_BIDI_TYPE_WS, 
     129    PANGO_BIDI_TYPE_ON 
    105130} 
    106131/** 
     
    543568 * The PangoItem structure stores information about 
    544569 * a segment of text. It contains the following fields: 
    545  * gintoffset; 
     570 * gint offset; 
    546571 * the offset of the segment from the beginning of the 
    547572 */ 
     
    559584 * the properties of a segment of text. It has the following 
    560585 * fields: 
    561  * PangoEngineShape*shape_engine; 
     586 * PangoEngineShape *shape_engine; 
    562587 * the engine for doing rendering-system-dependent processing. 
    563  * PangoEngineLang*lang_engine; 
     588 * PangoEngineLang *lang_engine; 
    564589 * the engine for doing rendering-system-independent processing. 
    565  * PangoFont*font; 
     590 * PangoFont *font; 
    566591 * the font for this segment. 
    567  * guint8level; 
     592 * guint8 level; 
    568593 * the bidirectional level for this segment. 
    569  * guint8gravity; 
     594 * guint8 gravity; 
    570595 * the glyph orientation for this segment (A PangoGravity). 
    571  * guint8flags; 
     596 * guint8 flags; 
    572597 * boolean flags for this segment (currently only one) (Since: 1.16). 
    573  * guint8script; 
     598 * guint8 script; 
    574599 * the detected script for this segment (A PangoScript) (Since: 1.18). 
    575  * PangoLanguage*language; 
     600 * PangoLanguage *language; 
    576601 * the detected language for this segment. 
    577  * GSList*extra_attrs; 
     602 * GSList *extra_attrs; 
    578603 * extra attributes for this segment. 
    579604 */ 
     
    595620 * The PangoLogAttr structure stores information 
    596621 * about the attributes of a single character. 
    597  * guintis_line_break:1; 
     622 * guint is_line_break : 1; 
    598623 * if set, can break line in front of character 
    599  * guintis_mandatory_break:1; 
     624 * guint is_mandatory_break : 1; 
    600625 * if set, must break line in front of character 
    601  * guintis_char_break:1; 
     626 * guint is_char_break : 1; 
    602627 * if set, can break here when doing character wrapping 
    603  * guintis_white:1; 
     628 * guint is_white : 1; 
    604629 * is whitespace character 
    605  * guintis_cursor_position:1; 
     630 * guint is_cursor_position : 1; 
    606631 * if set, cursor can appear in front of character. 
    607632 */ 
     
    642667    +/ 
    643668    //uint isExpandableSpace : 1; 
     669    /+* Word boundary as defined by UAX#29 +/ 
     670    //uint isWordBoundary : 1; /+* is NOT inn the middle of a word +/ 
    644671} 
    645672 
     
    649676 * used to represent the logical or ink extents of a single glyph or section 
    650677 * of text. (See, for instance, pango_font_get_glyph_extents()) 
    651  * intx; 
     678 * int x; 
    652679 * X coordinate of the left side of the rectangle. 
    653  * inty; 
     680 * int y; 
    654681 * Y coordinate of the the top side of the rectangle. 
    655  * intwidth; 
     682 * int width; 
    656683 * width of the rectangle. 
    657  * intheight; 
     684 * int height; 
    658685 * height of the rectangle. 
    659686 */ 
     
    674701 * x_device = x_user * matrix->xx + y_user * matrix->xy + matrix->x0; 
    675702 * y_device = x_user * matrix->yx + y_user * matrix->yy + matrix->y0; 
    676  * doublexx; 
     703 * double xx; 
    677704 */ 
    678705public struct PangoMatrix 
     
    691718 * positioning information and visual attributes. 
    692719 * It contains the following fields. 
    693  * PangoGlyphglyph; 
     720 * PangoGlyph glyph; 
    694721 * the glyph itself. 
    695  * PangoGlyphGeometrygeometry; 
     722 * PangoGlyphGeometry geometry; 
    696723 * the positional information about the glyph. 
    697  * PangoGlyphVisAttrattr; 
     724 * PangoGlyphVisAttr attr; 
    698725 * the visual attributes of the glyph. 
    699726 */ 
     
    709736 * The PangoGlyphGeometry structure contains width and positioning 
    710737 * information for a single glyph. 
    711  * PangoGlyphUnitwidth; 
     738 * PangoGlyphUnit width; 
    712739 * the logical width to use for the the character. 
    713  * PangoGlyphUnitx_offset; 
     740 * PangoGlyphUnit x_offset; 
    714741 * horizontal offset from nominal character position. 
    715  * PangoGlyphUnity_offset; 
     742 * PangoGlyphUnit y_offset; 
    716743 * vertical offset from nominal character position. 
    717744 */ 
     
    728755 * the shaping phase and the rendering phase. More attributes may be 
    729756 * added in the future. 
    730  * guintis_cluster_start:1; 
     757 * guint is_cluster_start : 1; 
    731758 * set for the first logical glyph in each cluster. (Clusters 
    732759 */ 
     
    743770 * The storage for the glyph information is owned 
    744771 * by the structure which simplifies memory management. 
    745  * gintnum_glyphs; 
     772 * gint num_glyphs; 
    746773 * the number of glyphs in the string. 
    747  * PangoGlyphInfo*glyphs; 
     774 * PangoGlyphInfo *glyphs; 
    748775 * an array of PangoGlyphInfo structures of length num_glyphs. 
    749  * gint*log_clusters; 
     776 * gint *log_clusters; 
    750777 * for each glyph, byte index of the starting character for the 
    751778 * cluster. The indices are relative to the start of the text 
     
    771798 * of shaping text with PangoLayout is a list of PangoLayoutLine, 
    772799 * each of which contains a list of PangoGlyphItem. 
    773  * PangoItem*item; 
     800 * PangoItem *item; 
    774801 * a PangoItem structure that provides information 
    775802 */ 
     
    778805    PangoItem *item; 
    779806    PangoGlyphString *glyphs; 
     807} 
     808 
     809 
     810/** 
     811 * A PangoGlyphItemIter is an iterator over the clusters in a 
     812 * PangoGlyphItem. The forward direction of the 
     813 * iterator is the logical direction of text. That is, with increasing 
     814 * start_index and start_char values. If glyph_item is right-to-left 
     815 * (that is, if glyph_item->item->analysis.level is odd), 
     816 * then start_glyph decreases as the iterator moves forward. Moreover, 
     817 * in right-to-left cases, start_glyph is greater than end_glyph. 
     818 * An iterator should be initialized using either of 
     819 * pango_glyph_item_iter_init_start() and 
     820 * pango_glyph_item_iter_init_end(), for forward and backward iteration 
     821 * respectively, and walked over using any desired mixture of 
     822 * pango_glyph_item_iter_next_cluster() and 
     823 * pango_glyph_item_iter_prev_cluster(). A common idiom for doing a 
     824 * forward iteration over the clusters is: 
     825 * PangoGlyphItemIter cluster_iter; 
     826 * gboolean have_cluster; 
     827 * for (have_cluster = pango_glyph_item_iter_init_start (cluster_iter, 
     828 */ 
     829public struct PangoGlyphItemIter 
     830{ 
     831    PangoGlyphItem *glyphItem; 
     832    char *text; 
     833    int startGlyph; 
     834    int startIndex; 
     835    int startChar; 
     836    int endGlyph; 
     837    int endIndex; 
     838    int endChar; 
    780839} 
    781840 
     
    796855 * the documentation of the corresponding getters for documentation 
    797856 * of their meaning. 
    798  * guintref_count; 
     857 * guint ref_count; 
    799858 * reference count. Used internally. See pango_font_metrics_ref() 
    800859 */ 
     
    863922 * The PangoFontMapClass structure holds the virtual functions for 
    864923 * a particular PangoFontMap implementation. 
    865  * GObjectClassparent_class; 
     924 * GObjectClass parent_class; 
    866925 * parent GObjectClass. 
    867  * load_font() 
     926 * load_font () 
    868927 * a function to load a font with a given description. See 
    869928 */ 
     
    892951 * The PangoFontsetClass structure holds the virtual functions for 
    893952 * a particular PangoFontset implementation. 
    894  * GObjectClassparent_class; 
     953 * GObjectClass parent_class; 
    895954 * parent GObjectClass. 
    896  * get_font() 
     955 * get_font () 
    897956 * a function to get the font in the fontset that contains the 
    898957 */ 
     
    921980 * not be called directly. Instead, one should use the wrapper functions 
    922981 * provided for PangoAttribute. 
    923  * PangoAttrTypetype; 
     982 * PangoAttrType type; 
    924983 * the type ID for this attribute 
    925  * copy() 
     984 * copy () 
    926985 * function to duplicate an attribute of this type (see pango_attribute_copy()) 
    927  * destroy() 
     986 * destroy () 
    928987 * function to free an attribute of this type (see pango_attribute_destroy()) 
    929  * equal() 
     988 * equal () 
    930989 * function to check two attributes of this type for equality (see pango_attribute_equal()) 
    931990 */ 
     
    9471006 * applies and should be initialized using pango_attribute_init(). 
    9481007 * By default an attribute will have an all-inclusive range of [0,G_MAXUINT]. 
    949  * constPangoAttrClass*klass; 
     1008 * const PangoAttrClass *klass; 
    9501009 * the class structure holding information about the type of the attribute 
    951  * guintstart_index; 
     1010 * guint start_index; 
    9521011 * the start index of the range (in bytes). 
    953  * guintend_index; 
     1012 * guint end_index; 
    9541013 * end index of the range (in bytes). The character at this index 
    9551014 */ 
     
    9651024 * The PangoAttrString structure is used to represent attributes with 
    9661025 * a string value. 
    967  * PangoAttributeattr; 
     1026 * PangoAttribute attr; 
    9681027 * the common portion of the attribute 
    969  * char*value; 
     1028 * char *value; 
    9701029 * the string which is the value of the attribute 
    9711030 */ 
     
    9801039 * The PangoAttrLanguage structure is used to represent attributes that 
    9811040 * are languages. 
    982  * PangoAttributeattr; 
     1041 * PangoAttribute attr; 
    9831042 * the common portion of the attribute 
    984  * PangoLanguage*value; 
     1043 * PangoLanguage *value; 
    9851044 * the PangoLanguage which is the value of the attribute 
    9861045 */ 
     
    9951054 * The PangoAttrColor structure is used to represent attributes that 
    9961055 * are colors. 
    997  * PangoAttributeattr; 
     1056 * PangoAttribute attr; 
    9981057 * the common portion of the attribute 
    999  * PangoColorcolor; 
     1058 * PangoColor color; 
    10001059 * the PangoColor which is the value of the attribute 
    10011060 */ 
     
    10101069 * The PangoAttrInt structure is used to represent attributes with 
    10111070 * an integer or enumeration value. 
    1012  * PangoAttributeattr; 
     1071 * PangoAttribute attr; 
    10131072 * the common portion of the attribute 
    1014  * intvalue; 
     1073 * int value; 
    10151074 * the value of the attribute 
    10161075 */ 
     
    10251084 * The PangoAttrFloat structure is used to represent attributes with 
    10261085 * a float or double value. 
    1027  * PangoAttributeattr; 
     1086 * PangoAttribute attr; 
    10281087 * the common portion of the attribute 
    1029  * doublevalue; 
     1088 * double value; 
    10301089 * the value of the attribute 
    10311090 */ 
     
    10401099 * The PangoAttrFontDesc structure is used to store an attribute that 
    10411100 * sets all aspects of the font description at once. 
    1042  * PangoAttributeattr; 
     1101 * PangoAttribute attr; 
    10431102 * the common portion of the attribute 
    1044  * PangoFontDescription*desc; 
     1103 * PangoFontDescription *desc; 
    10451104 * the font description which is the value of this attribute 
    10461105 */ 
     
    10551114 * The PangoAttrShape structure is used to represent attributes which 
    10561115 * impose shape restrictions. 
    1057  * PangoAttributeattr; 
     1116 * PangoAttribute attr; 
    10581117 * the common portion of the attribute 
    1059  * PangoRectangleink_rect; 
     1118 * PangoRectangle ink_rect; 
    10601119 * the ink rectangle to restrict to 
    1061  * PangoRectanglelogical_rect; 
     1120 * PangoRectangle logical_rect; 
    10621121 * the logical rectangle to restrict to 
    1063  * gpointerdata; 
     1122 * gpointer data; 
    10641123 * user data set (see pango_attr_shape_new_with_data()) 
    1065  * PangoAttrDataCopyFunccopy_func; 
     1124 * PangoAttrDataCopyFunc copy_func; 
    10661125 * copy function for the user data 
    1067  * GDestroyNotifydestroy_func; 
     1126 * GDestroyNotify destroy_func; 
    10681127 * destroy function for the user data 
    10691128 */ 
     
    10821141 * The PangoAttrShape structure is used to represent attributes which 
    10831142 * set font size. 
    1084  * PangoAttributeattr; 
     1143 * PangoAttribute attr; 
    10851144 * the common portion of the attribute 
    1086  * intsize; 
     1145 * int size; 
    10871146 * size of font, in units of 1/PANGO_SCALE of a point (for 
    10881147 */ 
     
    10991158 * The PangoColor structure is used to 
    11001159 * represent a color in an uncalibrated RGB color-space. 
    1101  * guint16red; 
     1160 * guint16 red; 
    11021161 * The red component of the color. This is a value between 0 and 65535, 
    11031162 */ 
     
    11081167    ushort blue; 
    11091168} 
    1110  
    1111  
    1112 /** 
    1113  * The PangoLanguage structure is used to 
    1114  * represent a language. 
    1115  * PangoLanguage pointers can be efficiently 
    1116  * copied and compared with each other. 
    1117  */ 
    1118 public struct PangoLanguage{} 
    11191169 
    11201170 
     
    11631213 * position of the resulting glyphs can be made. 
    11641214 * There are also a number of parameters to adjust the formatting 
    1165  * of a PangoLayout, which are illustrated in Figure1, Adjustable parameters for a PangoLayout
     1215 * of a PangoLayout, which are illustrated in Figure 1, “Adjustable parameters for a PangoLayout”
    11661216 * It is possible, as well, to ignore the 2-D setup, and simply 
    11671217 * treat the results of a PangoLayout as a list of lines. 
    1168  * Figure1.Adjustable parameters for a PangoLayout 
     1218 * Figure 1. Adjustable parameters for a PangoLayout 
    11691219 * The PangoLayout structure is opaque, and has no user-visible 
    11701220 * fields. 
     
    11901240 * Routines for rendering PangoLayout objects are provided in 
    11911241 * code specific to each rendering system. 
    1192  * PangoLayout*layout; 
     1242 * PangoLayout *layout; 
    11931243 * the parent layout for this line 
    1194  * gintstart_index; 
     1244 * gint start_index; 
    11951245 * the start of the line as byte index into layout->text 
    1196  * gintlength; 
     1246 * gint length; 
    11971247 * the length of the line in bytes 
    1198  * GSList*runs; 
     1248 * GSList *runs; 
    11991249 * a list containing the runs of the line in visual order 
    1200  * guintis_paragraph_start:1; 
     1250 * guint is_paragraph_start : 1; 
    12011251 * TRUE if this is the first line of the paragraph 
    1202  * guintresolved_dir:3; 
     1252 * guint resolved_dir : 3; 
    12031253 * the resolved PangoDirection of the line 
    12041254 */ 
     
    12231273 
    12241274/** 
     1275 * The PangoLanguage structure is used to 
     1276 * represent a language. 
     1277 * PangoLanguage pointers can be efficiently 
     1278 * copied and compared with each other. 
     1279 */ 
     1280public struct PangoLanguage{} 
     1281 
     1282 
     1283/** 
    12251284 * PangoCairoFont is an interface exported by fonts for 
    12261285 * use with Cairo. The actual type of the font will depend 
     
    12451304 * render Pango objects such as PangoGlyphString and 
    12461305 * PangoLayout. 
    1247  * PangoMatrix*matrix; 
     1306 * PangoMatrix *matrix; 
    12481307 */ 
    12491308public struct PangoRenderer 
     
    12551314/** 
    12561315 * Class structure for PangoRenderer. 
    1257  * draw_glyphs() 
     1316 * draw_glyphs () 
    12581317 */ 
    12591318public struct PangoRendererClass 
     
    12821341    +/ 
    12831342    extern(C) void  function(PangoRenderer *renderer,PangoLayoutRun *run) prepareRun; 
     1343    /+* All of the following have defaulx implementations 
     1344     * and take as coordinates user coordinates inn Pango units 
     1345    +/ 
     1346    extern(C) void  function(PangoRenderer *renderer,char *text,PangoGlyphItem *glyphItem,int x,int y) drawGlyphItem; 
    12841347} 
    12851348 
     
    12961359 * The PangoEngineInfo structure contains information about a particular 
    12971360 * engine. It contains the following fields: 
    1298  * constgchar*id; 
     1361 * const gchar *id; 
    12991362 * a unique string ID for the engine. 
    1300  * constgchar*engine_type; 
     1363 * const gchar *engine_type; 
    13011364 * a string identifying the engine type. 
    1302  * constgchar*render_type; 
     1365 * const gchar *render_type; 
    13031366 * a string identifying the render type. 
    1304  * PangoEngineScriptInfo*scripts; 
     1367 * PangoEngineScriptInfo *scripts; 
    13051368 * array of scripts this engine supports. 
    1306  * gintn_scripts; 
     1369 * gint n_scripts; 
    13071370 * number of items in scripts. 
    13081371 */ 
     
    13211384 * information about how the shaper covers a particular 
    13221385 * script. 
    1323  * PangoScriptscript; 
     1386 * PangoScript script; 
    13241387 * a PangoScript. The value PANGO_SCRIPT_COMMON has 
    13251388 */ 
     
    13591422/** 
    13601423 * Class structure for PangoEngineLang 
    1361  * script_break() 
     1424 * script_break () 
    13621425 */ 
    13631426public struct PangoEngineLangClass 
     
    13831446/** 
    13841447 * Class structure for PangoEngineShape 
    1385  * script_shape() 
     1448 * script_shape () 
    13861449 */ 
    13871450public struct PangoEngineShapeClass 
     
    13941457/* 
    13951458 * Converts a dimension to device units by rounding. 
    1396  * d
     1459 * d 
    13971460 * a dimension in Pango units. 
    1398  * Returns
     1461 * Returns 
    13991462 * rounded dimension in device units. 
    14001463 */ 
     
    14041467/* 
    14051468 * Converts a dimension to device units by flooring. 
    1406  * d
     1469 * d 
    14071470 * a dimension in Pango units. 
    1408  * Returns
     1471 * Returns 
    14091472 * floored dimension in device units. 
    14101473 * Since 1.14 
     
    14151478/* 
    14161479 * Converts a dimension to device units by ceiling. 
    1417  * d
     1480 * d 
    14181481 * a dimension in Pango units. 
    1419  * Returns
     1482 * Returns 
    14201483 * ceiled dimension in device units. 
    14211484 * Since 1.14 
     
    14271490 * Rounds a dimension to whole device units, but does not 
    14281491 * convert it to device units. 
    1429  * d
     1492 * d 
    14301493 * a dimension in Pango units. 
    1431  * Returns
     1494 * Returns 
    14321495 * rounded dimension in Pango units. 
    14331496 * Since 1.18 
     
    14411504 * baseline to the highest point of the character. This is positive if the 
    14421505 * glyph ascends above the baseline. 
    1443  * rect
     1506 * rect 
    14441507 * a PangoRectangle 
    14451508 */ 
     
    14521515 * baseline to the lowest point of the character. This is positive if the 
    14531516 * glyph descends below the baseline. 
    1454  * rect
     1517 * rect 
    14551518 * a PangoRectangle 
    14561519 */ 
     
    14641527 * This is positive for characters drawn completely to the right of the 
    14651528 * glyph origin. 
    1466  * rect
     1529 * rect 
    14671530 * a PangoRectangle 
    14681531 */ 
     
    14761539 * This is positive except for characters drawn completely to the left of the 
    14771540 * horizontal origin. 
    1478  * rect
     1541 * rect 
    14791542 * a PangoRectangle 
    14801543 */ 
     
    14871550 * a box with the hexadecimal Unicode code-point of the character written in it 
    14881551 * is what is done in the most common backends. 
    1489  * wc
     1552 * wc 
    14901553 * a Unicode character 
    14911554 */ 
     
    14951558/* 
    14961559 * Casts a GObject to a PangoFont. 
    1497  * object
     1560 * object 
    14981561 * a GObject. 
    14991562 */ 
     
    15031566/* 
    15041567 * Returns TRUE if object is a PangoFont. 
    1505  * object
     1568 * object 
    15061569 * a GObject. 
    15071570 */ 
     
    15111574/* 
    15121575 * Casts a GObject to a PangoFontFamily. 
    1513  * object
     1576 * object 
    15141577 * a GObject. 
    15151578 */ 
     
    15191582/* 
    15201583 * Returns TRUE if object is a PangoFontFamily. 
    1521  * object
     1584 * object 
    15221585 * a GObject. 
    15231586 */ 
     
    15271590/* 
    15281591 * Casts a GObject to a PangoFontFace. 
    1529  * object
     1592 * object 
    15301593 * a GObject. 
    15311594 */ 
     
    15351598/* 
    15361599 * Returns TRUE if object is a PangoFontFace. 
    1537  * object
     1600 * object 
    15381601 * a GObject. 
    15391602 */ 
     
    15431606/* 
    15441607 * Casts a GObject to a PangoFontMap. 
    1545  * object
     1608 * object 
    15461609 * a GObject. 
    15471610 */ 
     
    15511614/* 
    15521615 * Returns TRUE if object is a PangoFontMap. 
    1553  * object
     1616 * object 
    15541617 * a GObject. 
    15551618 */ 
     
    15591622/* 
    15601623 * Casts a GObject to a PangoFontMapClass. 
    1561  * klass
     1624 * klass :&