/* -*- 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_accessibility_TextSegment_idl__ #define __com_sun_star_accessibility_TextSegment_idl__ module com { module sun { module star { module accessibility { /** This structure describes a text segment that is embedded in a larger portion of text. It is used for example by the XAccessibleText interface to describe a text portion that was inserted into or deleted from an accessible text.

The indices TextSegment::SegmentStart and TextSegment::SegmentEnd refer to the enclosing text. The TextSegment::SegmentText member contains the text between these two indices including the start index but not the end index. With it you can use this structure without having to access the XAccessibleText interface that represents the enclosing text.

An empty text segment is expressed by TextSegment::SegmentStart and TextSegment::SegmentEnd set to the same value. While a value of -1 signals an error (like the request for a word after the last character of a text) all other values define the empty string at that position.

The #SegmentText member is a copy of the corresponding text segment of the enclosing text. Modifying this structure does not alter the enclosing text.

@see XAccessibleText @since OOo 1.1.2 */ struct TextSegment { /** A copy of the text segment of the enclosing text delimited by the text indices TextSegment::SegmentStart and TextSegment::SegmentEnd. Modifying it does not alter the enclosing text. */ string SegmentText; /** Index of the first character of the text segment represented by this structure. The index refers to the enclosing text. */ long SegmentStart; /** Index of the character directly behind the last character of the text segment represented by this structure. The index refers to the enclosing text. */ long SegmentEnd; }; }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */