/*
 * bonobo-print.idl: Bonobo remote printing support
 *
 * Author:
 *    Michael Meeks (michael@helixcode.com)
 *
 * Copyright (C) 2000 Helix Code, Inc.
 */

#ifndef BONOBO_PRINT_IDL
#define BONOBO_PRINT_IDL

#include "Bonobo_Storage.idl"

module Bonobo {

	struct PrintScissor {
		double width_first_page,  width_per_page;
		double height_first_page, height_per_page;
	};

	struct PrintDimensions {
		double width, height;
	};

	interface Print : Bonobo::Unknown {
		/**
		 * render:
		 *
		 *   This returns a gnome-print Meta stream of the object
		 * rendered into an infinite page at the origin with size
		 * determined by the PrintDimensions. The PrintScissor tells
		 * it at what points it will be split across pages so it can
		 * adjust its rendering if required.
		 **/
		Stream render (in PrintDimensions pd,
		               in PrintScissor    scissor);
	};
};

#endif /* BONOBO_PRINT_IDL */
