module Cairo_pango:sig..end
Interaction with Pango, a library for laying out and rendering of text.
module Font_map:sig..end
Interacting with Pango.font_map.
typecairo_font =[ `cairo | `pangofont ] Gobject.obj
val get_scaled_font : cairo_font -> 'a Cairo.Scaled_font.t
val set_resolution : Pango.context -> float -> unitSets the resolution for the context. This is a scale factor
between points specified in a Pango.font_description and Cairo
units. The default value is 96, meaning that a 10 point font will
be 13 units high. (10 * 96. / 72. = 13.3).
val get_resolution : Pango.context -> floatGets the resolution for the context.
val set_font_options : Pango.context -> Cairo.Font_options.t -> unitset_font_options cr options sets the font options used when
rendering text with cr. These options override any options that
Cairo_pango.update_context derives from the target surface.
val get_font_options : Pango.context -> Cairo.Font_options.tRetrieves any font rendering options previously set with
Cairo_pango.set_font_options. This function does not report options that
are derived from the target surface by Cairo_pango.update_context.
val create_context : Cairo.context -> Pango.contextCreates a context object set up to match the current
transformation and target surface of the Cairo context. This
context can then be used to create a layout using
Pango.Layout.create.
val update_context : Cairo.context -> Pango.context -> unitUpdates a Pango.context previously created for use with Cairo to
match the current transformation and target surface of a Cairo
context. If any layouts have been created for the context, it's
necessary to call context_changed on those layouts.
val create_layout : Cairo.context -> Pango.layoutcreate_layout cr creates a layout object set up to match the
current transformation and target surface of the Cairo context cr.
This layout can then be used for text measurement with functions
like Pango.Layout.get_size or drawing with functions like
Cairo_pango.show_layout. If you change the transformation or target surface
for cr, you need to call Cairo_pango.update_layout.
val update_layout : Cairo.context -> Pango.layout -> unitupdate_layout cr layout updates the private Pango.context of
layout created with Cairo_pango.create_layout to match the current
transformation and target surface of a Cairo context cr.
val show_layout : Cairo.context -> Pango.layout -> unitshow_layout cr layout draws a layout in the specified cairo
context cr. The top-left corner of layout will be drawn at the
current point of the cairo context.
val show_error_underline : Cairo.context -> float -> float -> w:float -> h:float -> unitshow_error_underline cr x y w h draw a squiggly line in the
cairo context cr that approximately covers the given rectangle in
the style of an underline used to indicate a spelling error. (The
width w of the underline is rounded to an integer number of
up/down segments and the resulting rectangle is centered in the
original rectangle).
val layout_path : Cairo.context -> Pango.layout -> unitlayout_path cr layout adds the text in a layout to the current
path in cr. The top-left corner of the layout will be at the
current point of the cairo context.
val error_underline_path : Cairo.context -> float -> float -> w:float -> h:float -> uniterror_underline_path cr x y w h add a squiggly line to the
current path in the cairo context cr that approximately covers
the given rectangle in the style of an underline used to indicate a
spelling error. (The width w of the underline is rounded to an
integer number of up/down segments and the resulting rectangle is
centered in the original rectangle).