/*************************************************************************
 *
 *  OpenOffice.org - a multi-platform office productivity suite
 *
 *  $RCSfile: EnhancedCustomShapePath.idl,v $
 *
 *  $Revision: 1.3 $
 *
 *  last change: $Author: rt $ $Date: 2005/09/07 23:31:33 $
 *
 *  The Contents of this file are made available subject to
 *  the terms of GNU Lesser General Public License Version 2.1.
 *
 *
 *    GNU Lesser General Public License Version 2.1
 *    =============================================
 *    Copyright 2005 by Sun Microsystems, Inc.
 *    901 San Antonio Road, Palo Alto, CA 94303, USA
 *
 *    This library is free software; you can redistribute it and/or
 *    modify it under the terms of the GNU Lesser General Public
 *    License version 2.1, as published by the Free Software Foundation.
 *
 *    This library is distributed in the hope that it will be useful,
 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
 *    Lesser General Public License for more details.
 *
 *    You should have received a copy of the GNU Lesser General Public
 *    License along with this library; if not, write to the Free Software
 *    Foundation, Inc., 59 Temple Place, Suite 330, Boston,
 *    MA  02111-1307  USA
 *
 ************************************************************************/
#ifndef __com_sun_star_drawing_EnhancedCustomShapePath_idl__
#define __com_sun_star_drawing_EnhancedCustomShapePath_idl__

#ifndef __com_sun_star_awt_Size_idl__ 
#include <com/sun/star/awt/Size.idl>
#endif
#ifndef __com_sun_star_awt_Point_idl__ 
#include <com/sun/star/awt/Point.idl>
#endif
#ifndef __com_sun_star_beans_PropertyValue_idl__
#include <com/sun/star/beans/PropertyValue.idl>
#endif
#ifndef __com_sun_star_drawing_EnhancedCustomShapeParameterPair_idl__
#include <com/sun/star/drawing/EnhancedCustomShapeParameterPair.idl>
#endif
#ifndef __sun_star_drawing_EnhancedCustomShapeSegment_idl__
#include <com/sun/star/drawing/EnhancedCustomShapeSegment.idl>
#endif
#ifndef __sun_star_drawing_EnhancedCustomShapeTextFrame_idl__
#include <com/sun/star/drawing/EnhancedCustomShapeTextFrame.idl>
#endif


//=============================================================================

module com { module sun { module star { module drawing { 

//=============================================================================
/**
  This service may be represented by a ::com::sun::star::beans::PropertyValue [].
*/

service EnhancedCustomShapePath
{
	/** This property is specifying the points that makes the geometry of the shape
	*/
	[optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeParameterPair> Coordinates;

	/** This property specifies the commands and the way the Coordinates have to be interpreted.
	*/
	[optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeSegment> Segments;

	/** This property specifies the horizontal StretchPoint that has to be used. No stretching is used if
	    this property is omitted.
	*/
	[optional, property] long StretchX;

	/** This property specifies the vertical StretchPoint that has to be used. No stretching is used if
		this property is omitted.
	*/
	[optional, property] long StretchY;

	/** This property specifies the text frames that can be used with the shape. In general
	   the first text frame is used, except the shape is containing vertical text, then the object 
	   tries to use the second text frame. The default text frame will be as big as the shape.
	*/
	[optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeTextFrame> TextFrames;

	/** This property specifies custom glue points
	*/
	[optional, property] sequence<::com::sun::star::drawing::EnhancedCustomShapeParameterPair> GluePoints;

	/** This property specifies GluePoint leaving directions.
	*/
	[optional, property] sequence< double > GluePointLeavingDirections;

	/** This property defines the GluePoint type. The values that can be used are
		specified in com::sun::star::drawing::EnhancedCustomShapeGluePointType
	*/
	[optional, property] short GluePointType;

	/** This property specifies if this shape supports the EnhancedCustomShapeExtrusion
		properties. The default is true.
	*/
	[optional, property] boolean ExtrusionAllowed;

	/** This property specifies if this shape supports concentric gradient fill. The default
		is false.
	*/
	[optional, property] boolean ConcentricGradientFillAllowed;

	/** This property specifies if this shape supports concentric gradient fill. The
		default is false;
	*/
	[optional, property] boolean TextPathAllowed;
};

//=============================================================================

}; }; }; }; 

#endif

