package patoline

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type glyph = {
  1. glyph_x : float;
  2. glyph_kx : float;
  3. glyph_y : float;
  4. glyph_ky : float;
  5. glyph_order : int;
  6. glyph_color : Color.color;
  7. glyph_size : float;
  8. glyph : Patfonts.Fonts.glyph;
}
type lineCap =
  1. | Butt_cap
  2. | Round_cap
  3. | Proj_square_cap
type lineJoin =
  1. | Miter_join
  2. | Round_join
  3. | Bevel_join
type path_param = {
  1. path_order : int;
  2. close : bool;
  3. strokingColor : Color.color option;
  4. fillColor : Color.color option;
  5. lineCap : lineCap;
  6. lineJoin : lineJoin;
  7. lineWidth : float;
  8. dashPattern : float list;
}
type path = path_param * Bezier.curve array list
val default_path_param : path_param
type image = {
  1. image_file : string;
  2. image_x : float;
  3. image_y : float;
  4. image_order : int;
  5. image_width : float;
  6. image_height : float;
  7. image_pixel_width : int;
  8. image_pixel_height : int;
}
val image : string -> image
type video = {
  1. video_file : string;
  2. video_x : float;
  3. video_y : float;
  4. video_order : int;
  5. video_height : float;
  6. video_width : float;
  7. video_pixel_width : int;
  8. video_pixel_height : int;
}
type raw =
  1. | Glyph of glyph
  2. | Path of path
  3. | Image of image
  4. | Video of video
  5. | Affine of affine
  6. | States of states
  7. | Animation of animation
  8. | Dynamic of raw list dynamic
and write = (string * Patutil.Util.visibility) list
and button_kind =
  1. | Click of unit -> write
  2. | Drag of (float * float) -> bool -> write
  3. | Edit of string * string * string -> write
  4. | Menu of ((unit -> write) * raw list) list
and affine = {
  1. affine_matrix : float array array;
  2. affine_contents : raw list;
  3. affine_order : int;
}
and states = {
  1. states_contents : raw list;
  2. states_states : int list;
  3. states_order : int;
}
and animation = {
  1. anim_contents : raw list array;
  2. anim_default : int;
  3. anim_step : float;
  4. anim_duration : float;
  5. anim_mirror : bool;
  6. anim_order : int;
}
and 'a dynamic = {
  1. dyn_label : string;
  2. dyn_contents : unit -> 'a;
  3. dyn_sample : 'a;
  4. dyn_order : int;
}
val states : int list -> raw list -> raw
val affine : float array array -> raw list -> raw
val rotation_matrix : float -> float array array
val rotate : float -> raw list -> raw
val in_order : int -> raw -> raw
val drawing_order : raw -> int
val in_state : int -> raw list -> raw list
val translate : float -> float -> raw -> raw
val resize : float -> raw -> raw
val affine_path_transform : float array array -> (float array * float array) array list -> (float array * float array) array list
val rectangle : ('a * 'b) -> ('a * 'b) -> ('a array * 'b array) array
val line : ('a * 'b) -> ('a * 'b) -> 'a array * 'b array
val circle : float -> (float array * float array) array
val toPaths : raw -> Bezier.curve array list
type bounding_box_opt = {
  1. ignore_negative_abcisse : bool;
  2. ignore_after_glyphWidth : bool;
  3. ignore_under_base_line : bool;
}
val paths_bounding_box : float -> float -> float -> float -> (float array * float array) array list -> float * float * float * float
val glyph_bounding_box : bounding_box_opt -> glyph -> float * float * float * float
val bounding_box_opt : bounding_box_opt -> raw list -> float * float * float * float
val bounding_box : raw list -> float * float * float * float
val bounding_box_kerning : raw list -> float * float * float * float
val bounding_box_full : raw list -> float * float * float * float
val drawing_sort : raw list -> raw list
val sort_raw : raw list -> raw list
val print_raw : out_channel -> raw -> unit