OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

office message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Proposal: regular polygons


Drawing and presentation applications allow users to insert polygons (any number of
connected lines), but might also want to model regular polygons separately, so that
those are assured to always remain regular.

In addition to normal convex regular polygons, simply defined by a number of edges
(equal to the number of corners), this proposal also includes support for 
regular concave polygons, star-shaped, as in the attached screenshot.
Such polygons are defined by a number of corners, and a "sharpness" percentage.
If set to 100% the inwards-going edges reach the center of the polygon.
At 50% they are located on a circle of radius half the radius of the polygon, etc.

(To define the general case one could say the additional corners are located on a 
circle whose radius is polygonradius * (100-sharpness) / 100)

RelaxNG schema:

Adding <ref name="draw-regular-polygon"/> to the "shape" define.

<define name="draw-regular-polygon">
    <element name="draw:regular-polygon">
        <optional>
            <attribute name="draw:concave">
                <ref name="boolean"/>
            </attribute>
        </optional>
        <optional>
            <attribute name="draw:corners">
                <ref name="positiveInteger"/>
            </attribute>
        </optional>
        <optional>
            <attribute name="draw:sharpness">
                <ref name="percent"/>
            </attribute>
        </optional>
        <ref name="common-draw-position-attlist"/>
        <ref name="common-draw-size-attlist"/>
        <ref name="common-draw-viewbox-attlist"/>
        <ref name="common-draw-shape-with-text-and-styles-attlist"/>
        <optional>
            <ref name="office-event-listeners"/>
        </optional>
        <zeroOrMore>
            <ref name="draw-glue-point"/>
        </zeroOrMore>
        <ref name="draw-text"/>
    </element>
</define>


-- 
David Faure, faure@kde.org, sponsored by Trolltech to work on KDE,
Konqueror (http://www.konqueror.org), and KOffice (http://www.koffice.org).

regular-polygon.png



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]