/* -*- 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_TextHit_idl__
#define __com_sun_star_rendering_TextHit_idl__

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

/** This structure contains hit information for XTextLayout.<p>

    This structure is used from the XTextLayout interface
    to transport information regarding hit tests.<p>

    @since OOo 2.0
 */
struct TextHit
{
    /** This contains the entry index.<p>

        The entry index is the index of the insertion point in the
        character sequence. The insertion point denotes positions
        <em>between</em> the actual characters in the string, and can
        thus have values ranging from 0 up to the number of characters
        in the string. Hereby, an index of 0 denotes an insertion
        position <em>before</em> the first character, and an index
        containing the number of characters denotes an insertion
        <em>behind</em> the last character.<p>
     */
    long        EntryIndex;

    /** This member denotes whether the hit was on the leading
        edge.<p>

        Each character is divided in two halves, the leading and the
        trailing part. The leading edge is the part of the glyph
        encountered first when reading text of the corresponding
        language (i.e. the leading edge of an Arabic glyph is the
        right half of it, whereas it is the left half of a Latin
        character). If the hit was on the leading edge, this member is
        set to `TRUE`.
     */
    boolean     IsLeadingEdge;
};

}; }; }; };

#endif

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