/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */
#ifndef com_sun_star_chart2_Symbol_idl
#define com_sun_star_chart2_Symbol_idl

#include <com/sun/star/drawing/PolyPolygonBezierCoords.idl>
#include <com/sun/star/awt/Size.idl>
#include <com/sun/star/graphic/XGraphic.idl>
#include <com/sun/star/chart2/SymbolStyle.idl>


module com {  module sun {  module star {  module chart2 {


/** properties that are used for DataSeries that display symbols.
 */
struct Symbol
{
    /** determines which of the following members determines the
        appearance of the symbol.
     */
    SymbolStyle                                         Style;

    /** The given polygon is used as symbol.
     */
    com::sun::star::drawing::PolyPolygonBezierCoords    PolygonCoords;

    /** Use the nth standard symbol, if #Style is set
        to SymbolStlye::STANDARD.

        <p>If n is the number of standard symbols available in an
        implementation, the symbol number is
        #StandardSymbol modulo n.</p>

        <p>The default implementation for example currently uses 8 different
        standard symbols that are matched to the numbers 0 to 7.

        <table border=1>
        <tr><th>&nbsp;value StandardSymbol&nbsp;</th><th>&nbsp;visible Symbol&nbsp;</th></tr>
        <tr><td><code>0</code></td><td>square</td></tr>
        <tr><td><code>1</code></td><td>diamond</td></tr>
        <tr><td><code>2</code></td><td>down arrow</td></tr>
        <tr><td><code>3</code></td><td>up arrow</td></tr>
        <tr><td><code>4</code></td><td>right arrow</td></tr>
        <tr><td><code>5</code></td><td>left arrow</td></tr>
        <tr><td><code>6</code></td><td>bowtie</td></tr>
        <tr><td><code>7</code></td><td>sandglass</td></tr>
        </table>

        </p>
     */
    long                                                StandardSymbol;

    /** use this graphic as symbol
     */
    com::sun::star::graphic::XGraphic                   Graphic;

    /** The size of the symbol in 100th of a mm.

        @todo use a structure using doubles instead of longs
     */
    com::sun::star::awt::Size                           Size;

    /** The color used for drawing the border of symbols.

        <p>Only effective if #Style is
        SymbolStyle::AUTO,
        SymbolStyle::STANDARD or
        SymbolStyle::POLYGON.</p>
     */
    long                                                BorderColor;

    /** The color used for filling symbols that contain closed polygons.

        <p>Only effective if #Style is
        SymbolStyle::AUTO,
        SymbolStyle::STANDARD or
        SymbolStyle::POLYGON.</p>
     */
    long                                                FillColor;
};


}; }; }; };

#endif

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