# RendererImageFragment Class Reference

This abstract class needs to be implemented by the rendering engine to provide image fragments to Softimage. The fragment should be contained fully within the crop window given in the RenderContext object's attribute list. More...

`#include <xsi_renderercontext.h>`

List of all members.

## Public Member Functions
virtual unsigned int | GetOffsetX () const=0
virtual unsigned int | GetOffsetY () const=0
virtual unsigned int | GetWidth () const=0
virtual unsigned int | GetHeight () const=0
virtual bool | GetScanlineRGBA (unsigned int in_uiRow, siImageBitDepth in_eBitDepth, unsigned char *out_pScanline) const =0

## Detailed Description

This abstract class needs to be implemented by the rendering engine to provide image fragments to Softimage. The fragment should be contained fully within the crop window given in the RenderContext object's attribute list.

Since:
  6.01

## Member Function Documentation

virtual unsigned int GetOffsetX | ( |  | ) | const`[pure virtual]`

Returns the offset of the fragment's bottom-left corner from the left-hand side of the output frame.

Returns:
  The horizontal offset of the fragment.

virtual unsigned int GetOffsetY | ( |  | ) | const`[pure virtual]`

Returns the offset of the fragment's bottom-left corner from the bottom of the output frame.

Returns:
  The vertical offset of the fragment.

virtual unsigned int GetWidth | ( |  | ) | const`[pure virtual]`

Returns the width of the fragment in pixels.

Returns:
  The fragment's width.

virtual unsigned int GetHeight | ( |  | ) | const`[pure virtual]`

Returns the height of the fragment in pixels.

Returns:
  The fragment's height.

virtual bool GetScanlineRGBA | ( | unsigned int | in_uiRow,
|  | siImageBitDepth | in_eBitDepth,
|  | unsigned char * | out_pScanline |
| ) |  |  | const`[pure virtual]`

Returns a single fragment scanline. The row is relative to the bottom of the fragment, going up. The caller can request different bit depths of the image data. By default, siImageBitDepthInteger8 is assumed to be supported. The renderer can declare explicit bit depth support through the siRenderQueryDisplayBitDepths query code in the Query callback. The bit depth requested is the same as returned by Framebuffer::GetDisplayBitDepth, from RendererContext::GetDisplayFramebuffer.

The data is laid out in RGBA format, where the red value comes first, followed by green, then blue and finally alpha.

The scanline data buffer passed contains enough space to hold the equal to the fragment's width times four (for the RGBA components) times the bit depth divided by eight. For bit depths larger than a byte, the values should be given in little endian format.

Parameters:

  | in_uiRow | The scanline row to return, counting from the bottom of the fragment.
  | in_eBitDepth | The requested bit depth of the color components to be returned.

Return values:

  | out_pScanline | The buffer where the scanline data should be written.

Returns:
  True if the data was successfully written; false in the case of a failure (for example, unsupported bit depth, invalid row number, etc.)

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

- xsi_renderercontext.h