Legend:
Library
Module
Module type
Parameter
Class
Class type
Library
Module
Module type
Parameter
Class
Class type
Module for text rendering. Text is rendered using a glyph bitmap. The default bitmap size is 2048x2048. It is possible to run out of space in this bitmap so try to be conservative with font sizes and number of fonts. Glyphs are grouped by font, size, and blur. A glyph will be rendered once per combination of properties.
val text : t -> x:float -> y:float -> ?start:int -> ?end_:int -> string -> unit
Draw a text substring with the current font at the specified location.
val text_w :
t ->
x:float ->
y:float ->
?start:int ->
?end_:int ->
string ->
float
Same as text
except it returns the rendered length.
val set_size : t -> size:float -> unit
Set the font size in pixel units. Warning: If this font size has not been used yet the glyphs will be generated on demand. This may cause a performance hit on the first rendering at this size. Try to avoid using many different sizes.
val set_blur : t -> blur:float -> unit
Set the current blur, in pixel units
val set_line_height : t -> height:float -> unit
Set the spacing between lines
val set_letter_spacing : t -> spacing:float -> unit
Set the spacing between letters
Set the alignment for rendered text. This changes the x,y origin for the rendered text.
val set_font_face : t -> name:string -> unit
Change the font by name
val set_font_face_id : t -> id:int -> unit
Change the font by id
val break_lines :
t ->
break_width:float ->
max_rows:int ->
?start:int ->
?end_:int ->
lines:text_row array ->
string ->
int
Layout lines of text in break_width
size rows.
val make_empty_rows : int -> text_row array
Helper function to initialize an empty array of rows
Used to get glyph positions within a rendered string. Can be used for selections or other screen based picking.
val empty_glyph_position : glyph_position
A glyph_position
initialized to all zeros.
val glyph_positions :
t ->
x:float ->
y:float ->
?start:int ->
?end_:int ->
glyphs:glyph_position array ->
string ->
int
val text_box :
t ->
x:float ->
y:float ->
break_width:float ->
?start:int ->
?end_:int ->
string ->
unit
val add_fallback : t -> name:string -> fallback:string -> unit
val reset_fallback : t -> name:string -> unit