/*
 * 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 .
 */

//item String XFillAttrSetItem; SfxSetItem!
struct XFillBitmap
{
    String  Name        MID_NAME;
    String  GraphicsURL MID_GRAFURL;
//  com::sun::star::awt::XBitmap
};
item XFillBitmap XFillBitmapItem;

item INT32  XFillColorItem;             // XColorItem

enum SvxGradientStyle
{
    SVX_GRADIENTSTYLE_LINEAR,
    SVX_GRADIENTSTYLE_AXIAL,
    SVX_GRADIENTSTYLE_RADIAL,
    SVX_GRADIENTSTYLE_ELLIPTICAL,
    SVX_GRADIENTSTYLE_SQUARE,
    SVX_GRADIENTSTYLE_RECT
};

struct XFillGradient
{
    String              Name            MID_NAME;
    //  com::sun::star::awt::Gradient
    SvxGradientStyle    Style           MID_GRADIENT_STYLE;
    INT32               StartColor      MID_GRADIENT_STARTCOLOR;
    INT32               EndColor        MID_GRADIENT_ENDCOLOR;
    INT16               Angle           MID_GRADIENT_ANGLE;
    INT16               Border          MID_GRADIENT_BORDER;
    INT16               XOffset         MID_GRADIENT_XOFFSET;
    INT16               YOffset         MID_GRADIENT_YOFFSET;
    INT16               StartIntensity  MID_GRADIENT_STARTINTENSITY;
    INT16               EndIntensity    MID_GRADIENT_ENDINTENSITY;
    INT16               StepCount       MID_GRADIENT_STEPCOUNT;
};
item XFillGradient XFillGradientItem;

enum SvxHatchStyle
{
    SVX_HATCHSTYLE_SINGLE,
    SVX_HATCHSTYLE_DOUBLE,
    SVX_HATCHSTYLE_TRIPLE
};

struct XFillHatch
{
    String              Name            MID_NAME;
    //  com::sun::star::drawing::Hatch
    SvxHatchStyle       Style           MID_HATCH_STYLE;
    INT32               Color           MID_HATCH_COLOR;
    INT32               Distance        MID_HATCH_DISTANCE;
    INT32               Angle           MID_HATCH_ANGLE;
};
item XFillHatch XFillHatchItem;

enum SvxFillStyle
{
    SVX_FILLSTYLE_NONE,
    SVX_FILLSTYLE_SOLID,
    SVX_FILLSTYLE_GRADIENT,
    SVX_FILLSTYLE_HATCH,
    SVX_FILLSTYLE_BITMAP
};

item SvxFillStyle XFillStyleItem;

//item String XLineAttrSetItem; SfxSetItem!

item INT32  XLineColorItem;

enum SvxDashStyle
{
    SVX_DASHSTYLE_RECT,
    SVX_DASHSTYLE_ROUND,
    SVX_DASHSTYLE_RECTRELATIVE,
    SVX_DASHSTYLE_ROUNDRELATIVE
};

struct XLineDash
{
    String          Name        MID_NAME;
    //  com::sun::star::drawing::LineDash
    SvxDashStyle    Style       MID_LINEDASH_STYLE;
    INT16           Dots        MID_LINEDASH_DOTS;
    INT32           DotLen      MID_LINEDASH_DOTLEN;
    INT16           Dashes      MID_LINEDASH_DASHES;
    INT32           DashLen     MID_LINEDASH_DASHLEN;
    INT32           Distance    MID_LINEDASH_DISTANCE;
};
item XLineDash XLineDashItem;

struct XLineEnd
{
    String  Name        MID_NAME;
//  com::sun::star::drawing::PolyPolygonBezierCoords
};
item XLineEnd XLineEndItem;

struct XLineStart
{
    String  Name        MID_NAME;
//  com::sun::star::drawing::PolyPolygonBezierCoords
};
item XLineStart XLineStartItem;

enum SvxLineStyle
{
    SVX_LINESTYLE_NONE,
    SVX_LINESTYLE_SOLID,
    SVX_LINESTYLE_DASH
};
item SvxLineStyle XLineStyleItem;

enum SvxLineJoint
{
    // com::sun::star::drawing::LineJoint
    SVX_LINEJOINT_NONE,     // no rounding
    SVX_LINEJOINT_MIDDLE,   // calc middle value between joints
    SVX_LINEJOINT_BEVEL,    // join edges with line
    SVX_LINEJOINT_MITER,    // extend till cut
    SVX_LINEJOINT_ROUND     // create arc
};

item SvxLineJoint XLineJointItem;

enum SvxLineCap
{
    // com::sun::star::drawing::LineCap
    SVX_LINECAP_BUTT,
    SVX_LINECAP_ROUND,
    SVX_LINECAP_SQUARE
};

item SvxLineCap XLineCapItem;

item INT32  XLineWidthItem;
item INT32  XFormTextStyleItem;
item INT32  XFormTextAdjustItem;

item INT32  XFormTextDistanceItem;      // SfxInt32Item
item INT32  XFormTextStartItem;         // SfxInt32Item
item BOOL   XFormTextMirrorItem;        // SfxBoolItem

item BOOL   XFormTextHideFormItem;      // SfxBoolItem
item BOOL   XFormTextOutlineItem;       // SfxBoolItem
item INT32  XFormTextShadowItem;        // SfxEnumItem
item INT32  XFormTextShadowColorItem;   // XColorItem
item INT32  XFormTextShadowXValItem;    // SfxMetricItem/SfxInt32Item
item INT32  XFormTextShadowYValItem;    // SfxMetricItem/SfxInt32Item

item XFillGradient XFillFloatTransparenceItem;  // XFillGradient

// eof