Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / util / XStringAbbreviation.idl
blob686bbc0deea5703782f24e191318543e1865cc03
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
20 #ifndef __com_sun_star_util_XStringAbbreviation_idl__
21 #define __com_sun_star_util_XStringAbbreviation_idl__
23 #include <com/sun/star/uno/XInterface.idl>
25 module com { module sun { module star { module util {
26 published interface XStringWidth;
27 }; }; }; };
29 module com { module sun { module star { module util {
31 /** Abbreviate arbitrary strings.
33 <p>It is expected that there will be different implementations of this
34 interface, that each expect strings conforming to a certain structure
35 (e.g., URIs, platform-specific file paths, or newsgroup names). The
36 abbreviation algorithms will then take into account the structural
37 information.</p>
39 @see XStringWidth
41 published interface XStringAbbreviation: com::sun::star::uno::XInterface
43 /** Abbreviate a string, so that the resulting abbreviated string is not
44 wider than some given width.
46 <p>The width of a string is an abstract concept here, measured via
47 an XStringWidth interface. Examples are the number of
48 characters in the string (XStringWidth will measure the
49 string's length), or the width in pixel when displayed with a specific
50 font (which XStringWidth would encapsulate).</p>
52 @param xStringWidth
53 The interface that makes concrete the abstract notion of string width.
55 @param nWidth
56 The resulting abbreviated string's width will be no larger than this.
58 @param aString
59 The string that is abbreviated.
61 @returns
62 an abbreviated string.
64 string abbreviateString([in] XStringWidth xStringWidth,
65 [in] long nWidth,
66 [in] string aString);
69 }; }; }; };
71 #endif
73 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */