/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2000, 2010 Oracle and/or its affiliates.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org 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 version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
#ifndef __com_sun_star_drawing_GluePoint2_idl__
#define __com_sun_star_drawing_GluePoint2_idl__

#include <com/sun/star/drawing/Alignment.idl>
#include <com/sun/star/awt/Point.idl>
#include <com/sun/star/drawing/EscapeDirection.idl>

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

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

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

/** This struct defines the attributes of a glue point.
    <p>A glue point is a position inside a drawing shape where an edge
    of a connector shape can be connected.</p>
 */
published struct GluePoint2
{
    /** This is the position of this glue point. Depending on
        the flag <code>IsRelative</code>, this is either in 1/100cm
        or in 1/100%.

    <!-- Dennis: Is the % correct? -->
     */
    com::sun::star::awt::Point Position;

    /** if this flag is set to true, the position of this glue point
        is given in 1/100% values instead of 1/100cm. */
    boolean IsRelative;

    /** if this glue points position is not relative, this enum
        specifies the vertical and horizontal alignment of this
        point. The alignment specifies how the glue point is
        moved if the shape is resized. */
    com::sun::star::drawing::Alignment PositionAlignment;

    /** this member specifies the escape direction for a glue
        point. The escape direction is the direction the connecting
        line escapes the shape. */

    com::sun::star::drawing::EscapeDirection Escape;

    /** if this flag is set to false, this is a default glue
        point. Some shapes may have default glue points attached
        to them which cannot be altered or removed. */
    boolean IsUserDefined;
};

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

}; }; }; };

#endif

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
