L_AnnGetSecondaryMetafile

Summary

Retrieves the metafile handle associated with an encryptor object when it is in the decryptor state.

Syntax

#include "l_bitmap.h"

L_LTANN_API L_INT L_AnnGetSecondaryMetafile(hObject, phMetafile)

Parameters

HANNOBJECT hObject

Handle to the annotation object.

HMETAFILE *phMetafile

Pointer to a variable to be updated with the handle to a metafile.

Returns

Value Meaning
SUCCESS The function was successful.
< 1 An error occurred. Refer to Return Codes.

Comments

The encrypt object has two states:

Each state is displayed with its own metafile.

Use this function to retrieve the current metafile for an encrypt object in a decryptor state. The default image is shown in the figure below:

image\decryptresized20.gif

If this function is successful, the address pointed to by phMetafile will be updated with the metafile handle.

Use the L_AnnGetMetafile function to retrieve the current metafile for an encrypt object in an encryptor state.

Required DLLs and Libraries

Platforms

Win32, x64.

See Also

Functions

Topics

Example

This example swaps the metafiles for the 'encrypt' and 'decrypt' state of an encryptor.

L_INT AnnGetSecondaryMetafileExample(HANNOBJECT hObject) 
{ 
   L_INT             nRet; 
   L_HMETAFILE       hMetafile1 = 0; 
   L_HMETAFILE       hMetafile2 = 0; 
   L_BOOL            bEncryptorOriginal; 
   ANNENCRYPTOPTIONS EncryptOptions; 
   L_UINT            uObjectType; 
   L_TCHAR           szMsg[200]; 
 
   nRet = L_AnnGetType(hObject, &uObjectType); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   if (uObjectType != ANNOBJECT_ENCRYPT) 
   { 
      _stprintf_s(szMsg, "Error: This object is not an encryptor."); 
      _tprintf(_T("%s"), szMsg); 
      return FAILURE; 
   } 
 
   nRet = L_AnnGetMetafile(hObject, &hMetafile1); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   nRet = L_AnnGetSecondaryMetafile(hObject, &hMetafile2); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   memset(&EncryptOptions, 0, sizeof(ANNENCRYPTOPTIONS)); 
   EncryptOptions.uStructSize = sizeof(ANNENCRYPTOPTIONS); 
   EncryptOptions.uFlags = ANNENCRYPT_ALL; 
   nRet = L_AnnGetEncryptOptions(hObject, &EncryptOptions); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   bEncryptorOriginal = EncryptOptions.bEncryptor; 
 
   // Set state to encryptor, and set encryptor metafile 
   EncryptOptions.uFlags = ANNENCRYPT_TYPE; 
   EncryptOptions.bEncryptor = L_TRUE; 
   nRet = L_AnnSetEncryptOptions(hObject, &EncryptOptions, 0); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   nRet = L_AnnSetMetafile(hObject, hMetafile2, ANNMETAFILE_USER, 0); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   // Set state to decryptor, and set decryptor metafile 
   EncryptOptions.bEncryptor = L_FALSE; 
   nRet = L_AnnSetEncryptOptions(hObject, &EncryptOptions, 0); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   nRet = L_AnnSetMetafile(hObject, hMetafile1, ANNMETAFILE_USER, 0); 
   if (nRet != SUCCESS) 
      return nRet; 
 
   // Set encryptor to original state 
   EncryptOptions.bEncryptor = bEncryptorOriginal; 
   return L_AnnSetEncryptOptions(hObject, &EncryptOptions, 0); 
} 

Help Version 22.0.2023.7.11
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.

LEADTOOLS Raster Imaging C API Help
Products | Support | Contact Us | Intellectual Property Notices
© 1991-2023 LEAD Technologies, Inc. All Rights Reserved.