Bump for 3.6-28
[LibreOffice.git] / offapi / com / sun / star / awt / XFont.idl
blob55a311f8a579aa4edd018c8204b4377794b0d765
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*************************************************************************
4 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 * Copyright 2000, 2010 Oracle and/or its affiliates.
8 * OpenOffice.org - a multi-platform office productivity suite
10 * This file is part of OpenOffice.org.
12 * OpenOffice.org is free software: you can redistribute it and/or modify
13 * it under the terms of the GNU Lesser General Public License version 3
14 * only, as published by the Free Software Foundation.
16 * OpenOffice.org is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19 * GNU Lesser General Public License version 3 for more details
20 * (a copy is included in the LICENSE file that accompanied this code).
22 * You should have received a copy of the GNU Lesser General Public License
23 * version 3 along with OpenOffice.org. If not, see
24 * <http://www.openoffice.org/license.html>
25 * for a copy of the LGPLv3 License.
27 ************************************************************************/
28 #ifndef __com_sun_star_awt_XFont_idl__
29 #define __com_sun_star_awt_XFont_idl__
31 #include <com/sun/star/uno/XInterface.idl>
33 #include <com/sun/star/awt/FontDescriptor.idl>
35 #include <com/sun/star/awt/SimpleFontMetric.idl>
38 //=============================================================================
40 module com { module sun { module star { module awt {
42 //=============================================================================
44 /** describes a font on a specific device.
46 <p>All values are in pixels within this device.</p>
48 published interface XFont: com::sun::star::uno::XInterface
50 //-------------------------------------------------------------------------
52 /** returns the description of the font.
54 <p>The unit of measurement is pixels for the device.
56 com::sun::star::awt::FontDescriptor getFontDescriptor();
58 //-------------------------------------------------------------------------
60 /** returns additional information about the font.
62 com::sun::star::awt::SimpleFontMetric getFontMetric();
64 //-------------------------------------------------------------------------
66 /** returns the width of the specified character.
68 @returns
69 the character width measured in pixels for the device.
71 short getCharWidth( [in] char c );
73 //-------------------------------------------------------------------------
75 /** returns the widths of the specified characters.
77 @returns
78 a sequence of the widths of subsequent characters for this font.
80 sequence<short> getCharWidths( [in] char nFirst, [in] char nLast );
82 //-------------------------------------------------------------------------
84 /** returns the string width.
86 @returns
87 the width of the specified string of characters
88 measured in pixels for the device.
90 long getStringWidth( [in] string str );
92 //-------------------------------------------------------------------------
94 /** returns the string and the character widths.
96 @returns
97 the width of the specified string of characters
98 measured in pixels for the device.
100 @param aDXArray
101 receives the width of every single character
102 measured in pixels for the device.
104 long getStringWidthArray( [in] string str,
105 [out] sequence<long> aDXArray );
107 //-------------------------------------------------------------------------
109 /** queries the kerning pair table.
111 void getKernPairs( [out] sequence<char> Chars1,
112 [out] sequence<char> Chars2,
113 [out] sequence<short> Kerns );
117 //=============================================================================
119 }; }; }; };
121 #endif
123 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */