| MIL 10 Reference
| Customize Help
| Save Settings

MgraRectFill



See also
Availability
Available in MIL-Lite
Available in MIL

Available on Windows
Available on Linux

Available on Non-Matrox computer
Available on Matrox 4Sight-X
Available on Matrox 4Sight GP
Available on Matrox Supersight
function map Function map
Examples
Synopsis
Draw a filled rectangle in an image without rotation, or add it to a graphics list.
Syntax
void MgraRectFill(
MIL_ID ContextGraId, //in
MIL_ID DstImageBufOrListGraId, //in
MIL_DOUBLE XStart, //in
MIL_DOUBLE YStart, //in
MIL_DOUBLE XEnd, //in
MIL_DOUBLE YEnd //in
)
Description

This function draws a filled rectangle destructively (raster-based) in the specified image. Alternatively, this function can add a vector-based version of a filled rectangle to the specified graphics list, allowing you to, for example, non-destructively annotate a display without pixelation effects upon scaling. Note that the rectangle is filled with the specified foreground color (MgraControl() or MgraControlList() with M_COLOR).

The filled rectangle is created from the top-left corner (XStart, YStart) to the bottom-right corner (XEnd, YEnd). The filled rectangle inherits all the relevant settings of the specified graphics context, such as the foreground color (see MgraAlloc() for default context settings). If part of the filled rectangle falls outside of the specified area (image or display), that part is clipped off.

To modify or inquire graphics context settings, use MgraControl() or MgraInquire(). To modify or inquire graphics list settings, use MgraControlList() or MgraInquireList().

A filled rectangle's coordinates are interpreted with respect to the input coordinate system, specified using MgraControl() or MgraControlList() with M_INPUT_UNITS. Note that if you set your input coordinate system to M_WORLD and you pass MgraRectFill() an uncalibrated image, the function will generate an error.

To create a rectangle that is not filled, use MgraRect(). To create a rectangle that can be optionally filled and rotated, use MgraRectAngle().

Unlike most other functions that modify a MIL object, you can call this function concurrently from multiple threads on the same MIL graphics list (DstImageBufOrListGraId) without using an M_MUTEX object, as long as all the other parameters of the concurrent calls do not also share data.

When compiling C code in 64-bit mode, MgraRectFill() internally calls the MIL_INT64 version of this function (MgraRectFillInt64()). If you need to pass floating-point values, call the MIL_DOUBLE version of this function (MgraRectFillDouble()).
Note that this function reference has not been updated for a MIL system added during a MIL update. Refer to the MIL system's release note to see if there is complementary information.
Parameters
This function is not supported on the selected boards.
Parameters
ContextGraId

Specifies the identifier of the graphics context. This parameter must be set to one of the following values:

function map For specifying the graphics context
CollapseValue Description
Collapse M_DEFAULT

Specifies that the default graphics context of the current MIL application is used.

Note that there is a different default graphics context for each thread.

(summarize)
Collapse MIL graphics context identifier

Specifies a valid graphics context identifier, which you have allocated using MgraAlloc().

DstImageBufOrListGraId

Specifies the identifier of a valid image buffer in which to draw the filled rectangle or the identifier of a valid graphics list in which to add the filled rectangle. You must have allocated the image buffer or the graphics list using MbufAlloc...() or MgraAllocList(), respectively.

This image buffer must not have a region of interest (ROI) associated with it. Using an image buffer with an ROI will cause an error.

XStart

Specifies the X-coordinate of the top-left corner of the filled rectangle in the input coordinate system.

YStart

Specifies the Y-coordinate of the top-left corner of the filled rectangle in the input coordinate system.

XEnd

Specifies the X-coordinate of the bottom-right corner of the filled rectangle in the input coordinate system.

YEnd

Specifies the Y-coordinate of the bottom-right corner of the filled rectangle in the input coordinate system.

Type-specific versions of the function
void MgraRectFillDouble (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_DOUBLE XStart, MIL_DOUBLE YStart, MIL_DOUBLE XEnd, MIL_DOUBLE YEnd)
Parameters

ContextGraId

See ContextGraId of the main function for a description.

DstImageBufOrListGraId

See DstImageBufOrListGraId of the main function for a description.

XStart

See XStart of the main function for a description.

YStart

See YStart of the main function for a description.

XEnd

See XEnd of the main function for a description.

YEnd

See YEnd of the main function for a description.

void MgraRectFillInt64 (MIL_ID ContextGraId, MIL_ID DstImageBufOrListGraId, MIL_INT64 XStart, MIL_INT64 YStart, MIL_INT64 XEnd, MIL_INT64 YEnd)
Parameters

ContextGraId

See ContextGraId of the main function for a description.

DstImageBufOrListGraId

See DstImageBufOrListGraId of the main function for a description.

XStart

See XStart of the main function for a description.

YStart

See YStart of the main function for a description.

XEnd

See XEnd of the main function for a description.

YEnd

See YEnd of the main function for a description.

Compilation information
Header Include mil.h.
Library Use mil.lib.
DLL Requires mil.dll.
DEFAULT NONE