This function copies an array of marks and places them on the clipboard.
Declaration:
|
Copy Code
|
AT_ERRCOUNT ART_edit_copy(
HIGEAR hIGear,
LPART_MARK_INDEX lpMarkIndex,
DWORD dwMarkCount
);
|
Arguments:
Name |
Type |
Description |
hIGear |
HIGEAR |
HIGEAR handle to the image. |
lpMarkIndex |
LPART_MARK_INDEX |
A far pointer to an array list of mark identifiers. |
dwMarkCount |
DWORD |
A variable of type DWORD which tells ART the number of marks to copy to the clipboard. This number indicates the number of mark indexes in the lpMarkIndex array. |
Return Value:
Returns the number of ImageGear errors that occurred during the function call.
Supported Raster Image Formats:
All pixel formats supported by ImageGear for C and C++.
Sample:
Annotation
Example:
|
Copy Code
|
HIGEAR hIGear; /* HIGEAR handle of image */
ERRCOUNT nErrcount; /* tally of IG errors on the */
/* stack */
ART_MARK_INDEX lpMarkIndex; /* number of mark(s) */
/* to copy toclipboard */
DWORD dwMarkCount; /* # of marks that have been */
/* selected */
HGLOBAL hGlobal; /* Windows handle to memory */
/* area */
. . .
case ID_EDIT_COPY:
nErrcount = ART_mark_select_count(hIGear,
&dwMarkCount);
hGlobal = GlobalAlloc(GMEM_MOVEABLE, dwMarkCount *
sizeof(ART_MARK_INDEX));
lpMarkIndex=(LPART_MARK_INDEX)GlobalLock(hGlobal);
nErrcount =
ART_mark_selected_first(hIGear,lpMarkIndex);
for (i = 1; i < (INT)dwMarkCount; i++)
{
lpMarkIndex[i] = lpMarkIndex[i - 1];
nErrcount = ART_mark_selected_next(hIGear,
lpMarkIndex + i);
}
nErrcount = ART_edit_copy(hIGear, lpMarkIndex,
dwMarkCount);
GlobalUnlock(hGlobal);
GlobalFree(hGlobal);
break;
|
Remarks:
An error is set if any of the following conditions are met:
- hIGear does not reference a valid ImageGear handle.
- The memory pointed to by lpMarkIndex is invalid.
- One or more of the indexes in lpMarkIndex is not valid.