/* @(#)Z 1.6 com/src/imaging/idl/CanvasB.idl, odimaging, od96nt, odnt9712d 97/03/21 16:44:38 (96/10/29 09:25:48) */

/********************************************************************/
/*  Licensed Materials - Property of IBM                            */
/*                                                                  */
/*                                                                  */
/* Copyright (C) International Business Machines Corp., 1994.       */
/* Copyright (C) Apple Computer, Inc., 1994                         */
/*                                                                  */
/*  US Government Users Restricted Rights -                         */
/*  Use, duplication, or disclosure restricted                      */
/*  by GSA ADP Schedule Contract with IBM Corp.                     */
/*                                                                  */
/*                                                                  */
/********************************************************************/

#ifndef _CANVASB_
#define _CANVASB_

#ifndef _ODOBJECT_
#include "ODObject.idl"      
#endif

//==============================================================================
// Classes defined in this interface
//==============================================================================

interface  ODBaseCanvas;

//==============================================================================
// Classes used in this interface
//==============================================================================

interface  ODPart;
interface  ODFacet;
interface  ODShape;
interface  ODTransform;

//==============================================================================
// ODCanvas
//==============================================================================

interface ODBaseCanvas :  ODObject
{
	ODBoolean			HasPlatformCanvas( in ODGraphicsSystem g );
	ODPlatformCanvas	GetPlatformCanvas( in ODGraphicsSystem g );
	void				SetPlatformCanvas( in ODGraphicsSystem g, in ODPlatformCanvas c );

	ODBoolean			HasPlatformPrintJob( in ODGraphicsSystem g );
	ODPlatformPrintJob	GetPlatformPrintJob( in ODGraphicsSystem g );
	void				SetPlatformPrintJob( in ODGraphicsSystem g, in ODPlatformPrintJob j );

	ODPart				AcquireOwner( );
	void				SetOwner( in ODPart owner);

	ODFacet				GetFacet( );
	void				SetFacet( in ODFacet facet);

	ODTransform			AcquireBiasTransform( );
	void				SetBiasTransform( in ODTransform x );

	ODBoolean			IsDynamic( );
	ODBoolean			IsOffscreen( );

	ODShape				AcquireUpdateShape( );
	void				ResetUpdateShape( );

	void				Invalidate( in ODShape shape);
	void				Validate( in ODShape shape);


#ifdef __SOMIDL__
	implementation
	{
		override:
			somUninit;

		releaseorder:
			HasPlatformCanvas,
			GetPlatformCanvas,
			SetPlatformCanvas,
			HasPlatformPrintJob,
			GetPlatformPrintJob,
			SetPlatformPrintJob,
			AcquireOwner,
			SetOwner,
			GetFacet,
			SetFacet,
			IsDynamic,
			IsOffscreen,
			AcquireUpdateShape,
			ResetUpdateShape,
			AcquireBiasTransform,
			SetBiasTransform,
			Invalidate,
			Validate,
			reserved1,
			reserved2;

		majorversion = 1; minorversion = 0;

		functionprefix = ODBaseCanvas;

	};
#endif
};

#endif 

