`sig
val get_type :
[> `Any ] Cairo.pattern ->
[ `Any | `Linear | `Radial | `Solid | `Surface ]
val downcast_to_solid : [> `Any ] Cairo.pattern -> Cairo.solid_pattern
val downcast_to_surface : [> `Any ] Cairo.pattern -> Cairo.surface_pattern
val downcast_to_gradient :
[> `Any ] Cairo.pattern -> Cairo.gradient_pattern
external create_rgb :
red:float -> green:float -> blue:float -> Cairo.solid_pattern
= "ml_cairo_pattern_create_rgb"
external create_rgba :
red:float ->
green:float -> blue:float -> alpha:float -> Cairo.solid_pattern
= "ml_cairo_pattern_create_rgba"
external create_for_surface :
[> `Any ] Cairo.surface -> Cairo.surface_pattern
= "ml_cairo_pattern_create_for_surface"
external create_linear :
x0:float -> y0:float -> x1:float -> y1:float -> Cairo.gradient_pattern
= "ml_cairo_pattern_create_linear"
external create_radial :
cx0:float ->
cy0:float ->
radius0:float ->
cx1:float -> cy1:float -> radius1:float -> Cairo.gradient_pattern
= "ml_cairo_pattern_create_radial_bc" "ml_cairo_pattern_create_radial"
external add_color_stop_rgb :
[> `Gradient ] Cairo.pattern ->
off:float -> red:float -> green:float -> blue:float -> unit
= "ml_cairo_pattern_add_color_stop_rgb"
external add_color_stop_rgba :
[> `Gradient ] Cairo.pattern ->
off:float ->
red:float -> green:float -> blue:float -> alpha:float -> unit
= "ml_cairo_pattern_add_color_stop_rgba_bc"
"ml_cairo_pattern_add_color_stop_rgba"
external set_matrix : [> `Any ] Cairo.pattern -> Cairo.matrix -> unit
= "ml_cairo_pattern_set_matrix"
external get_matrix : [> `Any ] Cairo.pattern -> Cairo.matrix
= "ml_cairo_pattern_get_matrix"
external set_extend : [> `Surface ] Cairo.pattern -> Cairo.extend -> unit
= "ml_cairo_pattern_set_extend"
external get_extend : [> `Surface ] Cairo.pattern -> Cairo.extend
= "ml_cairo_pattern_get_extend"
external set_filter : [> `Surface ] Cairo.pattern -> Cairo.filter -> unit
= "ml_cairo_pattern_set_filter"
external get_filter : [> `Surface ] Cairo.pattern -> Cairo.filter
= "ml_cairo_pattern_get_filter"
end`