summaryrefslogtreecommitdiff
path: root/offapi/com/sun/star/awt/XDevice.idl
blob: ab5cf8ebafe28ce59a0382ef05dc2bb2c089fb9a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*************************************************************************
 *
 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
 *
 * Copyright 2008 by Sun Microsystems, Inc.
 *
 * OpenOffice.org - a multi-platform office productivity suite
 *
 * $RCSfile: XDevice.idl,v $
 * $Revision: 1.13 $
 *
 * This file is part of OpenOffice.org.
 *
 * OpenOffice.org is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Lesser General Public License version 3
 * only, as published by the Free Software Foundation.
 *
 * OpenOffice.org is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License version 3 for more details
 * (a copy is included in the LICENSE file that accompanied this code).
 *
 * You should have received a copy of the GNU Lesser General Public License
 * version 3 along with OpenOffice.org.  If not, see
 * <http://www.openoffice.org/license.html>
 * for a copy of the LGPLv3 License.
 *
 ************************************************************************/
#ifndef __com_sun_star_awt_XDevice_idl__
#define __com_sun_star_awt_XDevice_idl__

#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif

#ifndef __com_sun_star_awt_DeviceInfo_idl__
#include <com/sun/star/awt/DeviceInfo.idl>
#endif

#ifndef __com_sun_star_awt_FontDescriptor_idl__
#include <com/sun/star/awt/FontDescriptor.idl>
#endif

//=============================================================================

 module com {  module sun {  module star {  module awt {

 published interface XGraphics;
 published interface XFont;
 published interface XBitmap;
 published interface XDisplayBitmap;

//=============================================================================

/** provides information about a graphical output device and
    offers a factory for the <em>graphics</em> which provides write
    operations on the device.
 */
published interface XDevice: com::sun::star::uno::XInterface
{
    //-------------------------------------------------------------------------

    /** creates a new graphics whose output operation is directed to this
        device.
     */
    XGraphics createGraphics();

    //-------------------------------------------------------------------------

    /** creates a new device which is compatible with this one.

        <p>If the device does not support the GETBITS device capability,
        this method returns <NULL/>.</p>
     */
    XDevice createDevice( [in] long nWidth,
             [in] long nHeight );

    //-------------------------------------------------------------------------

    /** returns information about the device.
     */
    com::sun::star::awt::DeviceInfo getInfo();

    //-------------------------------------------------------------------------

    /** returns the list of available font descriptors.
     */
    sequence<FontDescriptor> getFontDescriptors();

    //-------------------------------------------------------------------------

    /** returns information about a font offered by this device.

        @returns the font of this device.

        @param aDescriptor
        specifies the description of a font.
        The unit of measure is pixel for this device.
     */
    com::sun::star::awt::XFont getFont( [in] FontDescriptor aDescriptor );

    //-------------------------------------------------------------------------

    /** creates a bitmap with the current device depth.

        <p>If the specified area does not lie entirely in the device, the bits
        outside are not specified.</p>
     */
    XBitmap createBitmap( [in] long nX,
             [in] long nY,
             [in] long nWidth,
             [in] long nHeight );

    //-------------------------------------------------------------------------

    /** creates a device compatible bitmap.

        <p>The data of the bitmap is in process memory instead of in the device,
        so that the output operation is fast.</p>
     */
    XDisplayBitmap createDisplayBitmap( [in] XBitmap Bitmap );

};

//=============================================================================

}; }; }; };

#endif