| File lib/ocaml/pkg-lib/camlimages/fttext.mli | GODI Package godi-camlimages |
| Library camlimages |
| fttext.cmi_pretty | fttext.mli | Sources |
(***********************************************************************) (* *) (* Objective Caml *) (* *) (* Jun Furuse, projet Cristal, INRIA Rocquencourt *) (* *) (* Copyright 1999-2004, *) (* Institut National de Recherche en Informatique et en Automatique. *) (* Distributed only by permission. *) (* *) (***********************************************************************) (* $Id: fttext.mli,v 1.11 2004/09/07 07:31:03 weis Exp $ *) open Images;; open Color;; open Freetype;; (* the type for actual drawing functions and some samples *) type 'a drawer = 'a -> int -> 'a;; val func_darken_only : rgb drawer;; val func_red_only : rgb drawer;; val unicode_of_latin : string -> int array;; val unicode_of_euc_japan : string -> int array;; (* general drawing function *) val draw_rotated_text : float -> (int -> int -> int -> unit) -> face -> int -> int -> int array -> unit;; val draw_rotated_glyphs : float -> (int -> int -> int -> unit) -> face -> int -> int -> char_index array -> unit;; val draw_text : (int -> int -> int -> unit) -> face -> int -> int -> int array -> unit;; val draw_glyphs : (int -> int -> int -> unit) -> face -> int -> int -> char_index array -> unit;; val draw_mono_rotated_text : float -> (int -> int -> int -> unit) -> face -> int -> int -> int array -> unit;; val draw_mono_rotated_glyphs : float -> (int -> int -> int -> unit) -> face -> int -> int -> char_index array -> unit;; val draw_mono_text : (int -> int -> int -> unit) -> face -> int -> int -> int array -> unit;; val draw_mono_glyphs : (int -> int -> int -> unit) -> face -> int -> int -> char_index array -> unit;; module type T = sig type t type elt val create : int -> int -> t val destroy : t -> unit val get : t -> int -> int -> elt val set : t -> int -> int -> elt -> unit val unsafe_get : t -> int -> int -> elt val unsafe_set : t -> int -> int -> elt -> unit end;; module Make(T : T) : sig (* Draw texts *) (* [draw face drawer image x y text] *) (* Draw a text on image at (x,y), using drawer function *) (* text must be encoded by some encoder and translated into int array *) val draw_text : Freetype.face -> T.elt drawer -> T.t -> int -> int -> int array -> unit (* Draw rotated texts *) (* [draw_rotated face drawer image x y r text] *) (* Draw a text on image at (x,y) rotated r *) (* Drawn text is automatically smoothed *) val draw_rotated_text : Freetype.face -> T.elt drawer -> T.t-> int -> int -> float -> int array -> unit val draw_glyphs : Freetype.face -> T.elt drawer -> T.t -> int -> int -> char_index array -> unit val draw_rotated_glyphs : Freetype.face -> T.elt drawer -> T.t-> int -> int -> float -> char_index array -> unit (* Monochrome (black/white) drawing *) val draw_mono_text : Freetype.face -> T.elt drawer -> T.t -> int -> int -> int array -> unit val draw_mono_rotated_text : Freetype.face -> T.elt drawer -> T.t-> int -> int -> float -> int array -> unit val draw_mono_glyphs : Freetype.face -> T.elt drawer -> T.t -> int -> int -> char_index array -> unit val draw_mono_rotated_glyphs : Freetype.face -> T.elt drawer -> T.t-> int -> int -> float -> char_index array -> unit end;; (* Get the size information of text *) val size : Freetype.face -> int array -> float * float * float * float;; val size_of_glyphs : Freetype.face -> char_index array -> float * float * float * float;; (* Vector based *) val vector_gen : (Freetype.face -> 'a -> 'b list -> float * float) -> bool -> float -> (Freetype.outline_contents -> 'c) -> Freetype.face -> float -> float -> 'a array -> unit;; val vector_text : bool -> (Freetype.outline_contents -> 'a) -> Freetype.face -> float -> float -> float -> int array -> unit;; val vector_glyphs : bool -> (Freetype.outline_contents -> 'a) -> Freetype.face -> float -> float -> float -> Freetype.char_index array -> unit;;