Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / rendering / XIeeeFloatBitmap.idl
blob92a1547f1be88087f8a7a3b302eea851bf5618c0
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 .
19 #ifndef __com_sun_star_rendering_XIeeeFloatBitmap_idl__
20 #define __com_sun_star_rendering_XIeeeFloatBitmap_idl__
22 #include <com/sun/star/lang/IllegalArgumentException.idl>
23 #include <com/sun/star/lang/IndexOutOfBoundsException.idl>
24 #include <com/sun/star/rendering/FloatingPointBitmapLayout.idl>
25 #include <com/sun/star/geometry/IntegerPoint2D.idl>
26 #include <com/sun/star/geometry/IntegerRectangle2D.idl>
27 #include <com/sun/star/rendering/XIeeeFloatReadOnlyBitmap.idl>
28 #include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
31 module com { module sun { module star { module rendering {
33 /** Specialized interface for bitmaps containing IEEE floats as their
34 color components.<p>
36 interface XIeeeFloatBitmap : XIeeeFloatReadOnlyBitmap
39 /** Set raw data of a bitmap.<p>
41 Set raw data of a bitmap, in the format as defined by
42 getMemoryLayout(). With the given rectangle, a subset of the
43 bitmap can be changed. When setting subsets of the bitmap, the
44 same scanline padding takes place as when the whole bitmap is
45 changed.<p>
47 When setting data on volatile bitmaps, always call isValid()
48 before, and retrieve a new memory layout via
49 getMemoryLayout(). At least under Windows, the memory layout
50 can change for the same bitmap, if the user e.g. switches the
51 screen resolution. Thus, this method will throw an
52 IllegalArgumentException, if the memory layout changed between
53 a call to getMemoryLayout() and setData().<p>
55 @param data
56 Data to set
58 @param bitmapLayout
59 Layout of the data to set. Must match this bitmap's current
60 layout.
62 @param rect
63 Destination rectangle, within the bounds of the bitmap, to set
64 the data in.
66 @throws com::sun::star::lang::IndexOutOfBoundsException
67 if parts of the given rectangle are outside the permissible
68 bitmap area.
70 @throws com::sun::star::lang::IllegalArgumentException
71 if the given memory layout does not match this bitmap's
72 layout, or if the given data sequence has too few or too much
73 elements.
75 void setData( [in] sequence<float> data, [in] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerRectangle2D rect )
76 raises (com::sun::star::lang::IllegalArgumentException,
77 com::sun::star::lang::IndexOutOfBoundsException);
80 /** Set a single pixel of the bitmap with the given color
81 value.<p>
83 When setting data on volatile bitmaps, always call isValid()
84 before, and retrieve a new memory layout via
85 getMemoryLayout(). At least under Windows, the memory layout
86 can change for the same bitmap, if the user e.g. switches the
87 screen resolution. Thus, this method will throw an
88 IllegalArgumentException, if the memory layout changed between
89 a call to getMemoryLayout() and setPixel().<p>
91 @param color
92 The color value(s) to set
94 @param bitmapLayout
95 Layout of the color elements to set. Must match this bitmap's
96 current layout.
98 @param pos
99 Pixel position with the bounds of the bitmap to set.
101 @throws com::sun::star::lang::IndexOutOfBoundsException
102 if the given point is outside the permissible bitmap area.
104 @throws com::sun::star::lang::IllegalArgumentException
105 if the given memory layout does not match this bitmap's
106 layout, or if the given data sequence has too few or too much
107 elements.
109 void setPixel( [in] sequence<float> color, [in] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerPoint2D pos )
110 raises (com::sun::star::lang::IllegalArgumentException,
111 com::sun::star::lang::IndexOutOfBoundsException);
114 }; }; }; };
116 #endif
118 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */