44404b7a6c
Change-Id: Ied26925485b2be649cabafff338e6d78c7bd17b3
132 lines
4.5 KiB
Text
132 lines
4.5 KiB
Text
/* -*- 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_rendering_StrokeAttributes_idl__
|
|
#define __com_sun_star_rendering_StrokeAttributes_idl__
|
|
|
|
module com { module sun { module star { module rendering {
|
|
|
|
/** This structure contains all attributes required for path stroking.<p>
|
|
|
|
Path stroking is the process of drawing a polygon with a thick
|
|
pen. The various attributes contained in this structure can be
|
|
used to customize that process.<p>
|
|
*/
|
|
struct StrokeAttributes
|
|
{
|
|
/** Defines the width of the stroke, measured in user
|
|
coordinate space.
|
|
|
|
This value must be positive (or 0.0)
|
|
*/
|
|
double StrokeWidth;
|
|
|
|
|
|
/** Determines the maximal length of the diagonal in mitered
|
|
corners.<p>
|
|
|
|
This attribute is only used when
|
|
StrokeAttributes::JoinType is set to
|
|
PathJoinType::MITER. Should the length of a
|
|
corner's diagonal exceed this limit, a beveled join is used
|
|
instead. This value must be positive (or 0.0, which is
|
|
equivalent to setting
|
|
StrokeAttributes::JoinType to
|
|
PathJoinType::BEVEL.<p>
|
|
|
|
Before performing the actual comparison, implementations will
|
|
multiply the MiterLimit with the current StrokeWidth, such
|
|
that, with phi being the angle between the two joining
|
|
segments, MiterLimit=1/sin(phi/2.0).<p>
|
|
*/
|
|
double MiterLimit;
|
|
|
|
|
|
/** Array of ink on and off lengths, measured in user coordinate
|
|
space.<p>
|
|
|
|
The first element specifies the length of the first "on"
|
|
segment of the dashing, the second element the length of the
|
|
first "off" segment, and so forth. Give zero elements here for
|
|
solid strokes. This array always have an even number of
|
|
elements, with zero, as usual, counting as even
|
|
here. Furthermore, each entry in this array must have a value
|
|
that is positive (or 0.0)<p>
|
|
*/
|
|
sequence<double> DashArray;
|
|
|
|
|
|
/** Array of line widths and spacings for multiple-line
|
|
strokes.<p>
|
|
|
|
The entries here are relative to the
|
|
StrokeAttributes::StrokeWidth attribute
|
|
above, i.e. the total width of all lines and spacings will
|
|
always equal
|
|
StrokeAttributes::StrokeWidth. The first
|
|
element specifies the width of the rightmost line, when
|
|
traveling from the start point of the path to the end
|
|
point. The second element specifies the space between the
|
|
first line and the second line, and so forth. If the array
|
|
ends with a spacing, this spacing is included in the total
|
|
width of the multiple-line stroke. That is, the stroke becomes
|
|
asymmetric.<p>
|
|
*/
|
|
sequence<double> LineArray;
|
|
|
|
|
|
/** The start shape of the stroke.<p>
|
|
|
|
The start point is the first point of every polygon of the
|
|
path poly-polygon.<p>
|
|
|
|
@see PathCapType
|
|
*/
|
|
byte StartCapType;
|
|
|
|
|
|
/** The end shape of the stroke.<p>
|
|
|
|
The end point is the last point of every polygon of the path
|
|
poly-polygon.<p>
|
|
|
|
@see PathCapType
|
|
*/
|
|
byte EndCapType;
|
|
|
|
|
|
/** The join shape of the stroke.<p>
|
|
|
|
After every sub-stroke, i.e. after every line or curve segment
|
|
within a single path polygon, a shape of this type is inserted
|
|
into the stroke to glue the segments together. Please note
|
|
that distinct polygons within the path poly-polygon are not
|
|
connected, and therefore also not joined via the shape
|
|
specified here.<p>
|
|
|
|
@see PathJoinType
|
|
*/
|
|
byte JoinType;
|
|
|
|
};
|
|
|
|
}; }; }; };
|
|
|
|
#endif
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|