Language

The Free and Open Productivity Suite
Released: Apache OpenOffice 4.1.15

API

SDK

Tips ‘n’ Tricks

Miscellaneous


:: com :: sun :: star :: rendering ::

unpublished interface XIntegerBitmap
Base Interfaces
XIntegerBitmapXIntegerReadOnlyBitmapXBitmap

XIntegerReadOnlyBitmap
(referenced interface's summary:)
This is a specialized interface for bitmaps having integer color channels. In contrast to XIntegerBitmap, this interface only permits read-only access.
Usage Restrictions
not published
Description
This is a specialized interface for bitmaps having integer color channels.

Since
OOo 2.0

Methods' Summary
setData Set raw data of a bitmap. 
setPixel Set a single pixel of the bitmap with the given color value. 
Methods' Details
setData
void
setData( [in] sequence< byte >  data,
[in] IntegerBitmapLayout  bitmapLayout,
[in] ::com::sun::star::geometry::IntegerRectangle2D  rect )
raises( ::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::lang::IndexOutOfBoundsException );

Description
Set raw data of a bitmap.

Set raw data of a bitmap, in the format as defined by getMemoryLayout(). With the given rectangle, a subset of the bitmap can be changed. If the internal data format's pixel are not integer multiples of bytes (i.e. if one pixel occupies less than a byte), the leftover content of the bytes at the right of each scanline is ignored and left unchanged in the bitmap. When setting subsets of the bitmap, the same scanline padding takes place as when the whole bitmap is changed.

When setting data on volatile bitmaps, always call isValid() before, and retrieve a new memory layout via getMemoryLayout(). At least under Windows, the memory layout can change for the same bitmap, if the user e.g. switches the screen resolution. Thus, this method will throw an IllegalArgumentException, if the memory layout changed between a call to getMemoryLayout() and setData().

Parameter data
Data to set
Parameter bitmapLayout
Layout of the data to set. Must match this bitmap's current layout.
Parameter rect
Destination rectangle, within the bounds of the bitmap, to set the data in.
Throws
com::sun::star::lang::IndexOutOfBoundsException if parts of the given rectangle are outside the permissible bitmap area.
Throws
com::sun::star::lang::IllegalArgumentException if the given memory layout does not match this bitmap's layout, or if the given data sequence has too few or too many elements.
setPixel
void
setPixel( [in] sequence< byte >  color,
[in] IntegerBitmapLayout  bitmapLayout,
[in] ::com::sun::star::geometry::IntegerPoint2D  pos )
raises( ::com::sun::star::lang::IllegalArgumentException,
::com::sun::star::lang::IndexOutOfBoundsException );

Description
Set a single pixel of the bitmap with the given color value.

If the internal data format's pixel are not integer multiples of bytes (i.e. if one pixel occupies less than a byte), the color value is expected in the least significant bits of the single byte given as the color.

When setting data on volatile bitmaps, always call isValid() before, and retrieve a new memory layout via getMemoryLayout(). At least under Windows, the memory layout can change for the same bitmap, if the user e.g. switches the screen resolution. Thus, this method will throw an IllegalArgumentException, if the memory layout changed between a call to getMemoryLayout() and setPixel().

Parameter color
The color value(s) to set
Parameter bitmapLayout
Layout of the color elements to set. Must match this bitmap's current layout.
Parameter pos
Pixel position with the bounds of the bitmap to set.
Throws
com::sun::star::lang::IndexOutOfBoundsException if the given point is outside the permissible bitmap area.
Throws
com::sun::star::lang::IllegalArgumentException if the given memory layout does not match this bitmap's layout, or if the given data sequence has too few or too many elements.
Top of Page

Apache Software Foundation

Copyright & License | Privacy | Contact Us | Donate | Thanks

Apache, OpenOffice, OpenOffice.org and the seagull logo are registered trademarks of The Apache Software Foundation. The Apache feather logo is a trademark of The Apache Software Foundation. Other names appearing on the site may be trademarks of their respective owners.