`sig
val cast : 'a Gobject.obj -> Gtk.curve Gtk.obj
module P :
sig
val curve_type : ([> `curve ], GtkEnums.curve_type) Gobject.property
val max_x : ([> `curve ], float) Gobject.property
val max_y : ([> `curve ], float) Gobject.property
val min_x : ([> `curve ], float) Gobject.property
val min_y : ([> `curve ], float) Gobject.property
end
val create : Gtk.curve Gobject.param list -> Gtk.curve Gtk.obj
external reset : [> `curve ] Gtk.obj -> unit = "ml_gtk_curve_reset"
external set_gamma : [> `curve ] Gtk.obj -> int -> unit
= "ml_gtk_curve_set_gamma"
external set_vector : [> `curve ] Gtk.obj -> float array -> unit
= "ml_gtk_curve_set_vector"
external get_vector : [> `curve ] Gtk.obj -> int -> float array
= "ml_gtk_curve_get_vector"
val make_params :
cont:(([> `curve ] as 'a) Gobject.param list -> 'b) ->
'a Gobject.param list ->
?curve_type:GtkEnums.curve_type ->
?max_x:float -> ?max_y:float -> ?min_x:float -> ?min_y:float -> 'b
end`