Skip to content
This repository has been archived by the owner on May 14, 2022. It is now read-only.

Things about Mupdf source code

xiangxw edited this page Mar 18, 2012 · 12 revisions

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)