Version 5.2.6.1, tag libreoffice-5.2.6.1
[LibreOffice.git] / offapi / com / sun / star / rendering / XHalfFloatBitmap.idl
blobb3583a3c1b1ec97b20abe26fd5f2f715ba7ffe66
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_XHalfFloatBitmap_idl__
20 #define __com_sun_star_rendering_XHalfFloatBitmap_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/XHalfFloatReadOnlyBitmap.idl>
28 #include <com/sun/star/rendering/VolatileContentDestroyedException.idl>
30 module com { module sun { module star { module rendering {
32 /** Specialized interface for bitmaps containing half floats as their
33 color components.<p>
35 Half floats are 16 bit wide, and newer GPUs already have them as
36 supported frame buffer format.
38 interface XHalfFloatBitmap : XHalfFloatReadOnlyBitmap
41 /** Set raw data of a bitmap.<p>
43 Set raw data of a bitmap, in the format as defined by
44 getMemoryLayout(). With the given rectangle, a subset of the
45 bitmap can be changed. When setting subsets of the bitmap, the
46 same scanline padding takes place as when the whole bitmap is
47 changed.<p>
50 void setData( [in] sequence<short> data, [in] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerRectangle2D rect )
51 raises (com::sun::star::lang::IllegalArgumentException,
52 com::sun::star::lang::IndexOutOfBoundsException);
55 /** Set a single pixel of the bitmap with the given color
56 value.<p>
58 When setting data on volatile bitmaps, always call isValid()
59 before, and retrieve a new memory layout via
60 getMemoryLayout(). At least under Windows, the memory layout
61 can change for the same bitmap, if the user e.g. switches the
62 screen resolution. Thus, this method will throw an
63 IllegalArgumentException, if the memory layout changed between
64 a call to getMemoryLayout() and setData().<p>
66 void setPixel( [in] sequence<short> color, [in] FloatingPointBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerPoint2D pos )
67 raises (com::sun::star::lang::IllegalArgumentException,
68 com::sun::star::lang::IndexOutOfBoundsException);
71 }; }; }; };
73 #endif
75 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */