Skip to main content

MbufControlArea

Control a specified area of a buffer.

Syntax

void MbufControlArea(
AIL_ID BufId, //out
AIL_INT OffsetX, //in
AIL_INT OffsetY, //in
AIL_INT SizeX, //in
AIL_INT SizeY, //in
AIL_INT Band, //in
AIL_INT64 ControlType, //in
AIL_DOUBLE ControlValue //in
)

Description

This function allows you to control a specified area of a buffer.

Parameters

BufId (out, AIL_ID)

Specifies the identifier of the buffer to control.

OffsetX (in, AIL_INT)

Specifies the horizontal pixel offset of the area.

OffsetY (in, AIL_INT)

Specifies the vertical pixel offset of the area.

SizeX (in, AIL_INT)

Specifies the width of the area, in pixels.

SizeY (in, AIL_INT)

Specifies the height of the area, in pixels.

Band (in, AIL_INT)

Specifies the band of the area. This parameter can be set to one of the following values.

For the band of the area

ValueDescription
M_DEFAULT
M_ALL_BANDS (default)Specifies all bands (for multi-band buffers).
M_BLUESpecifies the blue color band (for RGB buffers).
M_GREENSpecifies the green color band (for RGB buffers).
M_REDSpecifies the red color band (for RGB buffers).
0 <= Value < #bandsSpecifies the index of the band.

The relationship between index value and band for RGB, HSL, HSV, and YUV buffers is the following:

0Corresponds to the red band for RGB buffers, the hue band for HSL and HSV buffers, or the Y band for YUV buffers.
1Corresponds to the green band for RGB buffers, or the saturation band for HSL and HSV buffers, or the U band for YUV buffers.
2Corresponds to the blue band for RGB buffers, or the luminance band for HSL buffers, or the V band for YUV and HSV buffers.

ControlType (in, AIL_INT64)

Specifies the type of buffer setting to control.

ControlValue (in, AIL_DOUBLE)

Specifies the value required for the setting.

Parameter Associations

For the buffer settings


M_MODIFIED

Signals Aurora Imaging Library that the content in the specified area of the buffer was modified without using Aurora Imaging Library. This control should be used to ensure that Aurora Imaging Library updates its internal information on this area of the buffer. For example, if an area of a buffer that is selected on a display is modified using a pointer to its memory, the display will not be updated automatically. You should use this control type to force a display update of this area. Note that this setting does the same thing as using MbufControl with M_MODIFIED, but it is faster because it updates a specific area of the buffer, instead of updating the whole buffer. This setting increments the buffer's modification counter. You can inquire about the counter's current value using MbufInquire with M_MODIFICATION_COUNT.

ValueDescription
M_DEFAULT (default)Implements the default behavior.
Copyright © 2026 Zebra Technologies.