sig
type fpoint = float * float
type winding_rule = EvenOdd | NonZero
type segment =
Straight of Pdfgraphics.fpoint * Pdfgraphics.fpoint
| Bezier of Pdfgraphics.fpoint * Pdfgraphics.fpoint *
Pdfgraphics.fpoint * Pdfgraphics.fpoint
type hole = Hole | Not_hole
type closure = Closed | Open
type subpath =
Pdfgraphics.hole * Pdfgraphics.closure * Pdfgraphics.segment list
type path = Pdfgraphics.winding_rule * Pdfgraphics.subpath list
val string_of_path : Pdfgraphics.path -> string
type tiling = Tiling
type function_shading = {
funshading_domain : float * float * float * float;
funshading_matrix : Pdftransform.transform_matrix;
funshading_function : Pdffun.t;
}
type radial_shading = {
radialshading_coords : float * float * float * float * float * float;
radialshading_domain : float * float;
radialshading_function : Pdffun.t list;
radialshading_extend : bool * bool;
}
type axial_shading = {
axialshading_coords : float * float * float * float;
axialshading_domain : float * float;
axialshading_function : Pdffun.t list;
axialshading_extend : bool * bool;
}
type shading_kind =
FunctionShading of Pdfgraphics.function_shading
| AxialShading of Pdfgraphics.axial_shading
| RadialShading of Pdfgraphics.radial_shading
| FreeFormGouraudShading
| LatticeFormGouraudShading
| CoonsPatchMesh
| TensorProductPatchMesh
type shading = {
shading_colourspace : Pdf.pdfobject;
shading_background : Pdf.pdfobject option;
shading_bbox : Pdf.pdfobject option;
shading_antialias : bool;
shading_matrix : Pdftransform.transform_matrix;
shading_extgstate : Pdf.pdfobject;
shading : Pdfgraphics.shading_kind;
}
type pattern =
ColouredTilingPattern of Pdfgraphics.tiling
| UncolouredTilingPattern of Pdfgraphics.tiling
| ShadingPattern of Pdfgraphics.shading
type colvals =
Floats of float list
| Named of (string * float list)
| Pattern of Pdfgraphics.pattern
type transparency_attributes = {
fill_transparency : float;
line_transparency : float;
}
type path_attributes = {
path_transform : Pdftransform.transform_matrix;
path_fill : (Pdfspace.t * Pdfgraphics.colvals) option;
path_line : (Pdfspace.t * Pdfgraphics.colvals) option;
path_linewidth : float;
path_joinstyle : int;
path_capstyle : int;
path_dash : float list * float;
path_mitrelimit : float;
path_transparency : Pdfgraphics.transparency_attributes;
path_intent : string;
}
type text_attributes = { textmode : int; }
type textblock_attributes = {
textblock_transform : Pdftransform.transform_matrix;
}
type textblock = Pdfgraphics.text_attributes * Pdfops.t
type image_attributes = {
image_transform : Pdftransform.transform_matrix;
image_transparency : float;
image_softmask : Pdfgraphics.softmask option;
}
and softmask_subtype = Alpha | Luminosity
and transparency_group = {
tr_group_colourspace : Pdf.pdfobject option;
isolated : bool;
knockout : bool;
tr_graphic : Pdfgraphics.t;
}
and softmask = {
softmask_subtype : Pdfgraphics.softmask_subtype;
transparency_group : Pdfgraphics.transparency_group;
softmask_bbox : float * float * float * float;
backdrop : float list option;
softmask_transfer : Pdffun.t option;
}
and fontname = string * Pdf.pdfobject
and graphic_elt =
Path of (Pdfgraphics.path * Pdfgraphics.path_attributes)
| Text of Pdfgraphics.textblock list * Pdfgraphics.textblock_attributes
| MCPoint of string
| MCPointProperties of string * Pdf.pdfobject
| MCSection of string * Pdfgraphics.graphic_elt list
| MCSectionProperties of string * Pdf.pdfobject *
Pdfgraphics.graphic_elt list
| Image of Pdfgraphics.image_attributes * int
| GraphicInlineImage of Pdf.pdfobject * Pdfio.bytes *
Pdftransform.transform_matrix
| Clip of Pdfgraphics.path * Pdfgraphics.graphic_elt list
| Shading of Pdfgraphics.path option * Pdfgraphics.shading *
Pdftransform.transform_matrix
and t = {
elements : Pdfgraphics.graphic_elt list;
fonts : Pdfgraphics.fontname list;
resources : Pdf.pdfobject;
}
val bbox_of_graphic : Pdfgraphics.t -> float * float * float * float
val graphic_of_page : Pdf.t -> Pdfpage.t -> Pdfgraphics.t
val graphic_of_ops : Pdfops.t list -> Pdfgraphics.t
val page_of_graphic :
Pdf.t -> float * float * float * float -> Pdfgraphics.t -> Pdfpage.t
val string_of_graphic : Pdfgraphics.t -> string
val ops_of_simple_graphic : Pdfgraphics.t -> Pdfops.t list
val streams_of_simple_graphic : Pdfgraphics.t -> Pdf.pdfobject list
val transform_graphic :
Pdftransform.transform_matrix -> Pdfgraphics.t -> Pdfgraphics.t
end