# Module GlMap

    module GlMap: sig .. end

    type target = [ `color_4
           | `index
           | `normal
           | `texture_coord_1
           | `texture_coord_2
           | `texture_coord_3
           | `texture_coord_4
           | `vertex_3
           | `vertex_4 ]

    val map1 : target:target ->
           float * float -> order:int -> [ `double ] Raw.t -> unit

    val map2 : target:target ->
           float * float ->
           order:int -> float * float -> order:int -> [ `double ] Raw.t -> unit

    val eval_coord1 : float -> unit

    val eval_coord2 : float -> float -> unit

    val grid1 : n:int -> range:float * float -> unit

    val grid2 : n1:int -> range1:float * float -> n2:int -> range2:float * float -> unit

    val eval_mesh1 : mode:[ `line | `point ] -> range:int * int -> unit

    val eval_mesh2 : mode:[ `fill | `line | `point ] ->
           range1:int * int -> range2:int * int -> unit

    val eval_point1 : int -> unit

    val eval_point2 : int -> int -> unit