update dev300-m58
[ooovba.git] / offapi / com / sun / star / awt / XFont.idl
blobcc39b98196342adeb603d9f4e566713aa5d7722f
1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4 *
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: XFont.idl,v $
10 * $Revision: 1.12 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
30 #ifndef __com_sun_star_awt_XFont_idl__
31 #define __com_sun_star_awt_XFont_idl__
33 #ifndef __com_sun_star_uno_XInterface_idl__
34 #include <com/sun/star/uno/XInterface.idl>
35 #endif
37 #ifndef __com_sun_star_awt_FontDescriptor_idl__
38 #include <com/sun/star/awt/FontDescriptor.idl>
39 #endif
41 #ifndef __com_sun_star_awt_SimpleFontMetric_idl__
42 #include <com/sun/star/awt/SimpleFontMetric.idl>
43 #endif
46 //=============================================================================
48 module com { module sun { module star { module awt {
50 //=============================================================================
52 /** decribes a font on a specific device.
54 <p>All values are in pixels within this device.</p>
56 published interface XFont: com::sun::star::uno::XInterface
58 //-------------------------------------------------------------------------
60 /** returns the description of the font.
62 <p>The unit of measurement is pixels for the device.
64 com::sun::star::awt::FontDescriptor getFontDescriptor();
66 //-------------------------------------------------------------------------
68 /** returns additional information about the font.
70 com::sun::star::awt::SimpleFontMetric getFontMetric();
72 //-------------------------------------------------------------------------
74 /** returns the width of the specified character.
76 @returns
77 the character width measured in pixels for the device.
79 short getCharWidth( [in] char c );
81 //-------------------------------------------------------------------------
83 /** returns the widths of the specified characters.
85 @returns
86 a sequence of the widths of subsequent characters for this font.
88 sequence<short> getCharWidths( [in] char nFirst, [in] char nLast );
90 //-------------------------------------------------------------------------
92 /** returns the string width.
94 @returns
95 the width of the specified string of characters
96 measured in pixels for the device.
98 long getStringWidth( [in] string str );
100 //-------------------------------------------------------------------------
102 /** returns the string and the character widths.
104 @returns
105 the width of the specified string of characters
106 measured in pixels for the device.
108 @param aDXArray
109 receives the width of every single character
110 measured in pixels for the device.
112 long getStringWidthArray( [in] string str,
113 [out] sequence<long> aDXArray );
115 //-------------------------------------------------------------------------
117 /** queries the kerning pair table.
119 void getKernPairs( [out] sequence<char> Chars1,
120 [out] sequence<char> Chars2,
121 [out] sequence<short> Kerns );
125 //=============================================================================
127 }; }; }; };
129 #endif