/* -*- 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_FillRule_idl__
#define __com_sun_star_rendering_FillRule_idl__

module com { module sun { module star { module rendering {

/** Determines which algorithm to use when determining inside and
    outside of filled poly-polygons.

    @since OOo 2.0
 */
enum FillRule
{
    /** Fill every area, where, when traveling along a line, the
        summed winding number (that is, -1 for a
        counter-clockwise-oriented polygon, and +1 for a
        clockwise-oriented) is non-zero.<p>

        For example, a poly-polygon consisting of two concentric
        circles with similar orientation is filled the same way as if
        only the outer circle would exist. If both have opposite
        orientation, then the filled representation looks the same as
        if filled with the EVEN_ODD fill rule.<p>
     */
    NON_ZERO,


    /** Fill every area, where, when traveling along a line, an
        uneven number of intersections with polygon edges have
        happened.<p>
     */
    EVEN_ODD
};

}; }; }; };

#endif

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