This function returns all mark indexes that are within the rectangle specified by lpRect.
Declaration:
Copy Code | |
---|---|
AT_ERRCOUNT ART_GUI_mark_hit_test(
HIGEAR hIGear,
HWND hWnd,
DWORD dwGrpID,
const LPAT_RECT lpRect,
LPART_MARK_INDEX lpMarkIndex,
DWORD dwMarkCount,
LPDWORD lpMarkCount,
LPAT_MODE lpResizeBox,
LPDWORD lpBoxIndex
);
|
Arguments:
Name | Type | Description |
hIGear | HIGEAR | HIGEAR handle to the image. |
hWnd | HWND | HWND handle to the window. |
dwGrpID | DWORD | Identifier of group. |
lpRect | const LPAT_RECT | Far pointer to an AT_RECT struct specifying the rectangular portion of image to search for marks. |
lpMarkIndex | LPART_MARK_INDEX | A far pointer returning the indexes. |
dwMarkCount | DWORD | The amount of memory available for returned marks. |
lpMarkCount | LPDWORD | The number of marks actually returned. |
lpResizeBox | LPAT_MODE | A far pointer to a defined constant of type AT_MODE, only used if the rectangle lpRect is an individual point and is over a resize handle. |
lpBoxIndex | LPDWORD | A far pointer to the index of the resize handle, or NULL if the return value is not needed. |
Return Value:
Returns the number of ImageGear errors that occurred during the function call.
Supported Raster Image Formats:
All pixel formats supported by ImageGear Professional.
Sample:
Annotation
Example:
Copy Code | |
---|---|
HIGEAR hIGear; /* HIGEAR handle of */ /* image */ AT_ERRCOUNT nErrcount; /* Tally of IG errors on */ /* stack */ AT_RECT MarkRect; /* Region of image to */ /* query */ ART_MARK_INDEX MarkIndexes; /* Array of mark indexes */ DWORD MarkCount; /* Space available for */ /* marks or # of marks */ AT_MODE lpResizeBox; /* Handle to resize box, */ /* if there is one */ AT_DIMENSION nWidth, /* Original width and */ /* height */ nHeight; UINT nBpp; /* Bits per pixel */ /* (not used) */ AT_DIMENSION nHalfWidth, /* Will hold half the */ /* width */ nHalfHeight; /* and half the height */ HWND HWnd; DWORD dwGrpID; /* Set rectangle to half the size of the image, centered */ if ( IG_image_is_valid (hIGear) ) { IG_image_dimensions_get ( &hIGear, &nWidth, &nHeight, &nBpp ); nHalfWidth = nWidth / 2; nHalfHeight = nHeight / 2; MarkRect.left = nHalfWidth / 2; MarkRect.right = MarkRect.left + nHalfWidth - 1; MarkRect.top = nHalfHeight / 2; MarkRect.bottom = MarkRect.top + nHalfHeight - 1; dwGrpID = IG_GRP_DEFAULT; nErrcount = ART_GUI_mark_hit_test(hIGear, hWnd, dwGroupID, &MarkRect, &MarkIndexes, MarkCount, &MarkCount, &lpResizeBox, &lpBoxIndex); } |
Remarks:
The rectangle represents screen coordinates.
There is some variation in what is returned:
- If the coordinates passed to lpRect define a point - in other words, the left and top are equal to the right and bottom:
- and the point is over a mark, the mark will be returned.
- and the point is over a resize box, an identifier indicating which resize box the point is over is returned.
- If the resize box is part of a line, free-hand line, polyline, polygon, or arrow, the index of the resize box is also returned.