Things about Mupdf source code - xiangxw/mupdf-qt GitHub Wiki
pdf_xref
struct pdf_xref_s
{
fz_stream *file;
int version;
int startxref;
int file_size;
pdf_crypt *crypt;
fz_obj *trailer;
int len;
pdf_xref_entry *table;
int page_len;
int page_cap;
fz_obj **page_objs;
fz_obj **page_refs;
struct pdf_store_s *store;
char scratch[65536];
};
fz_page
struct pdf_page_s
{
fz_rect mediabox;
int rotate;
int transparency;
fz_obj *resources;
fz_buffer *contents;
pdf_link *links;
pdf_annot *annots;
};
fz_pixmap
/*
* Pixmaps have n components per pixel. the last is always alpha.
* premultiplied alpha when rendering, but non-premultiplied for colorspace
* conversions and rescaling.
*/
struct fz_pixmap_s
{
int refs;
int x, y, w/* width */, h/* height */, n/* n components per pixel, normally 4 for rgba */;
fz_pixmap *mask; /* explicit soft/image mask */
int interpolate;
int xres, yres;
fz_colorspace *colorspace;
unsigned char *samples; /* pixmap data, size: w * h * 4, format rgba */
int free_samples;
};
fz_matrix
struct fz_matrix_s
{
float a, b, c, d, e, f;
};
(see CTM from Things about PDF file)