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.
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.
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.
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.
97 the width of the specified string of characters
98 measured in pixels for the device.
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 //=============================================================================
123 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */