-
Notifications
You must be signed in to change notification settings - Fork 28
/
pdfspace.mli
39 lines (32 loc) · 1.23 KB
/
pdfspace.mli
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
(** Colour Spaces *)
(** A Tristimulus Point *)
type point = float * float * float
(** ICC Based Colour Spaces *)
type iccbased =
{icc_n : int;
icc_alternate : t;
icc_range : float array;
icc_metadata : Pdf.pdfobject option;
icc_stream : Pdf.pdfobject}
(** Colour spaces *)
and t =
| DeviceGray
| DeviceRGB
| DeviceCMYK
| CalGray of point * point * float (* White, Black, Gamma *)
| CalRGB of point * point * float array * float array (* White, Black, Gamma, Matrix *)
| Lab of point * point * float array (* White, Black, Range *)
| ICCBased of iccbased
| Indexed of t * (int, int list) Hashtbl.t (* Base colourspace, lookup table *)
| Pattern
| PatternWithBaseColourspace of t
| Separation of string * t * Pdffun.t
| DeviceN of string array * t * Pdffun.t * Pdf.pdfobject
(** Produce a debug string *)
val string_of_colourspace : t -> string
(** Read the name of a colour, if it has one. *)
val name_of_colourspace : t -> string option
(** Read a colourspace from a PDF given a document, page resources dictionary and the colourspace object *)
val read_colourspace : Pdf.t -> Pdf.pdfobject -> Pdf.pdfobject -> t
(** Write a colourspace to a PDF, returning it. *)
val write_colourspace : Pdf.t -> t -> Pdf.pdfobject