This function creates a new global named block, or replaces an existing one.
Declaration:
Copy Code | |
---|---|
AT_ERRCOUNT ART_global_block_create( HIGEAR hIGear, const LPART_BLOCK_NAME lpBlockName, const LPVOID lpBlockData, DWORD dwBlockSize ); |
Arguments:
Name | Type | Description |
hIGear | HIGEAR | HIGEAR handle to the image. |
lpBlockName | const LPART_BLOCK_NAME | A far pointer to an 8 byte array of memory into which you set the type of block to create. The block type will be either an ART-defined constant beginning with ART_BLOCK_ or a user defined block. See ARTAPI.H for the full list of ART-defined constants. |
lpBlockData | const LPVOID | A far pointer of type VOID which points to the block data. |
dwBlockSize | DWORD | The size of lpBlockData, in bytes. |
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 | |
---|---|
/* set the block size */ dwBlockSize = sizeof(ART_ARROW) + sizeof(AT_POINT); /* allocate memory for the arrow structure */ lpArrow = (LPART_ARROW)alloca((UINT)dwBlockSize); /* initialize to zero */ memset(lpArrow, 0, (UINT)dwBlockSize); lpArrow->lArrowType = ART_ARROW_POINTER; lpArrow->lArrowEnd = 0; lpArrow->lArrowAngle = 15; lpArrow->lArrowLength = 25; /* create the named block and associate */ /* it with this mark */ ART_global_block_create(hIGear, ART_BLOCK_ANODAT, lpArrow, dwBlockSize); break; |
Remarks:
If a block of type lpBlockName exists, it is replaced by the new one. The block data pointed to by lpBlockData is copied into the new named block.
Unlike mark named blocks, which are associated with an individual mark, global named blocks are not associated with any mark - they act as default settings for the next created mark. When a new mark is created, some of its named blocks are created from the global named blocks.
You may create your own global named blocks to store user-defined data. |
An error is set if any of the following conditions are met:
- hIGear does not reference a valid ImageGear handle.
- lpBlockName does not point to a valid address.
- lpBlockData does not point to a valid address.
- There is not enough memory to allocate dwBlockSize bytes of memory.