OnToolChangeBlockRegion Method of the IImageViewerEvents Interface
This method is implemented on the client-side. It is called by ABBYY FineReader Engine, before changing a region of the block that has been modified with the help of one of the following tools of Image Viewer:
- Add Block Part (MI_ChooseTool_AddBlockPart)
- Cut Block Part (MI_ChooseTool_CutBlockPart)
See the description of the Image Viewer Commands to know how these tools can be selected.
It delivers to the client information on the blocks the regions of which have been changed, and the new region of the resulting block. The method is called for each resulting block. For example, if two regions have been merged to one block, the method is called only once. If regions of two blocks have been cut using a tool, the method is called twice. If a block has been deleted using a tool, the method is not called. With the help of this method it is possible to cancel the operation.
Syntax
C++
HRESULT OnToolChangeBlockRegion( IIntsCollection* BlocksToChange, IRegion* NewRegion, VARIANT_BOOL* Cancel );
C#
void OnToolChangeBlockRegion( IIntsCollection BlocksToChange, IRegion NewRegion, out bool Cancel );
Visual Basic .NET
Sub OnToolChangeBlockRegion( _ BlocksToChange As IIntsCollection, _ _ NewRegion As IRegion, _ ByRef Cancel As Boolean _ )
Parameters
- BlocksToChange
- [in] Contains the indices of the changed blocks as the IntsCollection object. The collection contains more than one element only if several blocks have been merged to one block.
- NewRegion
- [in] Contains the new region of the resulting block as the Region object.
- Cancel
- [out] You may set this variable to TRUE to indicate that the process should be terminated. In this case, regions of the blocks will not be changed.
Return values
[C++ only] If this method returns a value other than S_OK, it indicates that an error occurred on the client-side, and in this case the value of the Cancel parameter is not taken into account.
Remarks
The client implementation of this method must assure that all exceptions thrown inside the method are caught and handled and no exceptions are propagated outside the method. Propagation of an exception outside the method may lead to unpredictable results (such as program termination).
See also
17.09.2024 15:14:41