LibreOffice: XIntegerBitmap Interface Reference

LibreOffice LibreOffice 5.2 SDK API Reference

Public Member Functions | List of all members
XIntegerBitmap Interface Reference

This is a specialized interface for bitmaps having integer color channels. More...

`import"XIntegerBitmap.idl";`

Inheritance diagram for XIntegerBitmap:

## Public Member Functions
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)
| Set raw data of a bitmap. More...
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)
| Set a single pixel of the bitmap with the given color value. More...
Public Member Functions inherited from XIntegerReadOnlyBitmap
sequence< byte > | getData ([out] IntegerBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerRectangle2D rect) raises (com::sun::star::lang::IndexOutOfBoundsException, VolatileContentDestroyedException)
| Query the raw data of this bitmap. More...
sequence< byte > | getPixel ([out] IntegerBitmapLayout bitmapLayout, [in] ::com::sun::star::geometry::IntegerPoint2D pos) raises (com::sun::star::lang::IndexOutOfBoundsException, VolatileContentDestroyedException)
| Get a single pixel of the bitmap, returning its color value. More...
IntegerBitmapLayout | getMemoryLayout ()
| Query the memory layout for this bitmap. More...
Public Member Functions inherited from XBitmap
::com::sun::star::geometry::IntegerSize2D | getSize ()
| Query the size of the bitmap. More...
boolean | hasAlpha ()
| Query transparency status of the bitmap. More...
XBitmap | getScaledBitmap ([in] ::com::sun::star::geometry::RealSize2D newSize, [in] boolean beFast) raises (com::sun::star::lang::IllegalArgumentException, VolatileContentDestroyedException)
| Query a scaled copy of the original bitmap. More...
Public Member Functions inherited from XInterface
any | queryInterface ([in] type aType)
| queries for a new interface to an existing UNO object. More...
void | acquire ()
| increases the reference counter by one. More...
void | release ()
| decreases the reference counter by one. More...

## Detailed Description

This is a specialized interface for bitmaps having integer color channels.

Since
  OOo 2.0

## Member Function Documentation

## § 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
| ) |  |

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().

Parameters

  data | Data to set
  bitmapLayout | Layout of the data to set. Must match this bitmap's current layout.
  rect | Destination rectangle, within the bounds of the bitmap, to set the data in.

Exceptions

  com::sun::star::lang::IndexOutOfBoundsException | if parts of the given rectangle are outside the permissible bitmap area.
  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
| ) |  |

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().

Parameters

  color | The color value(s) to set
  bitmapLayout | Layout of the color elements to set. Must match this bitmap's current layout.
  pos | Pixel position with the bounds of the bitmap to set.

Exceptions

  com::sun::star::lang::IndexOutOfBoundsException | if the given point is outside the permissible bitmap area.
  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.

The documentation for this interface was generated from the following file:

- com/sun/star/rendering/XIntegerBitmap.idl