Module Cairo_pango
Interaction with Pango, a library for laying out and rendering of text.
module Font_map : sig ... end
Interacting with
Pango.font_map
.
type cairo_font
= [ `pangofont | `cairo ] Gobject.obj
val get_scaled_font : cairo_font -> _ Cairo.Scaled_font.t
val set_resolution : Pango.context -> float -> unit
Sets 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 -> float
Gets the resolution for the context.
val set_font_options : Pango.context -> Cairo.Font_options.t -> unit
set_font_options cr options
sets the font options used when rendering text withcr
. These options override any options thatupdate_context
derives from the target surface.
val get_font_options : Pango.context -> Cairo.Font_options.t
Retrieves any font rendering options previously set with
set_font_options
. This function does not report options that are derived from the target surface byupdate_context
.
val create_context : Cairo.context -> Pango.context
Creates 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 -> unit
Updates 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 callcontext_changed
on those layouts.
val create_layout : Cairo.context -> Pango.layout
create_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 likePango.Layout.get_size
or drawing with functions likeshow_layout
. If you change the transformation or target surface forcr
, you need to callupdate_layout
.
val update_layout : Cairo.context -> Pango.layout -> unit
update_layout cr layout
updates the privatePango.context
oflayout
created withcreate_layout
to match the current transformation and target surface of a Cairo contextcr
.
val show_layout : Cairo.context -> Pango.layout -> unit
show_layout cr layout
draws alayout
in the specified cairo contextcr
. The top-left corner oflayout
will be drawn at the current point of the cairo context.
val show_error_underline : Cairo.context -> float -> float -> w:float -> h:float -> unit
show_error_underline cr x y w h
draw a squiggly line in the cairo contextcr
that approximately covers the given rectangle in the style of an underline used to indicate a spelling error. (The widthw
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 -> unit
layout_path cr layout
adds the text in alayout
to the current path incr
. The top-left corner of thelayout
will be at the current point of the cairo context.
val error_underline_path : Cairo.context -> float -> float -> w:float -> h:float -> unit
error_underline_path cr x y w h
add a squiggly line to the current path in the cairo contextcr
that approximately covers the given rectangle in the style of an underline used to indicate a spelling error. (The widthw
of the underline is rounded to an integer number of up/down segments and the resulting rectangle is centered in the original rectangle).