package virtual_dom

  1. Overview
  2. Docs
type align_options =
  1. | None
  2. | X_max_y_max
  3. | X_max_y_mid
  4. | X_max_y_min
  5. | X_mid_y_max
  6. | X_mid_y_mid
  7. | X_mid_y_min
  8. | X_min_y_max
  9. | X_min_y_mid
  10. | X_min_y_min
type units =
  1. | Object_bounding_box
  2. | User_space_on_use
type angle =
  1. | Deg of float
  2. | Grad of float
  3. | Rad of float
  4. | Turn of float
type path_op =
  1. | Move_to_abs of {
    1. x : float;
    2. y : float;
    }
  2. | Move_to_rel of {
    1. x : float;
    2. y : float;
    }
  3. | Line_to_abs of {
    1. x : float;
    2. y : float;
    }
  4. | Line_to_rel of {
    1. x : float;
    2. y : float;
    }
  5. | Arc_to_abs of {
    1. rx : float;
    2. ry : float;
    3. x_axis_rotation : float;
    4. large_arc : bool;
    5. sweep : bool;
    6. x : float;
    7. y : float;
    }
  6. | Arc_to_rel of {
    1. rx : float;
    2. ry : float;
    3. x_axis_rotation : float;
    4. large_arc : bool;
    5. sweep : bool;
    6. dx : float;
    7. dy : float;
    }
  7. | Cubic_abs of {
    1. x1 : float;
    2. y1 : float;
    3. x2 : float;
    4. y2 : float;
    5. x : float;
    6. y : float;
    }
  8. | Cubic_rel of {
    1. x1 : float;
    2. y1 : float;
    3. x2 : float;
    4. y2 : float;
    5. x : float;
    6. y : float;
    }
  9. | Cubic_smooth_abs of {
    1. x2 : float;
    2. y2 : float;
    3. x : float;
    4. y : float;
    }
  10. | Cubic_smooth_rel of {
    1. x2 : float;
    2. y2 : float;
    3. x : float;
    4. y : float;
    }
  11. | Quadratic_abs of {
    1. x1 : float;
    2. y1 : float;
    3. x : float;
    4. y : float;
    }
  12. | Quadratic_rel of {
    1. x1 : float;
    2. y1 : float;
    3. x : float;
    4. y : float;
    }
  13. | Quadratic_smooth_abs of {
    1. x : float;
    2. y : float;
    }
  14. | Quadratic_smooth_rel of {
    1. x : float;
    2. y : float;
    }
  15. | Close_path
type transform_op =
  1. | Matrix of float * float * float * float * float * float
  2. | Translate of {
    1. dx : float;
    2. dy : float;
    }
  3. | Scale of {
    1. sx : float;
    2. sy : float;
    }
  4. | Rotate of {
    1. a : [ `Deg of float ];
    2. x : float;
    3. y : float;
    }
  5. | Skew_x of float
  6. | Skew_y of float
val viewbox : min_x:float -> min_y:float -> width:float -> height:float -> Virtual_dom.Vdom.Attr.t

<a>

val href : string -> Virtual_dom.Vdom.Attr.t

many things

val transform : transform_op list -> Virtual_dom.Vdom.Attr.t

<circle>

val cx : float -> Virtual_dom.Vdom.Attr.t
val cy : float -> Virtual_dom.Vdom.Attr.t
val r : float -> Virtual_dom.Vdom.Attr.t

nothing for <defs>

<ellipse>

shares cx and cy with circle

val rx : float -> Virtual_dom.Vdom.Attr.t
val ry : float -> Virtual_dom.Vdom.Attr.t

nothing for <g>

<image>

val x : float -> Virtual_dom.Vdom.Attr.t
val y : float -> Virtual_dom.Vdom.Attr.t
val width : float -> Virtual_dom.Vdom.Attr.t
val height : float -> Virtual_dom.Vdom.Attr.t
val preserve_aspect_ratio : align:align_options -> ?meet_or_slice:[ `Meet | `Slice ] -> unit -> Virtual_dom.Vdom.Attr.t

<line>

val x1 : float -> Virtual_dom.Vdom.Attr.t
val x2 : float -> Virtual_dom.Vdom.Attr.t
val y1 : float -> Virtual_dom.Vdom.Attr.t
val y2 : float -> Virtual_dom.Vdom.Attr.t

<linearGradient>

shares href with <a>, x1, x2, y1, y2 with <line>

val gradient_units : units -> Virtual_dom.Vdom.Attr.t
val gradient_transform : transform_op list -> Virtual_dom.Vdom.Attr.t

<marker>

viewBox is shared with <svg>, preserveAspecteRatio is shared with <image>

val marker_height : float -> Virtual_dom.Vdom.Attr.t
val marker_width : float -> Virtual_dom.Vdom.Attr.t
val marker_units : units -> Virtual_dom.Vdom.Attr.t
val orient : [ `Angle of angle | `Auto | `Auto_start_reverse ] -> Virtual_dom.Vdom.Attr.t
val refX : float -> Virtual_dom.Vdom.Attr.t
val refY : float -> Virtual_dom.Vdom.Attr.t

<mask>

shares width, height, x, and y with <image>

val mask_units : units -> Virtual_dom.Vdom.Attr.t
val mask_content_units : units -> Virtual_dom.Vdom.Attr.t

<path>

<polygon>

val points : (float * float) list -> Virtual_dom.Vdom.Attr.t
val fill : [ `Url of string | Css_gen.Color.t ] -> Virtual_dom.Vdom.Attr.t
val stroke_width : float -> Virtual_dom.Vdom.Attr.t
val stroke_linecap : [ `Butt | `Round | `Square ] -> Virtual_dom.Vdom.Attr.t
val stroke_dasharray : float list -> Virtual_dom.Vdom.Attr.t

<polyline>

shares points with <polygon>

<radialGradient>

shares spreadMethod with <linearGradient> shares cx, cy, r with <circle>

val fx : float -> Virtual_dom.Vdom.Attr.t
val fy : float -> Virtual_dom.Vdom.Attr.t
val fr : float -> Virtual_dom.Vdom.Attr.t
val spread_method : [ `Pad | `Reflect | `Repeat ] -> Virtual_dom.Vdom.Attr.t

Nothing to do for <rect> because shares x, y, rx and ry width, height with <image>

<stop>

nothing to do for <style>

Nothing to do for <symbol> as refX and refY is shared with <marker>, viewBox is shared with <svg>, x, y, width, and height are shared with <image>,

<text>

x and y is shared with <image>

val dx : float -> Virtual_dom.Vdom.Attr.t
val dy : float -> Virtual_dom.Vdom.Attr.t
module Text : sig ... end